2014-11-28 3 views
0

Когда я использую ansi-term mode в Emacs и запускаю программу, такую ​​как cat,^D не завершает ввод, как обычно. Если это факт, похоже, он ничего не делает.Отправить EOF (^ D) в emacs ansi-term

^C все еще работает.

У меня Зла установлен

ответ

0

Попробуй добавить их к вашей конфигурации (после загрузки зла):

(delete 'term-mode evil-insert-state-modes) 
(add-to-list 'evil-emacs-state-modes 'term-mode) 

На моей Emacs с этой модификацией, cat с последующим ^D в ANSI-термин полукокс режиме заканчивает ввод и вернуть меня к Подсказка. Убедитесь, что вы знаете разницу между char-mode и линейным режимом, как упомянуто выше.

+0

Я полностью забыл об этом вопросе и не использовал Emacs в течение длительного времени. Спасибо за предоставление решения, хотя! – Functino

2

ansi-term имеет два различных входных подрежимы. Чтобы отправить литерал C-d в режиме по умолчанию (символ), просто нажмите C-d. Однако, если вы находитесь в режиме линии, вам нужно C-c C-d. Или вы можете переключиться в режим символа с C-c C-k (и обратно в режим линии с C-c C-j).

См. Также the documentation.

+0

К сожалению, C-c C-d меня бросает в «Список каталогов (краткое):« prompt », а C-c C-k просто убивает мой ввод на клавиатуре. Может быть, с установкой Evil это испортило (возможно, следовало бы это упомянуть)? В любом случае, похоже, что я не буду использовать много Emacs, но спасибо за ответ! – Functino

+0

См. Также http://stackoverflow.com/questions/28567522/use-ctrl-x-commands-while-in-terminal-in-emacs/28567771#28567771, где этот ответ подходит лучше. – tripleee

Смежные вопросы