2011-02-05 13 views
7

he instalado y utilizado MinGW y MSYS en el pasado para compilar y enlazar ejecutables de Windows con éxito. En una nueva instalación para Vista de 32 bits (la misma plataforma que cuando tuve éxito anterior), tengo un comportamiento enloquecedor: cuando escribo minúsculas 'e' o mayúsculas 'P' en los entornos de shell proporcionados, obtengo un sonido audible pero sin carácter! Lo que significa que no puedo escribir "hacer" o "repetir" y ejecutar esos comandos, por ejemplo. Va: m-a-k-BEEP!no puede escribir 'e' o 'P' en MinGW/Msys conchas o terminales

Este no 'e' BEEPing se produce en el shell que se abre al invocar msys a través del acceso directo generado por el instalador, y en shell al navegar a c: \ msys \ 1.0 \ bin y simplemente hacer doble clic en bash .exe, sh.exe, rxvt.exe (en realidad, tiene más de una ráfaga de ruido amortiguado que un BEEP nítido), pero siempre la minúscula 'e' y la mayúscula 'P' no se reflejarán en la terminal (¿o shell? obviamente No conozco las diferencias entre estos términos).

He probado los instaladores MinGW y Msys automatizados, y un manual de instalación nueva con el mismo fin.

No entiendo muy bien conchas, o cómo evolucionan sus entornos, ya que la puesta en marcha, así que no sé por dónde empezar a buscar el origen de este comportamiento excéntrico.

+0

Tengo el mismo problema con git shell en Windows, no con el nuevo juego de MinGW. (El mismo arreglo funcionó) ... ¿Tal vez eso es específico para alguna versión de MSys? – Kos

Respuesta

12

Supongo que está utilizando Bash. A mí me parece que las ataduras de teclas se han estropeado por alguna razón.

Si lo hace este comando:

bind -p|grep -i '"[pE]"' 

usted debe conseguir este resultado:

"E": self-insert 
"e": self-insert 
"P": self-insert 
"p": self-insert 

Si las entradas para "P" y "e" faltan a continuación, tratar estos comandos.

bind '"e":self-insert' 
bind '"P":self-insert' 

Obviamente, no se puede escribir los caracteres, por lo que escribir su versión simétrica caso, pulse la flecha a la izquierda, a continuación, pulse la tecla Alt u para upcase la pequeña "p" o Alt-l (que es un menor -case "ell") para archivar el capital "E" (tendrá que hacer esto para cada "e" en el primer comando).

Si eso funciona, compruebe el archivo ~/.inputrc de combinaciones de teclas no válidas. Además, revise los archivos de inicio como ~/.bashrc, etc. La cuestión es probable que sea entre comillas que faltan o fuera de lugar y puede ser una clave de enlace para algo así como \eP que, por defecto, se vincula a la función readline do-lowercase-version.

+0

Sus instrucciones funcionaron perfectamente. Pude ver que, de hecho, "P" y "e" no tenían ataduras de inserción automática, las añadí, todo funcionó. Luego comencé a buscar y en mi archivo '~/.inputrc' encontré las líneas ofensivas que había agregado, creyéndolas benignas: 'echo $ PATH' y 'PATH = $ PATH:/c/MinGW/msys/1.0/bin :. ' y 'echo $ PATH', que por cualquier razón cuando causa el problema, y ​​cuando se saca, corrígelo.¡Gracias! –

+1

@dim fish: Sí, '~/.inputrc' no es un archivo ejecutable, por lo que no puede poner comandos en él. –

+0

@DennisWilliamson Tengo el mismo problema con "b". Tuve el mismo problema con "e" que resolví eliminando todas las configuraciones de .inputrc. Antes de que "b" insertara una comilla doble, ahora presionando "b" se inserta una cadena infinita de comillas dobles hasta que presione ctrl-c. Puse 'bind '" b ": self-insert'' en inputrc pero sin cambios. Mi msys es muy minimalista, casi no hay paquetes a excepción de coreutils. – otonvm

0

En el directorio C: \ Documents and Settings \ sunombredeusuario, se puede encontrar un archivo llamado '.bashrc' añadir las siguientes líneas 2 bind ' "e": auto-Insertar' bind ' "P": self-insert'

Dennis Williamson, Muchas gracias! Este problema me molesta por mucho tiempo.

Cuestiones relacionadas