Yo uso las combinaciones de teclas vi en mi shell tcsh.
Ahora, no sé en qué modo vi estoy ( insert
modo o command
modo), lo que genera mucha frustración.
¿Alguien sabe de una manera de mostrar el modo vi actual en el shell? (al incluir en el aviso o algo)
command-line
shell
vi
prompt
sundar - Restablece a Monica
fuente
fuente
He echado un vistazo a la documentación y debo decir que no pude encontrar ninguna forma de detectar y mostrar el modo vi actual. Espero que tengas una sorpresa agradable y alguien encuentre una solución, pero ciertamente no puedo ver una manera de hacer lo que pides.
Creo que hay una manera de hacer esto, pero es una exageración masiva para una pequeña molestia, y no creo que eso sea lo que tenías en mente cuando planteaste esta pregunta. Si esto es cierto, deja de leer ahora y disfruta de tu vida.
OTOH, si este es realmente tu motivo favorito, y te está volviendo loco, y realmente quieres desesperadamente resolver este problema, aquí está mi idea de cómo solucionarlo:
En resumen, Unix implementa la E / S del terminal como un flujo de E / S dúplex completo entre el controlador del dispositivo y el proceso del usuario, en el que se pueden insertar los módulos. Está organizado como una pila, por lo que puede superponer tantas secuencias como desee. La suma de las corrientes inyectadas crea su comportamiento de E / S terminal.
Cuando se ingresa un carácter, el primer módulo lo inspecciona y lo pasa (si lo desea). Cuando la respuesta llega en la dirección opuesta, nuevamente tiene la oportunidad de inspeccionarla y transmitirla. Así es como se maneja un Ctrl-C en un nivel superior a una tecla de carácter normal.
Puede crear un archivo binario implementando un módulo de flujo, que cuando se invoca se ejecuta silenciosamente en primer plano, inspeccionando y pasando todas las pulsaciones de teclas, realizando su acción preferida en las pulsaciones de teclas que le interesan. Para todos los efectos, aparecerá como si estuvieras trabajando en el shell. Oooh Puedes invocar este binario en la última (o primera, o cualquier) línea de tu .tcshrc y ni siquiera sabrías que está allí.
Hay una buena imprimación aquí , pero no pude encontrar mucho sobre este tema, probablemente porque es pasado su apogeo.
fuente
Esta página tiene un script bastante detallado que configura lo que desea (y más) en zsh . Quizás podría adaptarse para trabajar con tcsh (no estoy muy familiarizado con ese shell).
fuente
Para cualquiera que tenga este problema exacto (como yo): encontré una solución en stackoverflow . Aparentemente hay soporte nativo para esto en readline, por lo que puede agregar lo siguiente a su
~/.inputrc
:Y para personalizar el uso real del personaje:
fuente
Edición de línea de comandos con tcsh
Más notas en la página de
tcsh
personalización ya vinculadas anteriormente.fuente
Tuve exactamente el mismo problema y por accidente he encontrado la solución. Aunque este hilo es antiguo, no pude encontrar ningún otro sitio web que ofreciera una solución, así que supongo que publicar en este hilo está bien.
Simplemente restablezca la configuración de su programa de terminal o shell. Actualmente estoy usando PuTTY, y acabo de eliminar mi configuración guardada para mi conexión guardada, y recreé una sesión guardada. Trabajado como un encanto.
¡Espero que esto ayude!
fuente
Por favor vea mi respuesta en SO . Bash 4.4 / Readline 7.0 agregará soporte para esta funcionalidad, y mientras tanto he publicado versiones parcheadas de Bash 4.3 / Readline 6.3 en github .
fuente