evil-next-line
和 evil-next-visual-line
的另一个明显的差别是当出现折行的时候:
1 | aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa$
| bbbbbb
2 | cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc$
| dddddd
-
evil-next-line
从 a 到 c
-
evil-next-visual-line
从 a 到 b
我正好需要第二种效果,所以完美避开了你现在的问题。如果你不需要这个,就自己 hack 吧,本质上应该就是如何计算字符宽度的问题。
1 个赞
et2010
22
我以前也用 visual line 的,但是因为 git 对长句 diff 不太友好,所以现在都是用 fill paragraph 的
确实,比较简单的解决办法就是把 evil-next-line
的绑定全部 remap 到 evil-next-visual-line
上。
hack 的事等有时间再做吧,这样已经足够我用了。
et2010
23
感谢 @twlz0ne,帮助我找到这个临时的解决方案:
(with-eval-after-load 'evil
(define-key evil-motion-state-map [remap evil-next-line] 'evil-next-visual-line)
(define-key evil-motion-state-map [remap evil-previous-line] 'evil-previous-visual-line))
要彻底解决这个问题,可能需要向 evil 提 issue 了。
LdBeth
24
Macport 可以在 Linux 上编译安装的。
et2010
25
刚想起来 evil 已经从 bitbucket 挪到 github 了,提交了 issue: