Активируйте tmux в оболочке emacs - PullRequest
0 голосов
/ 21 июня 2019

Вызывая 'shell' M-x shell,
и планируем начать сеанс tmux

сообщать об ошибках

$ tmux 
open terminal failed: terminal does not support clear

В чем проблема?

Если вы вызываете `ansi-term ', операции восстановления и вставки недопустимы.

Итак, shell работает лучше, чем ansi-term в процедурах.

Как активировать tmux внутри оболочки

1 Ответ

3 голосов
/ 22 июня 2019

tmux нужен реальный терминал, а shell этого не обеспечивает (как следует из полученной ошибки). Так что вам нужно использовать term с tmux.

Или вы можете использовать встроенную функциональность Emacs, чтобы иметь функции tmux. Например. C-x 2 и C-x 3 разделят фрейм на окна, чтобы вы могли иметь несколько терминалов в фрейме (фрейм Emacs - это то, что большинство приложений будет называть окном). Запустите сервер emacs и emacsclient, чтобы иметь сеансы, к которым вы можете подключиться и продолжать работу после закрытия фрейма.

Копирование (M-w) и вставка (S-<insert>) должны работать по умолчанию. Если вы хотите поиграть с привязками, карта ключей называется term-raw-map, а команды - kill-ring-save и term-paste.

Также узнайте разницу между term-line-mode (C-c C-j) и term-char-mode (C-c C-k). Вкратце, линейный режим ведет себя больше как shell, а режим char ведет себя больше как реальный терминал, при этом большинство комбинаций клавиш Emacs недоступны. Лично я почти всегда сохраняю term буферы в режиме char и добавляю несколько комбинаций клавиш в term-raw-map, чтобы я мог запускать определенные команды Emacs.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...