не может набрать 'e' или 'P' в оболочках или терминалах MinGW / msys - PullRequest
7 голосов
/ 05 февраля 2011

В прошлом я успешно установил и использовал MinGW и msys для компиляции и компоновки исполняемых файлов Windows.В новой установке для 32-битной Vista (на той же платформе, что и при предыдущем успехе) я получаю какое-то сводящее с ума поведение: когда я набираю строчные буквы 'e' или прописные буквы 'P' в предоставленных средах оболочки, я получаюЗвуковой сигнал, но без характера!Это означает, что я не могу набрать «make» или «echo», а затем запустить эти команды, например.Это идет: mak-BEEP!

Это не 'e' BEEPing происходит в оболочке, которая открывается, когда вы вызываете msys через ярлык, сгенерированный установщиком, и в оболочках, переходя к c: \ msys \1.0 \ bin и просто дважды щелкнув bash.exe, sh.exe, rxvt.exe (на самом деле он содержит больше приглушенного шума, чем четкого звукового сигнала), но всегда строчные буквы «e» и заглавная «P» не будутэхо к терминалу (или к оболочке? очевидно, я не разбираюсь в различиях между этими терминами).

Я пробовал автоматизированные установщики MinGW и msys и свежую ручную установку для той же цели.

Я не очень хорошо понимаю оболочки и то, как их окружение эволюционирует при запуске, поэтому я не знаю, с чего начать искать причину этого дурацкого поведения.

Ответы [ 2 ]

12 голосов
/ 05 февраля 2011

Я предполагаю, что вы используете Bash. Для меня это звучит так, как будто по какой-то причине перепутаны привязки клавиш.

Если вы выполните эту команду:

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

вы должны получить такой результат:

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

Если записи для «P» и «e» отсутствуют, попробуйте эти команды.

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

Очевидно, что вы не можете вводить символы, поэтому введите их версию в обратном случае, нажмите стрелку влево, а затем нажмите Alt-u, чтобы выделить маленькую букву «p» или Alt-l (это строчная буква) "), чтобы уменьшить заглавную букву" E "(вам нужно сделать это для каждого " e "в первой команде).

Если это работает, проверьте файл ~/.inputrc на наличие недопустимых сочетаний клавиш. Кроме того, проверьте файлы запуска, такие как ~/.bashrc и т. Д. Проблема, вероятно, связана с отсутствующими или неуместными кавычками, и это может быть связано с привязкой ключа к чему-то вроде \eP, который по умолчанию связан с строкой чтения функция do-lowercase-version.

0 голосов
/ 02 июня 2011

В каталоге C: \ Documents and Settings \ yourusername вы можете найти файл с именем .bashrc добавить следующие 2 строки связать «е»: самостоятельная вставка bind '"P": самостоятельная вставка

Деннис Уильямсон, большое спасибо! Эта проблема беспокоила меня долгое время.

...