发送EOF(^ D)到emacs ansi-term

时间:2014-11-28 22:25:56

标签: emacs eof evil-mode ansi-term

当我在Emacs中使用ansi-term模式并运行cat之类的程序时,^ D并不像通常那样结束输入。事实上,它似乎根本没有做任何事情。

^ C仍然有效。

我安装了Evil

2 个答案:

答案 0 :(得分:3)

ansi-term有两个不同的输入子模式。要以默认(字符)模式发送文字C-d,只需按C-d即可。但是,如果您处于线路模式,则需要C-c C-d。或者您可以使用C-c C-k切换到字符模式(并使用C-c C-j返回到行模式)。

另见the documentation

答案 1 :(得分:0)

尝试将这些添加到您的配置中(加载恶意后):

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

在我的emacs上进行此修改后,cat后跟^D在ansi-term char-mode中结束输入并将我带回提示符。确保你知道char-mode和line-mode之间的区别,比如提到的tripleee!