Come posso eseguire una selezione Vim o un intervallo in bash senza sostituirlo?


12

Vorrei selezionare del testo in Vim e quindi eseguirlo in bash. Conosco la seguente procedura:

  1. seleziona il testo usando Vov
  2. :!!

Tuttavia, questo sostituisce la selezione con l'output del comando. E se non lo volessi?

Risposte:


21

Digita il :wcomando in questo modo:

:w !command

Mentre lo digiti, apparirà così:

:'<,'>w !command

Vedere

:help :w_c

3
Questo è corretto, ma fai attenzione a non farlo :w! commandper errore. Se command è un programma a cui hai accesso in scrittura, sovrascriverà il programma e non sarai in grado di annullare la modifica poiché non era il buffer aperto.
Ray,

5

In vim 8.0 , puoi selezionare un intervallo di linee ed eseguire :terminal bash. Questo aprirà un terminale in esecuzione bashcon la tua selezione come stdin.

:terminal node, :terminal ruby, :terminal pythonSembrano funzionare bene così.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.