Como posso executar uma seleção ou intervalo do Vim no bash sem substituí-lo?


12

Gostaria de selecionar algum texto no vim e depois executá-lo no bash. Conheço o seguinte procedimento:

  1. selecione o texto usando Vouv
  2. :!!

No entanto, isso substitui a seleção pela saída do comando. E se eu não quiser isso?

Respostas:


21

Digite o :wcomando assim:

:w !command

À medida que você digita, aparecerá assim:

:'<,'>w !command

Vejo

:help :w_c

3
Isso está correto, mas tome cuidado para não fazer isso :w! commandpor engano. Se o comando for um programa ao qual você tem acesso de gravação, ele substituirá o programa e você não poderá desfazer a alteração, pois esse não foi o buffer que estava aberto.
Ray

5

No vim 8.0 , você pode selecionar um intervalo de linhas e executar :terminal bash. Isso abrirá um terminal executando bashsua seleção como stdin.

:terminal node, :terminal ruby, :terminal pythonParecem funcionar bem também.

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.