Como executar comandos Unix no Vim?


77

Como posso executar comandos do Unix enquanto estou dentro do vim?

Respostas:


103

Vá para o modo de comando Esce execute :!unix_command. Qualquer coisa executada a partir do :prompt começando com um estrondo !será executada como um comando shell unix. Você verá a saída e poderá pressionar uma tecla para voltar ao seu trabalho no vim.

Se você tiver o texto selecionado no modo visual e quiser enviá-lo para um comando como STDIN, pressione !!e insira seu comando. Os resultados do comando substituirão o texto que você selecionou.


14
Além disso, !! sem nenhum texto selecionado, você poderá executar um comando e, em seguida, inserir o resultado na posição atual do cursor - não é necessário enviar itens para o STDIN e substituí-lo, se você não precisar / quiser.
Kromey

4
Além disso, se você simplesmente deseja colocar a saída de um comando no seu documento, basta fazê-lo :r!unix_command. Isso é útil para comandos comodate
Yab

2
Você também pode executar várias linhas do seu buffer vi pelo shell (ou qualquer intérprete) e substituí-las pelo resultado da execução. por exemplo: :10,20!shou, forme linhas marcadas,'a,'b!sh
jlliagre 19/05/11

1
Outra coisa que acho que vale a pena notar é que isso depende do sistema operacional que você está usando. Se você estiver usando o Windows, ele executará um comando de shell do Windows. Muitas pessoas que estão lendo isso já sabem disso, mas para as pessoas que vêm do Google, pensei que valeria a pena mencionar.
21716 Andrew

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.