Please backup your current .vim, .vimrc and .config/nvim/init.vim, after this just run ./install.sh
, all symlinks will be created. So it's safe if your already use symlinks for your vim config files, just run install script and try this bundle out. Maybe you will find some ideas for you own config.
cd ~ && git clone https://github.com/pechorin/vim-files
# create symlinks for (.vim, .config/nvim/init.vim, .vimrc, ctags) in your home directory
~/vim-files/install.sh
- git
- bash
- vim (neovim 0.8+ is preferrable)
- ripgrep
- ctags
- for ruby dev: rbenv & solargraph
- go runtime
npm install -g vim-language-server
brew install lua-language-server
brew install code-minimap
feature | description | notes | nvim only |
---|---|---|---|
compability | works with both vim and neovim | nvim for local development, vim-only part for remote machines | 0 |
tree-sitter | syntax hightlighting | v:true | |
lsp | language server via native nvim implementation | v:true | |
vim-table-mode | table mode editing like org-mode | enable via tm or :TableModeToggle |
0 |
mode | key | command | description | group |
---|---|---|---|---|
c | <C-A> |
Bash-like CTRL+A for command line | Bash-like keys for cmd | |
c | <C-E> |
Bash-like CTRL+E for command line | Bash-like keys for cmd | |
c | <C-K> |
Bash-like CTRL+K for command line | Bash-like keys for cmd | |
x | ga |
(EasyAlign) | Align in visual mode (e.g. vipga ) |
Text manipulation |
n | ga |
(EasyAlign) | Align for a motion/text object (e.g. gaip ) |
Text manipulation |
n | <leader>et |
:Tagbar | Tagbar | Navigation |
n | <leader>n |
:NERDTree | NERDTree for project | Navigation |
n | <leader>N |
:NERDTree % | NERDTree for current file | Navigation |
n | <leader>m |
:Neotree | Neotree | Navigation |
n | <leader>M |
:Neotree % | Neotree for current file | Navigation |
n | <leader>, |
:Neotree buffers | Neotree buffers | Navigation |
n | <leader>. |
:Neotree float git_status | Neotree git | Navigation |
n | <leader>t |
:tabnew | Create new tab | Navigation |
n | <cmd>t |
:tabnew | Create new tab | Navigation |
n | <C-ScrollWheelUp> |
:tabnext | ctrl+mousewheel for tab switching | Navigation |
n | <C-ScrollWheelDown> |
:tabprevious | ctrl+mousewheel for tab switching | Navigation |
n,v,o | <leader>x |
bp|bd# | Kill current buffer | Navigation |
n | <C-LeftMouse> |
:AnyJump | Run AnyJump on ctrl+click | Navigation |
n | <leader>c |
CommentaryLine | Comment current line | Commenting |
v | <leader>c |
Commentary | Comment visualy selected text | Commenting |
n | <leader>b |
:Buffers | FZF Buffers | FZF navigation |
n | <leader>q |
:Files | FZF Project files | FZF navigation |
n | <leader>ev |
:Color | FZF Color themes | Vim manipulations |
n | <leader>ee |
:so % | (vimrc) Eval current file as vimscript | Vim manipulations |
n | <leader>ev |
:e ~/.vimrc | (vimrc) Open $MYVIMRC in current buffer | Vim manipulations |
n | <leader>gg |
:Git | Open Git | Git Mappings |
n | <leader>gb |
:Git blame | Git blame for file | Git Mappings |
n,v,o | <Leader>y |
"*y | Copy to system clipboard | OSX clipboard |
n,v,o | <Leader>p |
"*p | Paste from system clipboard | OSX clipboard |
n,v,o | <Leader>Y |
"+y | Copy to editor clipboard | OSX clipboard |
n,v,o | <Leader>P |
"+p | Paste from editor clipboard | OSX clipboard |
n | <leader>rf |
:TestFile | Test file | Tests runners |
n | <leader>rd |
:TestFile -f d | Test file -f d | Tests runners |
n | <leader>rn |
:TestNearest | Test nearest | Tests runners |
n | <leader>rs |
:TestSuite | Test suite | Tests runners |
n | <leader>rl |
:TestLast | Test last | Tests runners |
v | // |
y/\V=escape(@",'/') | Search visual selected text via // | |
n | <Leader>co |
:copen | Show quickfix | |
n | <Leader>cc |
:cclose | Hide quickfix | |
n | gR |
Glance references | Glance reference | |
n | gD |
Glance definitions | Glance definitions | |
n | gY |
Glance type_definitions | Glance type definitions | |
n | gM |
Glance implementations | Glance implementations |