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) |
Sidebar
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: