A veces he intentado invocar a Vim usando xargs
, así:
find . -name '*.java' | xargs vim
... qué tipo de obras:
Cuando se inicia Vim, veo brevemente la siguiente advertencia:
Vim: Warning: Input is not from a terminal
- La edición funciona:
:files
enumera correctamente todos los.java
archivos como se esperaba. - Puedo ahorrar y dejar de fumar.
Sin embargo, después de salir de Vim, mi terminal se borked:
- Lo que escriba en el indicador de comandos de la shell no tiene eco.
- Los retornos de carro no aparecen en absoluto, y los avances de línea solo aparecen a veces.
Esto continúa hasta que emito un reset(1)
comando para reiniciar la terminal.
¿Es esto un error de Vim, o hay una explicación más satisfactoria de por qué interactúa así con el terminal? Lo he visto suceder en Vim hasta la versión 7.3 (la versión no parece importar) en Linux y varios Unices.
Soy consciente de una solución alternativa, a saber vim $(find . -name '*.java')
. Serían bienvenidas otras soluciones, aunque esa no es mi pregunta principal.
xargs
usa un muñecostdin
que Vim no puede usar y se rompe todo después