A maneira mais fácil é colocar :!
na frente da linha (com I:!
), então yy
para extrair a linha para o registrador não nomeado e, finalmente, usar @"
para chamar o não-nomeado ( "
) registrar como uma macro. Para vim, isso é exatamente equivalente a digitar
:!ls /home
no modo normal. Se, como eu, você tem ;
e :
trocados no seu .vimrc para o modo normal, você terá que inserir um ponto-e-vírgula.
Provavelmente, é possível alterar o registro no local, em vez de adicioná-lo a uma linha real.
Também é possível fazer isso por y$
yanking até o final da linha (sem a edição acima) e, em seguida, digitando
:!<c-r>"
... ( <c-r>
que significa Ctrl + r ) que será expandido para
:!ls /home
(ou qualquer que seja o comando que você arrancou). Você precisa usar y$
em vez de yy
, porque senão expandirá para
:ls /home^M
^M
lá representando a nova linha; isso é fácil de apagar com um único backspace.
Esse segundo método pode ser um pouco mais rápido, mas qualquer coisa que envolva a tecla Ctrl parece um pouco diferente de mim.