Acabo de instalar Cygwin y la funcionalidad RETROCESO no está allí, es decir, cuando presiono la tecla Retroceso, obtengo un espacio.
Intenté investigar este problema en Google, pero no encontré nada concluyente.
stty
comando?
Acabo de instalar Cygwin y la funcionalidad RETROCESO no está allí, es decir, cuando presiono la tecla Retroceso, obtengo un espacio.
Intenté investigar este problema en Google, pero no encontré nada concluyente.
stty
comando?
Respuestas:
En mi caso, el retroceso no funcionaba en absoluto después de crear ~ / .vimrc en blanco. El siguiente cambio lo hizo funcionar
Poner:
establecer bs = 2
en .vimrc
Encontré esto en http://linux-journal.blogspot.com/2005/04/fix-vim-backspace-doesnt-work.html
Funcionó para mí: en el símbolo del sistema de Windows, escriba
echo export TERM=cygwin >> C:/cygwin/home/YourUser/.bashrc
¡Esto lo agregará al .bashrc
y todo puede funcionar bien!
TERM
variable de entorno establecida a msys
través de la configuración de la variable de entorno de Windows como se sugiere en StackOverflow para ayudar con los git
problemas en Windows. Simplemente restablecerlo cygwin
en .bashrc
no ayudó, pero eliminar la TERM
entrada de la configuración de Windows sí. ¡Gracias por señalarme en la dirección correcta!
Encontré una solución a un problema que se presentó como el anterior.
Simplemente ejecute la configuración de Cygwin nuevamente y reinstale termcap
y terminfo
. Si usa el cuadro de búsqueda, puede encontrarlos rápidamente. En lugar de decir "Guardar" para cada uno, haga clic en él para que diga "Reinstalar". Puede que tenga que marcar la casilla de verificación "Ocultar obsoleto" para term
que aparezca en la búsqueda.
Mi carpeta terminfo faltaba por completo. No tengo idea de por qué. Espero que esto ayude a alguien.
Cuando configura el tipo TERM, le está diciendo al host qué TERMCAP debe usar para dibujar dentro de la ventana del terminal. La mayoría de los hosts * NIX no saben qué es un tipo de término 'cygwin', por lo que no saben cómo realizar la manipulación de caracteres en pantalla, como inserciones, eliminaciones, pergaminos, cambios de fuente, etc.
Si cambia la variable TERM en CYGWIN antes de telnet o SSH a un host, obtendrá resultados mucho mejores:
En CYGWIN:
d@test01 ~
$ TERM=ansi;export TERM
$ ssh suntest1
d@suntest1's password:
Sun Microsystems Inc. SunOS 5.8 Generic patch October 2001
d pts/1 test01 Fri Oct 12 00:15 still logged in
$ echo $TERM
ansi
$_
El host ahora sabe que tiene un tipo de terminal ANSI y puede usar su archivo ANSI TERMCAP para indicarle cómo comunicarse.
Si no puede hacer que funcione y casi todo funciona correctamente, excepto el espacio de retroceso, puede reprogramar "getty" en el host al que se conecta para reconocer lo que desea, y así es cómo (este es el más antiguo, el más común y el más universal forma de resolver problemas de retroceso / eliminación):
Usted ssh o telnet a su host y en el host ejecuta el comando stty. Si presiona la tecla "RETROCESO" y no retrocede es porque el terminal probablemente esté buscando un carácter diferente en función del tipo TERM. En lugar de profundizar en todo eso, puede establecer manualmente la definición de retroceso en la CLI o en su archivo .profile, .bashrc o .bash-profile en su directorio $ HOME como desee o según el sabor de * NIX que sea utilizando.
Entonces, si presiona ^ H (eso es CONTROL-H) y su tecla retrocede pero presiona la tecla RETROCESO y no intenta usar stty de la siguiente manera:
stty erase \*<HIT YOUR BACKSPACE KEY HERE>*[ENTER]
La mayoría de las veces se verá así:
stty erase \^?[ENTER]
El '\' le dice que el siguiente carácter será un carácter de control no imprimible y que lo acepte, no lo "interpretará".
Una vez que presione [ENTRAR], debería poder presionar su tecla [RETROCESO] y hacer que retroceda / elimine lo que escribió.
Puede configurar esto en su shell.
Ahora, si todavía usa VI, a veces la traducción no funciona y tiene que escribir ^ H en vi, pero está bien.
Podrías haber dicho:
stty borrarse [ENTRAR]
y literalmente habría traducido 'k' en el carácter borrar / borrar.
-RE
Ok, tuve este problema con la actualización manual de una instalación de Cygwin. De todos modos encontré esta publicación , que me llevó a la solución para mi instalación.
El cygwin anterior tenía un archivo /etc/terminfo/c/cygwin
, pero en el cygwin más nuevo esperaba que fuera el archivo /etc/terminfo/63/cygwin
.
Una vez que copié el archivo "cygwin" en esta ubicación, la tecla de retroceso del shell bash funcionó bien, al igual que tab y otros.
Cambiar la TERM
variable cygwin
y agregar SET TERM=cygwin
al .bat
archivo no funcionó para mí, pero lo arreglé. Aquí lo que hice: en la instalación debida del administrador de paquetes que seleccioné para instalar xterm: X11 terminal emulator
, después de la instalación agregué SET TERM=xterm
al .bat
archivo (como se propuso anteriormente), inicié el terminal y en Opciones -> Menú del terminal seleccionado Type=xterm
, luego reinicié el terminal. Retroceso comenzó a funcionar correctamente!
Nota: si ya instaló cygwin, simplemente ejecute el instalador nuevamente y agregue el paquete xterm.
Estoy corriendo:
Estoy de acuerdo con todas las respuestas aquí. Pero hay una manera mucho más simple que se encuentra aquí: http://lifepluslinux.blogspot.in/2014/08/backspace-doesnt-work-in-vim-on-cygwin.html
Después de pasar 2 días de tiempo leyendo cosas en línea. Encontré este que funcionó para mí. No sé si este caso coincide con todos. Pero funcionó a las mil maravillas gracias a Yuksel
El problema era con los archivos 'termInfo', pasos que él sugirió
confirme si el problema está relacionado con la terminal escribiendo CygWin Terminal, esto debería dar (ignore la advertencia)
less my_session.log
ADVERTENCIA: el terminal no es completamente funcional
Obtenga la información de 'TermCap' con la ruta o directorio con el que está relacionado escribiendo el código a continuación en la Terminal CygWin
infocmp -C
deberías obtener
infocmp: no se pudo abrir el archivo terminfo / usr / share / terminfo / 63 / cygwin
O también puede obtener algo que comience con texto como 'Reconstruido a través de infocmp ...'
Ejecute el siguiente código en CygWin Terminal para ejecutar los diagnósticos y obtener detalles adicionales sobre la ruta donde se guardan los archivos
cygcheck -s
que debería responderte similar al texto a continuación
Diagnósticos de configuración de Cygwin
...
C: / cygwin / system binary, noacl
C: / cygwin / bin / usr / bin system binary, noacl
C: / cygwin / lib / usr / lib system binary, noacl
C: \ cygwin \ etc \ terminfo / usr / share / terminfo system binary, noacl
prefijo cygdrive / usuario binario cygdrive, noacl, posix = 0, auto
...
C: \ cygwin \ etc \ terminfo / usr / share / terminfo system binary, noacl
de la salida, obtuviste del tercer paso. ahora copie todos los archivos y carpetas que existen dentro de / usr / share / terminfo en la carpeta C: \ cygwin \ etc \ terminfo - NOTA: esta carpeta puede ser diferente a la suya dependiendo de la instalación
Por favor siga la imagen de abajo
options
Keys
pestañaBackarrow sends ^H
Esto es lo único que funcionó para mí, especialmente porque si tiene que usar SSH en un servidor (no todas las soluciones funcionarán) solía agregar stty erase ^?
a mi .bashrc, pero esto solo solucionó el problema el 80% del tiempo.
Nunca experimenté tu problema. Intente instalar el emulador de terminal Mintty ( http://code.google.com/p/mintty/ ).
Está disponible a través del instalador de Cygwin. La mejor terminal para cygwin.