obtener salida del comando en un búfer vim


4

lo que quiero hacer

  1. editando un archivo
  2. ejecute '! svn diff%' (o cualquier otro comando que tome el nombre del archivo actual )
  3. poner la salida en un nuevo búfer (o pestaña)

bono: no uso un script, ya que trabajo a menudo en hosts que no logro a mi gusto.

Mi primer intento fue: :tabnew | r !svn diff %lo obvio no funciona porque% estará vacío ya que se analiza después del comando tabnew.

Respuestas:


7

Esto debería funcionar:

:tabnew | r !svn diff #

#hace referencia al búfer anterior, es decir, el búfer que tenía abierto antes de que :tabnewse ejecutara.

Aún mejor es

:tabnew | set buftype=nowrite | r !svn diff #

porque entonces vim no se quejará cuando cierre la pestaña, pero esto ya es demasiado para escribir cada vez.


¡Este es un patrón realmente poderoso! Ojalá supiera sobre ese comando de tubería antes.
AlexMA
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.