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.