¿Cómo ejecutar comandos de Unix desde Vim?


77

¿Cómo puedo ejecutar comandos de Unix mientras estoy dentro de vim?

Respuestas:


103

Vaya al modo de comando Esc, luego ejecute :!unix_command. Todo lo que se ejecute desde el :indicador que comienza con una explosión !se ejecutará como un comando de shell de Unix. Se le mostrará el resultado y se le permitirá presionar una tecla para volver a su trabajo en vim.

Si tiene texto seleccionado en modo visual y desea enviarlo a un comando como STDIN, presione !!e ingrese su comando. Los resultados del comando reemplazarán el texto que ha seleccionado.


14
Además, !! sin ningún texto seleccionado, le permitirá ejecutar un comando y luego insertar el resultado en la posición actual del cursor, sin necesidad de enviar cosas a STDIN y reemplazarlo si no lo necesita / no desea.
Kromey

44
Además, si simplemente desea poner la salida de un comando en su documento, simplemente hágalo :r!unix_command. Esto es útil para comandos comodate
Yab

2
También puede ejecutar varias líneas de su búfer vi por el shell (o cualquier intérprete) y reemplazarlas por el resultado de la ejecución. por ejemplo: :10,20!sho, forme líneas marcadas,'a,'b!sh
jlliagre

1
Algo más que creo que vale la pena señalar es que esto depende del sistema operativo que esté utilizando. Si está utilizando Windows, ejecutará un comando de shell de Windows. Mucha gente que lee esto ya lo sabrá, pero para las personas que vienen de Google, pensé que valdría la pena mencionarlo.
Andrew

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.