【发布时间】:2015-01-27 14:03:14
【问题描述】:
当我在 Emacs 中使用 ansi-term 模式并运行诸如 cat 之类的程序时,^D 不会像通常那样结束输入。事实上,它似乎根本没有做任何事情。
^C 仍然有效。
我安装了 Evil
【问题讨论】:
标签: emacs eof evil-mode ansi-term
当我在 Emacs 中使用 ansi-term 模式并运行诸如 cat 之类的程序时,^D 不会像通常那样结束输入。事实上,它似乎根本没有做任何事情。
^C 仍然有效。
我安装了 Evil
【问题讨论】:
标签: emacs eof evil-mode ansi-term
ansi-term 有两种不同的输入子模式。要在默认(字符)模式下发送文字 C-d,只需按 C-d。但是,如果您处于线路模式,则需要C-c C-d。或者您可以使用C-c C-k 切换到字符模式(然后使用C-c C-j 返回到行模式)。
【讨论】:
尝试将这些添加到您的配置中(在加载 evil 之后):
(delete 'term-mode evil-insert-state-modes)
(add-to-list 'evil-emacs-state-modes 'term-mode)
在我的 emacs 上进行此修改,cat 后跟 ^D in ansi-term char-mode 结束输入并让我回到提示符。确保你知道 char-mode 和 line-mode 之间的区别,比如之前提到的 Tripleee!
【讨论】:
(define-key evil-insert-state-map (kbd "C-d") 'self-insert-command)。