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.