it-swarm.com.ru

Заставить iTerm переводить «мета-ключ» так же, как и в других ОС

В командной оболочке bash с привязкой клавиш emacs вы можете использовать комбинацию клавиш, например M-f, M-b, для перемещения одного слова вперед или назад в командной строке соответственно. Обычно мета-ключ сопоставляется с Alt-ключом в Windows и Linux. Однако в iTerm я не смог найти способ привязать этот мета-ключ к клавише Option или Command на моем MacBook Pro.

Кажется, что в OS X метаключ по умолчанию сопоставлен с ключом ESC. Таким образом, вы можете использовать ESC-F, ESC-B на iTerm. Однако ключ ESC, по-видимому, не практичен в использовании. Кроме того, в iTerm есть опция, которая позволяет вам отображать модификаторы для мета-ключа (Закладки> Профили> Профили клавиатуры> Глобальные> Клавиша опции как ...), этот параметр, похоже, не работает вообще.

Поэтому, если кто-нибудь знает, как решить эту проблему, пожалуйста, дайте мне знать.

Я обновил до последней версии 0.9.6.1012, и это поведение сохраняется до сих пор.

Edit: Некоторые разъяснения к моему вопросу. Связывание клавиш, о котором я говорю, относится к bash Shell, а не к emacs. Просто так получается, что по умолчанию bash Shell также использует ту же привязку клавиш, что и emacs.

166
ejel

Cmd+., Profiles, Keys и выберите Left option Key acts as: +Esc.

У меня работает в emacs, хотя я не уверен, будет ли это иметь другие нежелательные эффекты.

187
Sam Keshavarzi

Перейдите на Закладки> Управление профилями. Затем выберите Профили клавиатуры> Глобальные и выберите Ключ опции как мета. Это работает для меня в версии 0.9.6.1201.

127
Dag Høidahl

В строке меню Iterm2 => Настройки => Профили выберите вкладку ключей и выберите

левая клавиша Option действует как + Esc

enter image description here

у меня тоже работал в irssi.

20
Hatem Nassrat

Я не мог заставить работать клавишу Alt, но есть обходной путь, который делает ее по крайней мере функциональной для навигации по Word с помощью клавиш курсора:

Перейти к следующему или предыдущему слову в iTerm, используя Alt/Option + клавиши со стрелками влево или вправо

9
nyenyec

Собираюсь здесь всем зомби-воскресением, но ради потомства -

В этом посте все получилось так, как вы хотите для меня, для Мб и Мф, при этом оставив параметр Option Key as Meta, чтобы вы не жертвовали модификатором (у меня есть сопоставления vim, использующие meta, лично) ,.

В итоге, в вашем профиле глобальной клавиатуры добавьте два новых сопоставления с настройками:

  1. Ключ в виде шестнадцатеричного кода, значение 62 для b, 66 для f (man ascii)
  2. Модификатор как опция
  3. Действие как отправить escape-последовательность, значение b или f

Единственное, что я до сих пор скучаю по Terminal.app - это Opt-Backspace для удаления с помощью Word. Для этого есть и другие обходные пути, но я просто пытаюсь научиться использовать Ctrl-w.

4
ches

Это проще в iTerm2. Перейдите в настройки-> закладка-> клавиатура и выберите "Параметры отправки + ESC". В iTerm2 вы можете настроить левую и правую клавиши выбора отдельно, поэтому не забывайте менять обе, если это то, что вы хотите. Ссылка на iTerm2: http://sites.google.com/site/iterm2home/

4
George

Я также нашел какое-то решение для stackoverflow, просто зайдите в профиль клавиатуры и в "Global" изменить "Option" как "+ ESC".

это работает для меня идеально =) Кстати, есть некоторые iterm патчи, смотрите здесь: http://www.emacswiki.org/emacs/EmacsForMacOS

2
holms

Перейдите в Закладки> Управление профилями. Затем выберите Keyboard Profiles> Global и выберите Option Key как + ESC.

Работает в iTerm Build 0.9.5.0611 и Build 0.9.6.20090415

2
mnb

Попробуйте "экспортировать LANG = C". Я не эксперт по emacs, но я обнаружил, что это позволяет emacs в OS X распознавать ключ Option как мета-ключ в iTerm,

0
fabian

Я не знаю про iTerm, но вы можете сделать это в Терминале. Инструкции можно найти здесь:

Emacs в Mac OS X привязки клавиш Leopard

0
Kyle Cronin

Вот что сработало для меня: Закладки> Управление профилями> Профили клавиатуры> Global/xterm> Клавиша Option как + Esc. При этом я могу использовать Option + Enter в Midnight Commander, и текущее выбранное имя файла/каталога отображается в командной строке, как и должно быть. Вариант Key как Meta у меня не работал. Моя сборка iTerm 0.10.

0
Mikhail at YugaByte