Vim 入门
1. Vim 入门资料
1.1 vim 的 tutor
终端直接输入:vimtutor
1.2 vim manual
/usr/share/vim/vim81/doc
1.3 github vim 入门到精通
Vim 从入门到精通: https://github.com/wsdjeg/vim-galore-zh_cn
2. Vim 入门首个目标
把jk映射成
。具体指令为 inoremap jk <Esc>
。这条是最重要的一条。设置完这条之后几乎马上就可以体会到vim的好处了。可以试试用^$移动到行首行末,用w移动到单词结尾,ddp交换上下两行位置,yyp复制当前行,gg跳到文件开头,G跳到文件结尾,gd跳到定义,/def跳到下个函数开始的地方。用cw修改当前单词,用cf.直接修改到下个.号。用ci(直接修改括号里的内容。写代码时,每当写完一段有小停顿,习惯性按下jk进入normal模式。不要折腾vim插件,直接用vim。我的建议是将你原来使用的ide中的vim插件打开就行了。不要浪费太多时间在快捷键的配置上。目前对我来说jk到esc就是全部需要的配置,在可见的未来我也准备用ctrl+c或者ctrl+[替换掉jk。
适应面向搜索编程的思想。我个人感觉vim快最重要的原因就是精准选择。而实现精准选择的必要途径就是搜索。搜索是vim的核心。比如说你需要跳到下个函数,那直接/def。再比如需要跳到括号末,直接f)。终端中,刚输入完python eval.py device cuda data.batch_size 256,发现这行指令中的python要改成python3,可以 直接Fna3。又发现前面要加sudo,直接^isudo。总之一切精确修改都是通过搜索来完成的,这与我们不使用vim编程时搜索只用来查找代码有本质区别。
精确跳转+可视化模式。掌握精确跳转后,结合v V ctrl+v 这三种可视化模式进行精确选择,配合cdyrp等指令,可以完成极其灵活的代码增删改查。到这一步你会发现vim对你编程速度的提高已经是革命性的了。