用邪恶模式正确编辑shell缓冲区

时间:2016-10-11 01:41:08

标签: emacs evil-mode multi-term

我正在使用邪恶模式。当我输入M-x multi-term时,zsh会打开。

然后我在终端中输入bcdef。然后我点击ESC进入正常模式,然后点击b,这样我的光标就会放在b字的bcdef上。然后我点击i进入插入模式,然后输入a以插入a

不是将a插入我想要的地方,而是将ema a插入到单词的末尾。

发生了什么事?我如何实现理想的正常行为?

这只发生在shell缓冲区中。

1 个答案:

答案 0 :(得分:0)

你必须产生一个被终端吃掉的ESC,而不是emacs / evil。如果你只按ESC,那么emacs / evil会占用ESC而不会将ESC发送到终端。

您可以通过在emacs模式下点击ESC来生成终端吃掉的C-C C-E,而不是emacs。以下是C-h k告诉我的内容:

C-c C-e runs the command term-send-esc (found in term-raw-map), which
is an interactive compiled Lisp function in
‘~/code/sources/dotfiles/emacs/elpa/multi-term-20160619.233/multi-term.el’.

It is bound to C-c <escape>, C-c C-e, <emacs-state> C-c <escape>.

(term-send-esc)

Send ESC in term mode.