今天把doom-emacs和包更新后,出现evil operator无法操作正行的问题。比如有一下文字,光标在s
上,按vj
会选中部分行,这个好像正常。
取消选择,按dj
后,没有删除两个整行,只删除了上面高亮的部分。
复制也是只能复制高亮的部分。
和之前的效果不一样,之前可以删除或复制完整的行,不知道要怎么解决,没有头绪。
今天把doom-emacs和包更新后,出现evil operator无法操作正行的问题。比如有一下文字,光标在s
上,按vj
会选中部分行,这个好像正常。
取消选择,按dj
后,没有删除两个整行,只删除了上面高亮的部分。
复制也是只能复制高亮的部分。
和之前的效果不一样,之前可以删除或复制完整的行,不知道要怎么解决,没有头绪。
你现在的j/k是visual-line而不是logical-line。找找自己的配置,是不是哪里把j/k绑定到evil-next-visual-line
和evil-previous-visual-line
上了。
原来是visual line mode的问题, evil添加一句 (defvar evil-respect-visual-line-mode t)
. 禁用就行了。
好像要关掉visual line mode, (setq evil-respect-visual-line-mode nil)
好像不行。要在加载evil前设置才行,不知道doom-emacs怎么在加载evil前设置。
在配置里放:
(use-package evil
:defer t
:init
(setq evil-respect-visual-line-mode nil))
好像不行,我之前问过这个问题,doom-emacs配置已经有了(use-package evil)
, 当同时存在多个use-package
时, 最后出现的use-package
中的:init
是否还起作用?
把 (setq evil-respect-visual-line-mode nil)
放到 init.el
就可以了,不知道这样用好不好。
(use-package foo
:init (blah blah)
这个blah blah一定会在foo这个包之前执行,是否一定在别的包加载之前执行不一定
但是针对我这个问题,好像不起作用