¿Cómo puedo ejecutar una selección o rango de Vim en bash sin reemplazarlo?


12

Me gustaría seleccionar un texto en vim y luego ejecutarlo en bash. Sé del siguiente procedimiento:

  1. seleccionar texto usando Vov
  2. :!!

Sin embargo, esto reemplaza la selección con la salida del comando. ¿Qué pasa si no quiero eso?

Respuestas:


21

Escriba el :wcomando así:

:w !command

A medida que lo escriba, aparecerá así:

:'<,'>w !command

Ver

:help :w_c

3
Esto es correcto, pero tenga cuidado de no hacerlo :w! commandpor error. Si el comando es un programa al que tiene acceso de escritura, sobrescribirá el programa y no podrá deshacer el cambio ya que ese no era el búfer que estaba abierto.
Ray

5

En vim 8.0 , puede seleccionar un rango de líneas y ejecutar :terminal bash. Esto abrirá una terminal que se ejecuta bashcon su selección como stdin.

:terminal node, :terminal ruby, :terminal pythonParecen funcionar muy bien también.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.