怎样在中英文混排的文档中令光标上下移动时严格对齐?

evil-next-lineevil-next-visual-line 的另一个明显的差别是当出现折行的时候:

1 | aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa$
  | bbbbbb
2 | cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc$
  | dddddd
  • evil-next-line 从 a 到 c
  • evil-next-visual-line 从 a 到 b

我正好需要第二种效果,所以完美避开了你现在的问题。如果你不需要这个,就自己 hack 吧,本质上应该就是如何计算字符宽度的问题。

1 个赞

我以前也用 visual line 的,但是因为 git 对长句 diff 不太友好,所以现在都是用 fill paragraph 的

确实,比较简单的解决办法就是把 evil-next-line 的绑定全部 remap 到 evil-next-visual-line 上。

hack 的事等有时间再做吧,这样已经足够我用了。

感谢 @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 了。

Macport 可以在 Linux 上编译安装的。

刚想起来 evil 已经从 bitbucket 挪到 github 了,提交了 issue: