Vim诞生于只有键盘而没有指点设备的年代,那时候的键盘也没有如今这样丰富的功能键(想象一下只有Shift和Ctrl的键盘!)。
Vim是基于Mode的。通过不同Mode间的切换,Vim可以仅用按键组合来实现各种功能。Vim命令的基本格式是Register-Repeats-Operation-Movement:
- Register本质上是一个Cut&Paste的buffer;与其它编辑器不同,在Vim中可供选择的Register非常多。
- Repeats是操作的重复次数。默认为1。
- Operation是操作,通过按键来告诉Vim需要进行的操作。
- Movement决定了Cursor的位置,比较复杂。
这个格式是Vim使用的核心。比如,13yy表示(no-register-name) 13 times(13-repeats) yank(y-Operation) the current line(y-Movement)。
退出Vim的方法:
:q, :q!, :qa, :qa!, :wq, ZZ
进入Vim的方法:
vim, vim, vim +23 , vimtutor, vimdiff
Cursor定位技巧:
- 用()可以快速跳到上下空白行
- %自动寻找匹配各种括号并跳转
- 可以用t(to)跳转到所查找字母的前一个位置, f(find)则是跳到字母的位置。
修改技巧:
- s(substitute)删除并进入insert mode
- R保持修改直到按下Esc
- c(change)并附带一个Movment。和Cursor定位一起使用有奇效。
- C修改一整行。
查找技巧:
- ?向前查找。