Soy una especie de novato en Vim. Me gustaría enviar el contenido del búfer actual al stdin del comando externo (digamos correo). Mi propósito final es establecer un atajo para enviar rápidamente correos electrónicos desde el búfer de Vim actual. Supongo que esto debería ser algo trivial, pero no pude encontrar una manera de enviar el búfer de Vim a un comando externo. Gracias por adelantado.
92
STDIN
comandos de shell: Canalizar a shell y recibir salida en la línea de información y Reemplazar el texto original seleccionado con la salidaRespuestas:
Puede usar
:w !cmd
para escribir el búfer actual en el stdin de un comando externo. De:help :w_c
:Un comando relacionado es el
:%!cmd
que hace lo mismo y luego reemplaza el búfer actual con la salida del comando. Entonces:%!sort
invocaría el comando de clasificación externo para ordenar el búfer actual en su lugar.fuente
:'<,'>!python -mjson.tool
o:%!python -mjson.tool
:%!gofmt
sin el último%
, ya que eso haría que se usara la versión guardada (que puede diferir del búfer actual)u
para deshacerA continuación se muestra un ejemplo de cómo enviar el búfer actual a un stdin externo desde la línea de comando:
Es útil para realizar secuencias de comandos.
Para obtener más trucos de línea de comandos, consulte:
fuente