Thanks to these guys:
Prerequisites: git, ack.
- Move your existing configuration somewhere else:
mv ~/.config/nvim* nvim_backup - Clone this repo into ".config/nvim":
git clone https://github.com/bmarkons/neovimfiles ~/.config/nvim - Go into ".config/nvim" and run "install":
cd ~/.config/nvim && ./install
This will create temp and backup directories and install plugins. If plugin
installation fails for any reason, open Neovim and run :PlugInstall.
- 2 spaces, no tabs
- 'Leader' character mapped to " " (space)
<CR>- remove highlighting after search<C-j/k/h/l>- switch between splits (no need to prepend<C-w>)- relative line numbers by default
<C-n>switches between relative and absolute line numbersQ- format lines(space, space) - alternates between two most recent buffers<leader>f- opens file search with :CtrlP plugin:<leader>b- search in directory of current buffer<leader>gl- inlib/<leader>gm- inapp/models<leader>gv- inapp/views<leader>gc- inapp/controllers<leader>gs- inspecs
:KillWhitespace- strip trailing whitespace<leader>sopens spec<leader>vopens spec in split view
:Ack -w foo_bar --no-js --no-css:Ack!- search, but don't jump to first match:AckFromSearch:AckAdd- append to existing quickfix list<leader>a- opens Ack with cursor between ""<leader>A- opens Ack and searches for the word below cursor
cs"'- change string from double to single quotesds(- delete surrounding parenthesesysiW]- surround current WORD with square bracketsysst- surround current line in a HTML tagysip<c-t>- nest current paragraph in a HTML tag
Visual mode: S. Insert mode: <c-s>.
Surround + rails.vim:
-→<% -%>=→<%= %>#→<%# %>e- nest block and appendendkeywordE- likee, but prompt for text to prepend before block
\\{motion}- comment/uncomment lines that {motion} moves over\\\- comment/uncomment [count] lines{Visual}\\- comment/uncomment the highlighted lines\\u- uncomment the current and adjacent commented lines
Motions:
]m/[m- next / previous method]M/[M- end of method definition]]/[[- next / previous class/module][/[]- end of class/module
Text objects:
am- a methodim- inner methodaM- a classiM- inner class
% alternates between matching HTML tags, class/control flow statements and
matching end in Ruby, and more. Also works in visual mode.
In visual mode:
:Tabularize assignment:Tabularize argument_list:Tabularize /=>
:Gcommit:Gstatus- jump between lines that represent files with
<c-n>,<c-p> -- add/reset file (visual mode too)<Enter>- open current file in the window belowp- rungit add --patchfor current fileC- invoke:Gcommit
- jump between lines that represent files with
:[range]Gbrowse! -- copy GitHub URL for code that's currently selected:[range]Gblame:Gedit feature:%- version of the current file in the "feature" branch:Gwrite-add %:Gread-checkout %:Gremove-rm %:Gmove <dest>-mv % <dest>
- ack.vim
- ctrlp.vim
- gruvbox
- neomake
- rename.vim
- ri.vim
- splitjoin.vim
- tabular
- vim-airline
- vim-airline-themes
- vim-commentary
- vim-endwise
- vim-es6
- vim-fugitive
- vim-numbertoggle
- vim-polyglot
- vim-rails
- vim-reek
- vim-repeat
- vim-surround
- vim-test
- vim-textobj-rubyblock
- vim-textobj-user
- gruvbox