Sim. Documentação do Vim, seção 40.2, Mapeamentos da linha de comando :
The Vim editor enables you to define your own commands. You execute these commands just like any other Command-line mode command. To define a command, use the ":command" command, as follows:
:command DeleteFirst 1delete
Now when you execute the command ":DeleteFirst" Vim executes ":1delete", which deletes the first line.
Note: User-defined commands must start with a capital letter. You cannot use ":X", ":Next" and ":Print". The underscore cannot be used! You can use digits, but this is discouraged.
Coloque essa linha no seu ~/.vimrc
(menos o inital :
, claro) e ela será definida toda vez que você iniciar o vim. Além disso, use %:t
para fazer referência ao arquivo que está sendo editado (escrevendo ! gcc %:t
sendo substituído por ! gcc foo.c
).
Se você quiser que seja definido apenas para um arquivo ou para determinados arquivos, será necessário um autocommand.