[求助]evil mode下normal state有时c会删除一整行

evil-mode 在normal state有时莫名奇妙的会进入一种状态: 按c(删除等待输入范围) 会直接显示出cc(删除一整行)的效果, 类似的还有yyy, ddd, 每次进入这种状态无法找出原因, 只能重启! 请问有遇到同样问题的大神吗? 是什么原因, 怎么解决呢?

可能是某个扩展没有正常退出,导致 evil 状态判断出错。

你看一下变量 evil-ex-current-buffer,正常应该是 nil,如果不是,试试执行以下语句:

(setq evil-ex-current-buffer nil)
;; 或
(setq-default evil-ex-current-buffer nil)
1 个赞

非常感谢!! 我重启了, 暂时还没法稳定复现这种问题= .=

这个我记下了, 下次出现的时候来确认一下!!:smiling_face_with_three_hearts:

复现方法:按 / 进入 evil-ex-search-forward ,随便敲几个字符,再把光标挪回刚才的 window

解决办法:M-x evil-ex-search-abort

1 个赞

谢谢大神, 您说的没错:+1:

(add-hook 'minibuffer-exit-hook #'evil-ex-search-stop-session)