发现自己一个误区:evil不需要一直开启

evil的intergration对我来说一直有点麻烦。

evil用户需要evil-magit之类的快捷键包才能正常使用一部分包。具体有多少这样的包,看evil-collection就能知道。如果像我一样不用evil-collection,每个新加的包都要设置一遍快捷键才能用。

evil的快捷键优先级也比较烦,有的时候想定义一些自己的快捷键都不行。比如之前我想用eshell,C-p/n就不能用。

我现在已经不再全局开启evil,只在prog-modefundamental-modetext-mode开启evil-local-mode。很多Emacs工具直接就能用,很爽。包括magit,moccur,eshell等等。

我把s-e绑定到evil-local-mode。如果临时需要evil,我可以简单地s-e切换,也很方便。

另外我用光标颜色区分evil模式和emacs模式,这样不会按错。

你们有没有遇到我说的这些麻烦的地方,倾向于全局开启还是选择性开启evil?

然后我发现完全不用 Evil 并没有多少不便。然后就直接不用了。

我也试过完全不用evil,但是所有操作都要按至少一个快捷键有点累。感觉还是evil的单键轻松愉快。

1赞

那你需要的是更为灵活的 hydra

2赞

将 emacs 模式下的按键绑定到 Insert 模式下 + evil-collection + 自定义少量 evil-major-mode 的快捷键

我一直用自己开发的 one-key.el , 其实很方便

借助 evil 入门了 emacs,用了三年多,最后还是决心把 evil 删除了。

我算是 Vim 用的不够好的,对于 Vim 需要在不同模式中频繁切换已经感到疲惫了。

从来 没 开过

求文件链接地址

什么是evil?

https://www.emacswiki.org/emacs/OneKey

OneKey 是Emacs第一个提供命令分组的插件

4赞

有 evil-insert-state-modes 还有spacemacs里面的 evilified-state-evilify 可以拿出来用

1赞

虽然我一直习惯用Vim的编辑方式,但还是决定从emacs中把evil去掉,因为总是会遇到一些小问题。

1赞

具体有什么问题呢?我目前使用还不错,就是evil-escape 用kj的话移动会造成卡顿,后来干脆去掉了这个包。

为什么不用 evil-collection呢

的确,不再使用evil了,要用的话,可以open-with-vim

我发现这个问题的关键在于 evil 里面要遵寻 vim 里面一样的操作方式。有不少操作在 emacs 里面都有替换方案,只不过行为稍有区别。

如果说是一个更像 emacs 的操作方式的方案的话,如果直接使用 emacs 里面的这些快捷键来模拟的话。比如说 k 不是调用 kill-line 而是模拟 C-k,那么对于 paredit 之类的插件就都可以兼容了。

只不过这样的话就不可以达到和 Vim 完全一样的方式,但我不觉得 emacs 的方式效率就会低,可以重新思考这个问题。当然 Vim 是一个标准,也广泛应用,你做出任何一个新的方案,都会把自己钉死在 emacs 上面。

2赞

用了大半年多的evil-mode ,现在不管在哪里输入完东西都要摸一下Esc,真的有点烦啊。
最近也尝试了关闭evil-mode,直接用原生按键+which-key,左右的C 和 Meta 配合着用,还是不错的。
也不会太累手,只是速度没那么快。但很多时候,其实不需要那么快的速度。太快了反而手指疼。

这也是为什么centaur默认不支持evil的原因

我把 M-a 绑成 evil-escape ,基本不用按 Esc。因为我经常习惯性地 M-s 保存一下,所以我把 evil-escape 也放到 M-s 里了。另外 evil-end-of-line 绑到了 C-e,因为很不习惯用 % 移动光标到行末,按键位置太尴尬了。