Терминал OS X: мета-ключ + функциональность alt одновременно - PullRequest
36 голосов
/ 01 февраля 2009

Есть ли способ использовать alt / option ключ в качестве метаключа, но при этом иметь возможность использовать его для создания некоторых символов, которые в нем нуждаются?

Например, в моей локальной раскладке клавиатуры:

  • @ - это alt + 2
  • \ - это alt + shift + 7
  • | is alt + 7
  • и т.д.

Итак, если я установлю alt как мета-ключ, я больше не смогу создавать эти символы. С другой стороны, с помощью «нажмите клавишу esc, отпустите клавишу esc, нажмите клавишу», чтобы сделать последовательность мета-клавиш, из-за которых мои руки болят.

Любые пользователи Emacs с международными клавиатурами, которые решили эту проблему, пожалуйста, дайте любые советы, которые у вас могут быть! :)

Редактировать:

Похоже, что я могу установить alt в качестве мета-ключа и затем добавить такие настройки в inputrc: "\e2": "@" Это работает в оболочке bash, но все равно не будет работать с Emacs, так что ничего хорошего.

Ответы [ 16 ]

2 голосов
/ 07 августа 2014

Работает следующее решение: UNOBTRUSIVE , и вам не требуется iTerm2 или Aquamacs или что-либо еще.

Шаг 1

Оставьте «Использовать опцию как мета-ключ» включенным ON в настройках Terminal.app.

Шаг 2

Редактировать ~/.inputrc ( сделать, если он еще не существует ), добавить следующую строку:

"\e3": '#'

Это переназначит ⌥ alt + 3 , так что вы получите # символ , как и ожидалось в терминале , вместо того, чтобы досадно возвращаться с подсказка (arg: 3).

Шаг 3

Редактировать ~/.emacs, добавить следующую строку:

(global-set-key (kbd "M-3") "#")

Это переназначит ⌥ alt + 3 , так что вы получите # символ , как и ожидалось внутри emacs , вместо того, чтобы раздражать, ничего не делая.


Предостережение 1 , Это просто 1 повторная карта. Так что ⌥ alt + ? ( другие ключи ) не будут переназначены, например, Вы можете переназначить ⌥ alt + n для получения клавиши тильды ~. Просто выполните те же шаги, как описано выше, очевидно, переключая 3 с любой клавишей, которая вам нужна, чтобы двигаться вперед.

Предостережение 2, Когда вы ssh попадете в другой ящик, вы столкнетесь с такими же трудностями, но все, что вам нужно сделать, это отредактировать файлы ~/.inputrc и ~/.emacs в этом окне.

Предостережение 3, Я британец, на британском MacBook. Поэтому я не могу поручиться за иностранные MacBook.

2 голосов
/ 28 августа 2010

Aquamacs поддерживает это, по крайней мере, для моей (французской) клавиатуры. После установки Aquamacs (с помощью drag'n'drop) вы можете перейти в «Настройки» -> «Параметры», «Команда», «Мета-клавиши» и выбрать подходящую настройку для своей клавиатуры (в моем случае, ... «Мета и французский»). Я не разбираюсь в Emacs, но все полезные комбинации, которые я пробовал, похоже, работают ([, {, | и т. Д.).

Поддерживаемые клавиатуры в соответствии с пунктами меню версии 2.1:

  • Британский
  • США
  • Swiss-французский
  • Swiss-немецкий
  • Финский
  • Итальянско-Pro
  • Итальянский
  • Испанский
  • Французский
  • Немецкий

Я думаю, команда Aquamacs будет благодарна за любой вклад, если ваша клавиатура не появится в списке.

1 голос
/ 06 декабря 2009

Я укусил траву и вместо этого начал нажимать клавишу выхода. Вы привыкли к этому ...

0 голосов
/ 09 апреля 2019

Я назначил escape для ключа блокировки шапки, и он работает довольно хорошо. Вы можете легко настроить его в системных настройках Mac> клавиатура> клавиши-модификаторы.

https://apple.stackexchange.com/a/282092/236382

0 голосов
/ 05 апреля 2018

Это на несколько лет позже, но для людей, которые переходят на эту страницу во время поиска решения, как и я, я решил создать его самостоятельно, которое не требует отказа от Terminal.app в пользу iTerm 2.

Это простое приложение в строке состояния, которое работает в фоновом режиме и переписывает все события клавиш левой клавишей Alt + $ KEY в два ключевых события в быстрой последовательности: Esc, затем $ KEY; однако он делает это только в том случае, если Terminal.app является целевым приложением.

Вы можете найти его здесь на https://github.com/habibalamin/Metalt.

0 голосов
/ 14 января 2010

Я хотел бы изменить этот вопрос или что-то еще, потому что я также использую шведскую клавиатуру, где я должен нажать alt + 7 или alt + shift + 7, чтобы сделать | и \ соответственно.

Я также использую Irssi в Terminal.app, и они плохо сочетаются.

Я давно пользуюсь vim, поэтому emacs для меня не проблема.

Нет ли способа переназначить CMD в Meta в Terminal.app?

До сих пор я выживал, просто набирая / wg N в Irssi, потому что эти символы в моем терминале намного важнее, чем IRC.

Хотя решение стоило бы мне золота! :)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...