в режиме term-mode, как мне запускать обычные команды emacs?

12

После запуска режима term, Emacs делегирует все нажатия клавиш на терминал, который вы используете.

Это отлично подходит для целей совместимости, но оставляет функциональность Emacs позади. Как мне вернуться к функциям Emacs (например, для переключения буфера).

zck
источник

Ответы:

15

В режиме term-mode есть два режима ввода . В режиме ввода по умолчанию - char-modeвсе нажатия клавиш (кроме C-c) отправляются на терминал, чтобы делать то, что он хочет.

Если вы измените режим ввода на line-mode, тогда будут работать обычные команды Emacs. Вы можете переключиться на line-modeс C-c C-j. Вы можете переключиться обратно с char-modeпомощью C-c C-k.

zck
источник
5
Обратите внимание, что есть также term-escape-char(по умолчанию C-c). Это нажатие клавиши не отправляется непосредственно на терминал char-mode, а транслируется на C-x. С его помощью вы можете переключаться из char-modeбуфера терминов в другое окно, используя C-c o(переведенные в C-x o), в другой буфер с помощью C-c b( C-x b), получать список буферов с помощью C-c C-b( C-x C-b) и т. Д.
Константин
1
Как я могу сделать линейный режим по умолчанию?
haknick
1
@ haknick Я не уверен, что это случайно - вам следует задать отдельный вопрос об этом и посмотреть, если кто-нибудь знает.
zck