我正在使用 evil-mode 。当我输入 M-x multi-term
zsh 时打开。
然后我在终端中输入 bcdef
。然后我按 ESC
进入正常模式,然后按 b
所以我的光标放在 bcdef
字的 b
上.然后我点击 i
进入插入模式,然后我输入 a
插入一个 a
。
emacs 不是在我想要的地方插入 a
,而是在单词的末尾插入 a
。
发生了什么事?我如何实现所需的正常行为?
这只发生在 shell 缓冲区中。
最佳答案
您必须生成一个 ESC
,它会被终端吃掉,但不会被 emacs/evil 吃掉。如果你只是按 ESC
,那么 emacs/evil 会吃掉 ESC
而不会将 ESC
发送到终端。
您可以通过在 emacs 模式下按 C-C C-E
来生成一个被终端吃掉但不被 emacs 吃掉的 ESC
。以下是 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.
关于emacs - 使用 evil-mode 正确编辑 shell 缓冲区,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39969264/