Как отправить S-RET в Emacs в терминале? - PullRequest
13 голосов
/ 20 августа 2010

В org-mode нажатие M-S-RET (meta-shift-return) создаст новую TODO в новой строке.Эта последовательность клавиш отправляет M-RET в emacs через мой терминал.Я проверил это с помощью C-h c ESC-S-RET, который возвращает M-RET is undefined в мини-буфере.

Я использую Snow Leopard с Emacs 23.2.1, запущенным в Terminal.app.Невозможно определить последовательность RET в настройках клавиатуры терминала.

Есть идеи, что является причиной отсутствия SHIFT?Обходные?

Ответы [ 4 ]

6 голосов
/ 09 августа 2012

Вы можете заставить Emacs притвориться, что он получил S-RET с C-x @ S RET (обратите внимание на верхний регистр S).

Это также работает для добавления модификаторов control, meta, alt, hyper или super; введите C-x @ C-h для списка привязок. Раздел Ключи модификатора в руководстве по Emacs также упоминает об этом.

5 голосов
/ 20 августа 2010

Как правило, множество нажатий клавиш просто невозможно отправить через терминал, поскольку терминалы эмулируют старый протокол, который допускает только 256 отдельных клавиш (или, может быть, только 128).

Скорее всего, когда вы нажимаете S-RET, Terminal.app делает точно так же, как если бы вы нажали RET.Таким образом, Emacs не может различить эти два случая.

3 голосов
/ 09 октября 2011

Перекрестная ссылка на другие вопросы и ответы:

Если вы используете xterm, то опция modifyOtherKeys может облегчить эту привязку.Подробности см. В следующих статьях:

Отправить "C- (" на Emacs в терминале VT100 / xterm (терминал Mac OS X)?

Я подозреваю, что Emacs распознает эти кодыпо умолчанию, но если нет, то также смотрите input-decode-map, как описано здесь: Связывание M- / M- в Emacs 23.1.1

2 голосов
/ 09 октября 2011

См. Объяснение и альтернативные сочетания клавиш для TTY здесь .

Некоторые из них работали для меня в терминале в Ubuntu Linux (как локально, так и через SSH), но, похоже, не все они работают. Например, альтернатива, предусмотренная для S-RET (которую я ожидал запустить org-table-copy-down), вместо этого, кажется, запускает org-clone-subtree-with-time-shift по какой-то причине. Однако я нашел полезный список альтернатив, особенно с префиксом M-. Например, ESC UP для M-UP для перемещения текста в таблицах.

...