M-RET и M-UP/DOWN не работают в режиме org-mode Emacs в консоли/терминале

Я использую emacs23 для Ubuntu 32-bit 10.04/10.10 с GNOME и Compiz.

Нажатие M-RET в списке org-mode plain в Emacs (GUI) вставляет новый элемент. Нажатие M-Up перемещает элемент вверх в списке.

Эти ключи работают не так, как ожидалось, в emacs -nw в терминале Terminator и gnome-terminal. Клавиша M-Up ничего не делает, тогда как клавиша M-RET просто перемещает курсор вниз по одной строке и отступы позиции. Клавиши также не работают в xterm, а вместо этого вставляют \215. Нажатие ESC-RET или ESC-Up вместо этого дает ожидаемую функциональность. Те же проблемы существуют, если я запускаю emacs -nw на безголовом сервере, доступ к которому осуществляется через ssh в терминах Terminator, gnome-terminal и xterm.

Я искал как в общем, так и в списке org-mode Gmane для ответа на этот вопрос, но ничего не нашел. Это известная проблема с org-mode или связана с эмулятором терминала и/или с диспетчером окон?

Ответы

Ответ 1

В дополнение к ключам в моем вопросе, S-TAB, S-Left, S-Right, S-Up и S-Down не работали над ssh и PuTTY. Использование определенных ключей в соединении TTY (ssh, screen, PuTTY) является известной проблемой. Альтернативные ключи включены в орг-режим в виде подробного здесь.

Ответ 2

Меню эмулятора терминала не позволяет клавише M, предназначенному для передачи Emacs, в Emacs. Чтобы Emacs получил ключ M, как и предполагалось, вы можете либо использовать Esc, либо отключить строку меню и использовать M ключ в Emacs, как обычно.

ДОБАВЛЕНО:

Для xterm, если вы нажмете CTRL + Mouse Button 1, вы увидите "Meta Send Escape". Вам нужно убедиться, что опция включена/включена, чтобы сделать M работать так, как следует в Emacs.

Ответ 3

Существуют альтернативные комбинации клавиш

для эквивалента M-RET M C-m   "<return>" - это клавиша Return ↩, а emacs - в графическом пользовательском интерфейсе.

"RET" - это клавиша Return ↩, а emacs - в терминале.

"RET" также эквивалентен "C-m" (【Ctrl + m】). (http://ergoemacs.org/emacs/emacs_key_notation_return_vs_RET.html)

в качестве эквивалентов для M- <up/down> вы можете использовать

ESC-<up>
ESC-<down>