Я использую термин Mx в Emacs, это осветляет мой день!
Но,
Могу ли я изменить управляющий символ терминала по умолчанию, Cc, на что-то более удобное, например Cx?
Я использую термин Mx в Emacs, это осветляет мой день!
Но,
Могу ли я изменить управляющий символ терминала по умолчанию, Cc, на что-то более удобное, например Cx?
Я пытался выяснить это в течение долгого времени, потому что термин получает правильное завершение табуляции, даже из подкоманд, но изменение буферных команд (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/17289/in-term-mode-how-can-i-make-line-mode-the-default
Вы делаете как режим оболочки, как лучше. В режиме 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, когда я хочу сделать что-то более сложное, например, скопировать часть сеанса в другой буфер.