[请教] 无法适应Doom emacs的evil 模式,有人能介绍一下evil的优点好处和技巧吗?

嗯,并不是想要分黑白,既然都能长期存活下来,必然都是非常好的东西。只是我体验了一段时间不适用,想咨询一下大家~

这个应该不算分黑白吧,更多是自己的感受。

vi这套模式存下来,更多是因为在终端好用。它不太需要Ctrl meta键。最近在页面上ssh连接,ctrl键几乎不能用,这时候vi就能发挥作用了。

emacs原生键位和evil的vim模式编辑我都用,而且都非常熟练,混合使用也非常高效,比各自单独使用要高效,1+1>2.

emacs原生键位,在键入一个新文件,并随时移动光标以及对键入做修改时,是高效的,vim的模式切换这时候就会感觉烦。

vim模式的优势在于,对一个现成的有内容的文件进行跳转以及修改时,是非常高效的。

vim是个编辑器(望文生义的意思就是,对现有的内容进行编辑)

当然这里不讨论在vim 可以在insert模式也设置一套emacs类似的用修饰键的方式,(否则这就成emacs了)。vim在原始insert模式下只是一个高级一点的记事本。

2 个赞

常用的emacs命令,我也极少用Alt Ctrl Shift这种组合按键,如果遇到这种默认按键,会改成sequence按键, 像 C-x x x。和vim的sequence方式异曲同工,而且还不用切换模式,不管在什么模式下都能随时按,这是比vim要切下模式要好的。

另外我的SPACE键改成了单击时是空格,长按或与其他键组合按时是Ctrl,实现了emacs Ctrl- 和 evil leader 按键的双重功能,emacs和vim的混合使用,浑然天成了。

用esc,vim下另外可以用 C-[ 来当ESC用。

和emacs一样,不要想着可以在其他ide上完整体验vim的便利。

1 个赞

C-[<ESC> 绑定,是终端的特性。

终端模拟器将其转换为 <ESC> (0x1b) 字符发给 vim,而 vim 并不知道你按下了 C-[ 组合键。(它甚至不能确定你是按下了 <ESC> 键,还是因为某些问题(比如网络延迟)导致某个 control sequence 没有及时发送过来,所以你会发现 vim 响应 <ESC> 键会慢一些,当然这是题外话了)

似乎没有标准规定这一映射(如有误请指正),但它可以追溯到早年的终端机,比如 VT100:Digital VT100 User Guide: Programmer Information

1 个赞

原来如此,学到了 :+1:

C-c应该是比你说的这个更方便一些 :smile:

vim的key,真的只是习惯,我按esc已经忘记自己在按了。

确实,ESC 习惯就好了,没的按还不习惯了。

但是习惯后,如果一直是活在 vim 按键的世界里倒是没什么。如果经常还要用 word,outlook,excel这些没有 vim 按键的环境,经常会编辑好一些内容,一个 习惯性 ESC ,刚编辑好的内容没了。

我用了一个月 vim 按键,后来就果断用 emacs 按键了,现在不管在哪里,都是 emacs 按键。

同理 Emacs 会把 ESC 当做 Alt 键。

论模式编辑按键设计,Evil/Vim最大好处是,默认支持的环境多,切换作业环境,都适应按键。但其他方面,模式编辑当推狗哥的MEOW, 不接受反驳。哈哈哈哈

1 个赞

用过vim, doom,经常需要按j,k到当前看的行。现在改用emacs按键后,C-n,C-p按得没j,k舒服。只有改掉这个习惯,只用C-v,M-v了。

快速按jk或者kj,应该能触发esc,即使我很早以前用vim,也会这样配置,这样就不会有esc难按的问题了

那和用方向键有啥差別?

我要么用触摸版,要么用 swiper,基本不会想向上还是向下几行。用 vim 的时候超过了3行左右也是用 / ? 来定位。

我其实就是想做到像你这样

Ctrl 和 Esc 可以共存在同一个键位上的。因为触发条件不同,ESC 是单按一次,Ctrl 只能组合按。我把 CapsLock 改成单按(短按)触发成 ESC,组合按(长按)触发成 Ctrl

按各种键做模式切换的都有,但好像就是没有 按shift键的

evil的操作感觉在不需要编辑文本(打字),仅仅只是文本阅读的情况下确实很高效。

用惯spacemacs的hybrid模式的路过,emacs和vim按键我全都要

3 个赞