Eu sou meio que um novato em Vim. Gostaria de enviar o conteúdo do buffer atual para stdin de comando externo (digamos e-mail). Meu objetivo final é definir um atalho para enviar e-mails rapidamente do buffer atual do Vim. Estou supondo que isso deve ser uma coisa trivial, mas não consegui encontrar uma maneira de enviar o buffer do Vim para um comando externo. Desde já, obrigado.
92
STDIN
comandos de shell: Pipe para shell e receba saída na linha de informação e Substituindo o texto original selecionado pela saídaRespostas:
Você pode usar
:w !cmd
para gravar o buffer atual no stdin de um comando externo. De:help :w_c
:Um comando relacionado
:%!cmd
faz a mesma coisa e então substitui o buffer atual pela saída do comando. Portanto,:%!sort
chamaria o comando de classificação externa para classificar o buffer atual no local.fonte
:'<,'>!python -mjson.tool
ou:%!python -mjson.tool
:%!gofmt
sem o último%
, pois isso faria com que ele usasse a versão salva (que pode ser diferente do buffer atual)u
para desfazerAqui está um exemplo de como enviar o buffer atual para stdin externo a partir da linha de comando:
É útil para fins de script.
Para mais truques de linha de comando, verifique:
fonte