Vim is my preferred text editor when I program, and thus I always run into a particularly annoying issue.
Frequently, when I quickly need to save the buffer and continue on to some other miscellaneous task, I do the typical
:w
However, I always — what seems to be like more than 50% of the time — manage to capitalize that :w. Naturally, Vim yells at me because W is an invalid command:
E492: Not an editor command: W
My question is how can one alias colon-commands in Vim. Particularly, could you exemplify how to alias W to w.
I am aware of the process to map keys to certain commands, but that is not what I’m looking for.
To leave completion untouched, try using
It will replace
Win command line withw, but only if it is neither followed nor preceded by word character, so:W<CR>will be replaced with:w<CR>, but:Writewon’t. (Note that this affects any commands that match, including ones that you might not expect. For example, the command:saveas W Zwill be replaced by:saveas w Z, so be careful with this.)Update
Here is how I would write it now:
As a function:
This checks that the command type is
:and the command isW, so it’s safer than justcnoreabbrev W w.