I save text files hundreds of times every day. I hope to have a long career developing software, so anything I do hundreds of times a day needs to be as efficient as possible.
To speed up this oft-used task I added this little bit to my .vimrc
today.
" Save all the things.
nmap <Leader>s :w<CR>
imap <Leader>s <ESC>:w<CR>
So what do these mappings do? Whether I’m in insert mode or normal mode, the key sequence ,s
saves the file.
First thing to note, is that I have my leader key set to comma. So when looking at my .vimrc file, <Leader>
can always be interpreted as a comma.
nmap
defines a mapping in normal mode. <Leader>s
is the left hand side of this mapping. It’s what triggers the mapping. :w<CR>
is the right hand side of the mapping. This is what is executed when the mapping is triggered.
So when I type ,s
vim executes :w<CR>
, saving the file.
imap
defines a mapping in insert mode. When in insert mode, we need to escape to normal mode before writing the file. Hence, the prepending <ESC>
on the right hand side of the mapping.
To see more that you can do with mapping keys, Vim’s :help map
is a great place to start reading.
Published: 2013-05-23