1

Я использую термин Mx в Emacs, это осветляет мой день!

Но,

Могу ли я изменить управляющий символ терминала по умолчанию, Cc, на что-то более удобное, например Cx?

2 ответа2

1

Я пытался выяснить это в течение долгого времени, потому что термин получает правильное завершение табуляции, даже из подкоманд, но изменение буферных команд (C-x {left/right}), потому что у вас есть открытый термин, раздражает как черт.

Сегодня я верю, что добился успеха. C-x ведет себя как обычно. M-x требует префикса C-x , который все еще немного раздражает, но, тем не менее, является огромным улучшением. C-c немедленно приводит к C-c для подоболочки.

В любом случае, без лишних слов, вставьте это в свой .emacs и наслаждайтесь режимом term намного больше, чем раньше:

(defun term-use-sensible-escape-char (&rest ignored)
  (term-set-escape-char 24))
(advice-add 'term :after #'term-use-sensible-escape-char)

Источники:

https://emacs.stackexchange.com/questions/18778/why-does-term-char-mode-use-cc-as-its-default-escape-character

https://emacs.stackexchange.com/questions/17289/in-term-mode-how-can-i-make-line-mode-the-default

1

Вы делаете как режим оболочки, как лучше. В режиме term вы можете переключиться из режима char (по умолчанию) в линейный режим с помощью C-c C-j (переключиться обратно в режим char с помощью C-c C-k). линейный режим больше похож на режим оболочки, где C-x - escape-символ. Насколько я понимаю, причина использования термина режим заключается в том, что он работает больше как обычный терминал, чем как режим оболочки. В принципе, вы можете использовать терминальный emacs внутри режима term и передать управляющий символ C-x этому экземпляру emacs. Полезно, если вы используете термин режим для сеанса SSH на другой машине.

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .