vi: como usar uma linha como um comando?

5
cat a.txt
echo hi
echo hu
echo ha

Q: como posso executar ex .: a segunda linha em a.txt quando é aberta com o vi?

so "vi a.txt" - > então SOMEMAGICCOMMAND - > então o "echo hu" é executado como um comando. Como?

    
por gasko peter 19.10.2013 / 22:38

2 respostas

6

Executa a linha atual e captura a saída no arquivo que substitui a linha

:. !sh

Executa as linhas 2 a 4 e captura a saída no arquivo substituindo essas linhas

:2,4 !sh

Executa o arquivo inteiro e captura a saída no arquivo, substituindo todas as linhas

:% !sh

O mesmo que acima, mas sem capturar a saída no arquivo, apenas imprimi-lo

:.w !sh
:2,4w !sh
:%w !sh
    
por 19.10.2013 / 23:16
1

Supondo que você esteja usando o vim

Eu sei que se você selecionar a linha contendo o texto ( Shift + V ) e então dar o comando:

:!sh

Ele executará a linha selecionada e a substituirá pelos resultados.

Exemplo

Você pode ver o que acontece na demonstração abaixo.

    
por 19.10.2013 / 23:34

Tags