正确编辑带有邪恶模式的shell缓冲区



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

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

emacs不是在我想要的地方插入a,而是在单词的末尾插入a

发生了什么事?我怎样才能达到我所期望的正常行为?

你必须生成一个ESC,它可以被终端吃掉,但不能被emacs/evil吃掉。如果你只按下ESC,那么emacs/evil会吃掉ESC而不将ESC发送到终端。

通过在emacs-mode下点击C-C C-E,可以生成一个被终端吃掉的ESC,而不是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.

最新更新