初学 vim 的同学基本都会被两个问题坑过,一个是为啥这玩意进去之后不能愉快地插入,好吧,不能插入就算了,为啥还不能愉快地退出。
从产品设计的角度看,这绝对是失败的设计,还好 Vim 面向的群体是程序员。
今天就来侃一侃 vim 常用的三种模式,插入(insert)模式、normal(正常)模式、visual(可视模式),我会介绍下它们的使用场景,快捷键,模式切换以及 vim 为什么这么设计。
- insert: 插入模式,在 normal 模式下使用 a/i/o 等进入插入模式,可以用一些类似 shell 里的快捷键,比如 ctrl+f/b/h/w 等用来前移、后移、删除前一个字符、删除一个单词等,减少对回退键的使用,把手指集中在主键盘区。其他情况就和正常的编辑器插入一样了
- normal: 看到没,插入模式居然不是(normal)正常模式!!!其实你更多地是在 normal
- 模式中。有个知乎问题是打字速度对编程影响大吗?正因为不大所以 vim 才默认不是插入模式啊,在 normal 模式下你可以完成翻页、跳转、选择、快速删除、操作文本对象等等操作visual: 可视模式经常用来做块选,v/V/ctrl+v 分别选择字符、行、长方形区域,可以方便滴进行文本块的操作
至于怎么退出,相信能看到这个文章的人应该都知道了,就不提了。其实也是可以映射快捷键直接退出的,vim 的自由度非常高。甚至键盘 ESC、DELETE、上下左右、F 区全都坏掉也不影响你编辑,这其实也是笔者能够愉快使用迷你键盘(Poker2, HHKB)等的原因。另外我强烈建议你把 capslock 改成 ctrl ,ctrl 用的太频繁了但是不容易够到,改成 ctrl 就好多了。