Skip to content

pechorin/vim-files

Repository files navigation

💻 vim/neovim bundle

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

Requirements

  • 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

Features

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

Keybindings

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