Para personalizar o Vim, você primeiro constrói e testa os comandos manualmente, um por um. Se você tem uma seqüência de trabalho, você pode facilmente definir mapeamentos (que são acionados por uma chave [seqüência], por exemplo F1 ), ou comandos (digitado em modo Ex, por exemplo, :MyCommand
).
Então, você precisa ler a linha atual e executar um comando do sistema com ela:
- A leitura é direta com
y$
(você pode usar o nível inferiorgetline('.')
para evitar a invasão do registro padrão, mas essa é uma extensão opcional; primeiro, atenha-se ao básico). - Os comandos do sistema são
:! {cmd}
(novamente, há uma alternativasystem()
de nível inferior) - A inserção de um registro no modo de linha de comando é
<C-r>"
.
(Tudo isso pode ser encontrado no excelente :help
.) O comando complete seria ( <CR>
é a tecla Enter que conclui a linha de comando):
y$:! evince <C-r>"<CR>
Se isso funcionar satisfatoriamente, você poderá transformá-lo em um mapeamento e colocar isso em seu ~/.vimrc
:
:nnoremap <F1> y$:! evince <C-r>"<CR>
Voila! Se você quiser avançar automaticamente para a próxima linha, basta anexar um j
no final.