Thanks to these guys:
Prerequisites: ruby, git, ack.
- Move your existing configuration somewhere else:
mv ~/.vim* ~/.gvim* my_backup - Clone this repo into ".vim":
git clone https://github.com/strika/vimfiles ~/.vim - Go into ".vim" and run "rake":
cd ~/.vim && rake - Open vim and run:
:BundleInstall
This will install "/.vimrc" and "/.gvimrc" symlinks that point to
files inside the ".vim" directory.
- 2 spaces, no tabs
- incremental, case-insensitive search
- 'Leader' character mapped to "," (comma)
<CR>- remove highlighting after search- cursor keys for movement are disabled
<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,,alternates between two most recent buffers,f- opens file search with :CtrlP plugin:,b- search in directory of current buffer,gl- inlib/,gm- inapp/models,gv- inapp/views,gc- inapp/controllers,gs- inspecs
,cf- search for merge conflicts in buffer:KillWhitespace- strip trailing whitespace,,switches between two last buffers,sopens spec,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,a- opens Ack with cursor between "",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
- coffee-script
- commentary
- ctrlp
- endwise
- fugitive
- javascript
- markdown
- rails
- ruby
- vim-textobj-rubyblock
- vimclojure
- solarized