Narnar vim fer sher
Vim script Shell
Switch branches/tags
Nothing to show
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.

This is a full featured yet fast vim configuration. It doesn't do any processing unless you ask. The keymapping aggregates commands from various plugins into logical groups, as documented below.

You can read more about the design and ideas behind this Vim config.

Installation / Upgrading

One command does it all.

curl -o - | sh

Don't worry, it will back up your existing vim configuration.


These dotfiles organize commands into logical groups to help you remember them.

Running Things

If you open a tmux terminal alongside MacVim then you can run commands, tests, and a REPL from your vim selections.

,rsSend selected text to tmux
,rvChange tmux session, window, and pane attachment
,rTRun all tests in open feature
,rtRun test under cursor


,tuGenerate or update ctags
,ttOpen list of methods, classes, etc
C-]Go to definition/step of word
C-\Find all uses of word under cursor


,g?Last-committed files (Monday morning key)
,gsGit status (fugitive)
,ggGit grep
,glGit log (extradition)
,gdGit diff
,gbGit blame


\\Toggle selection as commented


,a=Align on equal signs
,a,Align on commas
,a|Align on vertical bar
,apAlign on character of your choice


vaiSelect whole block at indentation
viiSelect inside block at indentation
varSelect whole Ruby block
virSelect inside Ruby block


,2sConvert symbol under cursor from symbol to string
,2yConvert string under cursor from string to symbol
,2_Convert string under cursor to snake_case
,2cConvert string under cursor to camelCase
,2mConvert string under cursor to MixedCase
,2uConvert string under cursor to SNAKE_UPPERCASE
,2-Convert string under cursor to dash-case

Splits and find file

,<space>Fuzzy file find (CtrlP)
,sjOpen split below
,skOpen split above
,shOpen split leftward
,slOpen split rightward


,uInteractive undo tree
,ssEnable spell checking
,eOpen file prompt with current path
,<cr>Clear search highlights
C-sToggle nerd tree, find file
,ffToggle MacVim fullscreen mode
,rRedraw screen
C-hMove cursor to leftward pane
C-kMove cursor to upward pane
C-jMove cursor to downward pane
C-lMove cursor to rightward pane


Add your own settings to ~/.vimrc.local and they will be loaded.