嗯,并不是想要分黑白,既然都能长期存活下来,必然都是非常好的东西。只是我体验了一段时间不适用,想咨询一下大家~
这个应该不算分黑白吧,更多是自己的感受。
vi这套模式存下来,更多是因为在终端好用。它不太需要Ctrl meta键。最近在页面上ssh连接,ctrl键几乎不能用,这时候vi就能发挥作用了。
emacs原生键位和evil的vim模式编辑我都用,而且都非常熟练,混合使用也非常高效,比各自单独使用要高效,1+1>2.
emacs原生键位,在键入一个新文件,并随时移动光标以及对键入做修改时,是高效的,vim的模式切换这时候就会感觉烦。
vim模式的优势在于,对一个现成的有内容的文件进行跳转以及修改时,是非常高效的。
vim是个编辑器(望文生义的意思就是,对现有的内容进行编辑)
当然这里不讨论在vim 可以在insert模式也设置一套emacs类似的用修饰键的方式,(否则这就成emacs了)。vim在原始insert模式下只是一个高级一点的记事本。
常用的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的便利。
C-[
与 <ESC>
绑定,是终端的特性。
终端模拟器将其转换为 <ESC>
(0x1b) 字符发给 vim,而 vim 并不知道你按下了 C-[
组合键。(它甚至不能确定你是按下了 <ESC>
键,还是因为某些问题(比如网络延迟)导致某个 control sequence 没有及时发送过来,所以你会发现 vim 响应 <ESC>
键会慢一些,当然这是题外话了)
似乎没有标准规定这一映射(如有误请指正),但它可以追溯到早年的终端机,比如 VT100:Digital VT100 User Guide: Programmer Information
原来如此,学到了
C-c应该是比你说的这个更方便一些
vim的key,真的只是习惯,我按esc已经忘记自己在按了。
确实,ESC 习惯就好了,没的按还不习惯了。
但是习惯后,如果一直是活在 vim 按键的世界里倒是没什么。如果经常还要用 word,outlook,excel这些没有 vim 按键的环境,经常会编辑好一些内容,一个 习惯性 ESC ,刚编辑好的内容没了。
我用了一个月 vim 按键,后来就果断用 emacs 按键了,现在不管在哪里,都是 emacs 按键。
同理 Emacs 会把 ESC 当做 Alt 键。
论模式编辑按键设计,Evil/Vim最大好处是,默认支持的环境多,切换作业环境,都适应按键。但其他方面,模式编辑当推狗哥的MEOW, 不接受反驳。哈哈哈哈
用过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
用惯spacemacs的hybrid模式的路过,emacs和vim按键我全都要