Если я открываю окно терминала и набираю букву «е» (конечно, без кавычек), он издает звуковой сигнал и не набирает букву. Каждое другое письмо прекрасно работает в терминале. Прописная буква Е тоже работает. Просто строчная е не делает.
В любом другом приложении на моем компьютере строчные буквы e работают без проблем, поэтому это не проблема клавиатуры.
Это началось где-то на прошлой неделе. Я часто использую терминал в своей работе, и это никогда не было проблемой. Я перезагрузился (не исправил). Я сбросил терминал (не исправил).
Поскольку я не знаю точную дату, когда это началось, я не уверен, сделал ли я какие-либо изменения или установил программное обеспечение. Я пытаюсь удалить все, что я недавно установил.
К вашему сведению, я пытался использовать стороннюю программу iTerm2, и она делает то же самое.
ТАКЖЕ - если я вставлю что-то с более низким e, это сделает то же самое - не возьмет это. Это должна быть проблема с терминалом bash config, я думаю.
Фактически я скопировал следующий смысл, а затем вставил его в терминал. Что появляется? с.н.с. , и вы можете услышать два звуковых сигнала.
Также - в случае, если неясно - это происходит со встроенной клавиатурой на MBP, а также с внешней клавиатурой. Исходя из этого и проблемы вставки, я не думаю, что это физическая проблема клавиатуры.
Характеристики: MacBook Pro 2015 года, полностью обновленный OS X
applescript
, выполнив поиск в центре внимания, и введите,delay 10
затем нажмите return и напишитеtell application "System Events" to keystroke "e"
точно так, как написано. Когда нажата кнопка воспроизведения, она будет ждать 10 секунд, а затем сама нажать e. Перейти к терминалу до истечения этого времени и проверить его. Если это не сработает, тогда у вас есть серьезная внутренняя проблема с вашим компьютером.cat filnam.txt
файл, в котором находится файл,filnam.txt
содержит текст ASCIIe
?Ответы:
Давайте отладим это.
$(which zsh)
.bash_profile
,.bashrc
и т.д. , и открыть новое терминальную вкладку / окно. Если это решает проблему, то что-то загружаемое в среду оболочки потребляет письмоe
по причинам, которые наука никогда не сможет объяснить.cat
файл, содержащий письмо,e
чтобы увидеть, будет ли оно вообще отображаться: (Кредит @techraf)e
секундами и сохраните файл (foo.txt
?)cat
файл:cd /path/to/folder; cat foo.txt
e
s рендерит, то терминал может справиться с этим, если нет, то это супер странно.Попробуйте яблочный скрипт. (Кредит @ALX)
Создайте файл Applescript со следующим содержимым:
Выполните файл сценария, а затем быстро перейдите к окну терминала. Через несколько секунд он фактически нажмет
e
клавишу и, надеюсь, появится в вашем терминале. Это может указывать на то, что может быть проблема с драйвером ввода / устройства (хотя я не знаю, что это может быть)Я не собираюсь лгать, я абсолютно очарован этой проблемой и не могу дождаться, чтобы узнать, в чем причина. Это не аппаратное обеспечение, потому что оно работает в других приложениях, что означает, что это программное обеспечение, и я не могу себе представить, кто проглотит письмо
e
с кодом.источник
Я только что нашел эту тему после того, как столкнулся с той же проблемой.
.inputrc
У меня было 2 строки
.inputrc
, добавленные в момент небрежного невежества, начиная сe
иs
(которые являются действительными конфигурациями Bash, но не допустимыми конфигурациями readline). Похоже, они были интерпретированы как псевдонимы клавиш для настройки readline.Удаление строк
.inputrc
, я подтвердил, решил мою проблему.Спасибо @ user208052 за соответствующее напоминание для проверки
.inputrc
.Конфигурация оболочки Readline
Команда оболочки
bind
позволяет просматривать и изменять конфигурацию Readline. (Смhelp bind
.help
Этоman
для команд оболочки, внутренней).Просмотр
bind -p
(может быть, труба на меньше|less
или перенаправление в файл> binds.txt
). Это «список [s] функций и привязок в форме, которую можно повторно использовать в качестве входных данных» .В нем есть записи, как
"c": self-insert
для каждого символа в диапазоне ASCII, так что испорченная конфигурация может бытьself-insert
заменена другой функцией Readline.У него есть несколько драгоценных камней; просмотр этого только научил меня этому
C-=
(\e=
) печатает возможные завершения в моей конфигурации по умолчанию. Кажется, он показывает полную текущую конфигурацию Readline для вашей оболочки ... довольно полезную и мощную. Хорошо для изучения.Сквозное испытание
e
работаетвставьте ошибочную строку
.inputrc
, откройте новую оболочкуe
по-видимому, неоперативныйbind -p
(| grep -i '"E"'
) показывает"E": self-insert
,"e": self-insert
"A": self-insert
и"a": self-insert
присутствуют.источник
Я немного заржавел, но вставка в Terminal работает иначе, чем вставка в программе с графическим интерфейсом: каждый символ посылается как отдельное нажатие клавиши, а не как копия памяти из буфера обмена в буфер приложения. Так что, если «е» было переназначено, оно будет также переназначено в пасту.
Проверьте следующие места:
System Preferences > Keyboard > Shortcuts
~/Library/KeyBindings/KeyBindings.dict
$ defaults read com.apple.Automator NSUserKeyEquivalents
источник
e
ключ переназначен.Еще можно попробовать настроить терминал на открытие текстового редактора (emacs, vi и т. Д.) При открытии нового окна. Например, в настройках терминала для «Shell» вы можете использовать команду «Выполнить», например
/usr/bin/emacs
. Если вы не можете войти eв панель настроек, то происходит нечто даже более странное, чем то, что было предложено до сих пор ...Когда новое окно терминала открывается, Emacs
будетдолжен начать, и вы можете попробовать нажать и eт.д. Я понятия не имею , что будет происходить, но как @Pierce выше, мне любопытно , как к тому , что , возможно , происходит.источник
Проверьте настройку stty и убедитесь, что 'e' не было случайно установлено в качестве возврата или подобного. Был там, сделал это. Stty что-то \ e сделает это Рекомендация отключить / закомментировать .bash * также, вероятно, обнаружит это.
источник
У меня была та же проблема, которая была вызвана опечаткой в
/etc/inputrc
:вместо того
источник
Как ни странно, я только что выпустил MacOS 10.13.6 на MacBook Air. С одним пользователем все было в порядке, пользовательский терминал администратора, выполняющий bash, не будет принимать строчную букву «а» - не печатать, не вставлять и т. Д. При запуске zsh все будет в порядке. Другие пользователи, хорошо. Я думаю, что это произошло раньше и исправил это, удалив файл /Users/admin/.inputrc и .bash_profile. Я снова добавил их, и это работает. Как ни странно, в этих файлах нет ничего важного. .inputrc это просто «установить завершение-игнорирование-вкл», и в .bash_profile есть несколько псевдонимов командной строки. Честно говоря, что-то еще может быть, но пока работает.
Кажется, я помню, что мне пришлось удалить и повторно добавить эти файлы поверх этой проблемы. Ну, эти файлы могут вызвать или сбросить проблему по крайней мере.
источник
Просто удалите файл .inputrc, он находится в корневом каталоге. (Это скрытый файл).
источник