You’re happily using Vim, slowly mastering file navigation, split windows and tabs, search and replace, and then you discover a hot new .vimrc on Hacker News that includes lots of commands like this:
noremap <Leader>W :w !sudo tee % > /dev/null
What the devil is
<Leader>? Well, in this example it simply means typing
\W (backslash then w) in Normal mode will save the current file using the
sudo command. Does that mean
<Leader> means backslash? Well, not quite. The
<Leader> key is a reference to a specific key defined by the
mapleader variable. A lot of people change to comma because they find it easier to type:
mapleader variable is easy to change, and if you always remember to map keys with
<Leader> then you'll avoid confusing your own customisation with Vim's default keyboard shortcuts.
The beauty of the
<Leader> key is it effectively gives us a namespace for customised keyboard shortcuts. You don't need to worry about treading on Vim's toes when you set a keyboard shortcut using
Vim waits for 1000 milliseconds after the
<Leader> key has been pressed, so if you take too long to press the next key in the sequence it won't be matched. This timeout can be changed by using
:set timeoutlen to set specific value.