Evil按键绑定的副作用怎么解决?

新安装的Evil插件,配置仅3句。初次使用,在查看info手册时发现了副作用,求助坛友。

(setq evil-respect-visual-line-mode 1) 
(require 'evil)
(evil-mode 1)

第一个是外观,行号是通过(global-linum-mode t) 开启的,在安装了Evil之后发现最后行总是多一个不存在的行号,挤在一起。除了info手册buffer,其他buffer都显示正常。

第二个是enter键行为,查看info手册,键行为变成了跳转到下一行,在标题(menu)、链接上无法跳转。这个必须要evil-collection来解决吧,我只想尽肯能少装插件。

这两个问题,切换motion-state、emacs-state均一样。

环境:Window 10,原生GNU Emacs 28.2 。

一个帖子一个问题,在标题中写清楚

  1. 用 display-line-numbers-mode
  2. 你也可以自己绑,但是 evil-collections 会省下很多事 https://github.com/emacs-evil/evil-collection/blob/1f34f5ec4ee8e7945ecd1f885f18789526a905ee/modes/info/evil-collection-info.el#L54

请教一下,display-line-numbers-mode和global-linum-mode,有什么区别?

前者用 c 实现的 性能高很多。

linum 已经淘汰了

使用了global-display-line-mode后,行号显示问题没有了。

evil的emacs-state和insert-state感觉有点重复,怎么保留一个?

这两不是一回事,不重复啊。正常用normal和insert就好。

其实都是插入,用emacs绑定还好些

你要想要在插入使用 emacs-state 可以参考 Emacs evil-mode how to change insert-state to emacs-state automatically - Stack Overflow

1 个赞

在你需要同时显示 绝对行号 和 相对行号 时挺有用的