Advanced VIM Configuration for FullStack Developers, for now it's supporting.
- Backend: Ruby on Rails, Python and Elixir.
- Front-end: React
- Ops: Docker, Nginx, Ansible.
Only tested with Neovim.
| key | Description |
|---|
<space> | Leader |
; | FuzzyFinder |
, | Files |
s | Windows |
t | Tabs |
z | Foldings |
m | Bookmarks |
| key | Mode | Action |
|---|
Reload | Command | Reload vimrc |
<Leader>a | Normal | Align paragraph |
<Leader>, | Normal | Remove all spaces EOL |
<Leader>ow | Normal | Overwrite word under cursor |
<Leader>saw | Normal/visual | Replace all occurences under cursor |
<Leader>w | Normal | Save current file |
<Leader>d | Normal/Visual | Duplicate line/selected |
<Leader>rp | Normal | Remove all lines with the given patter |
! | Normal | Start an external Command with a single bang |
jk | Insert | Go to normal mode |
<Leader>h | All | Toogle permanent Highlight for word under cursor |
<Leader>y | Visual | Toogle permanent Highlight for selected region |
<Leader>x | Visual | Toggle markdown checkbox ([] -> [x] -> [n/a] -> []) |
<Leader>v | Visual | Expand selected region |
<Leader>, | Visual | Remove emtpy speces |
s | visual | Replace within selected area |
gp | Normal | Select last paste |
Y | Normal | Copy until the end of line |
q | Normal | Quit |
<ctrl>o | visual | Jump to last edited location |
<ctrl>i | visual | Jump to next edited location |
<Ctrl>r | insert | Open resgister content |
gc<motion> | Normal/visual | Toggle comments |
/ | Normal | Easy motion between panels |
W!! | Command | Save with sudo |
<Leader>; | Normal | Toggle tag bar |
<Leader>x(j/k) | Normal | Cut line by number to the current cursor position |
<Leader>c(j/k) | Normal | Copy line by number to the current cursor position |
| key | Mode | Action |
|---|
Q | Normal | Record |
M | Normal | Execute |
| key | Mode | Action |
|---|
<Window>v | Normal | Split tab horizontaly |
<Window>g | Normal | Split tab verticaly |
<Window>c | Normal | Close |
<Window>co | Normal | Close other |
<Window>b | Normal | Back to previous buffer |
<Window>r | Normal | Rotate |
<Window>z | Normal | Zoom toggle |
Arrows | Normal | Resize |
| key | Mode | Action |
|---|
<Tabs>t | Normal | Open new tab |
<Tabs>l | Normal | Next tab |
<Tabs>h | Normal | Prev tab |
| key | Mode | Action |
|---|
<Files>du | Normal | Duplicate current file |
<Files>de | Normal | Delete current file |
<Files>m | Normal | Move/Rename current file |
<Files>y | Normal | Copy file-path to clipboard(relative) |
<Files>Y | Normal | Copy file-path to clipboard(absolute) |
| key | Mode | Action |
|---|
<Files>e | Normal | Toggle file explorer |
<Files>a | Normal | Toggle file explorer on current file |
w | NerdTree | Toggle window size |
N | NerdTree | Create new file or directy |
| key | Mode | Action |
|---|
<FuzzyFinder>f | Normal | Files |
<FuzzyFinder>w | Normal | Opened Windows |
<FuzzyFinder>g | Normal | Search text all |
<FuzzyFinder>t | Normal | Tags |
<FuzzyFinder>T | Normal | Tags(Current Buffer) |
<FuzzyFinder>c | Normal | Commits(current file) |
<FuzzyFinder>b | Normal | Buffers |
<FuzzyFinder>/ | Normal | Lines(current buffer) |
<FuzzyFinder>m | Normal | Marks |
| key | Mode | Action |
|---|
:Far <from> <to> <files> | Command | Open "find & replace" console |
t | Far | Toggle the match above the cursor |
:Fardo | Far | Do the replacement |
:F <pattern> | Command | find all |
| key | Mode | Action |
|---|
<leader>k | Normal | Open current word in Dash.app(documentation) |
| key | Mode | Action |
|---|
<ctrl>] | Normal | Go to definition |
UpdateTags | Command | UpdateTags |
| key | Mode | Action |
|---|
gd | Normal | Go to definition |
<FuzzyFinder>sy | Search for symbols inside current file | |
| key | Mode | Action |
|---|
<ctrl>n | Normal | select next occurence |
<ctrl>p | Normal | Undo Selection |
<ctrl>x | Normal | Skip current |
| key | Mode | Action |
|---|
<Bookmarks>m | Normal | Toggle bookmarks in current line |
<Bookmarks>n | Normal | Jump to next bookmark |
<Bookmarks>p | Normal | Jump to prev bookmark |
<Bookmarks>a | Normal | show list of all bookmarks |
<Bookmarks>x | Normal | remove all bookmarks |
| key | Mode | Action |
|---|
<Foldings>a | Normal | toggle fold current level |
<Foldings>r | Normal | Recues folding by opening one more level of folds |
<Foldings>R | Normal | Open all folds |
<Foldings>Mza | Normal | Close the others |
| key | Mode | Action |
|---|
<Leader>s | Normal | create a new snippet |
| key | Mode | Action |
|---|
<Leader>tt | Normal/visual | tabularize by custom |
<Leader>t= | Normal/visual | tabularize by = |
<Leader>t: | Normal/visual | tabularize by : |
| key | Mode | Action |
|---|
e | Normal | entire file |
_ | Normal | underscore |
r | Normal | ruby block |
=/- | Normal | erb |
i | Normal | indentation level |
f | Normal | function |
| Key | Mode | Action |
|---|
,# | Normal | ruby string interpolation #{} |
]m | Normal | To edit start of next method definition |
]M | Normal | To go to end of next method definition |
[m | Normal | To start of previous method definition |
[M | Normal | To end of previous method definition |
<Leader>rap | Normal | Add params to method |
<Leader>rit | Normal | Remove declaration of the variable and use the result |
<Leader>rcpc | Normal | From if one line to multiline |
<Leader>rec | Normal | Extract Constant |
<Leader>rel | Normal | Extract let |
<Leader>relv | Normal | To local variable |
<Leader>rrlv | Normal | Rename local variable |
<Leader>rriv | Normal | Rename instance variable |
| key | Mode | Action |
|---|
gf | Normal | goto |
:A | Command | Alternate file |
:AS | Command | Alternate file in split |
:R | Command | Related file |
:RS | Command | Related file in split |
<FuzzyFinder>mo | Normal | Search for models |
<FuzzyFinder>c | Normal | Search for controller |
| key | Mode | Action |
|---|
:ImportJSFix | Command | Import any missing modules and remove any modules that are not used |
:JsDoc | Command | Generate JSDoc for the function |
| key | Mode | Action |
|---|
Ctrl+y + , | Command | Expand emmet sequence |
Ctrl+y + , | visual | Wrap selected tag with emmet sequence |
<c-y>d | insert | Balance a Tag Inward |
<c-y>D | insert | Balance a Tag Outward |
<c-y>n | insert | Go to the Next Edit Point |
<c-y>N | insert | Go to the Previous Edit Point |
$ cd ~/.config
$ mv nvim nvim-bk
$ git clone git@github.com:AlexVKO/VimKO.git nvim
And then inside neovim run :PlugInstall
Based by: