一直以来都是以 Vim 作为主力 coding 编辑器,分享一下自己对 Vim 的一些感受,包括怎么学习,日常使用的 tips
怎么学习 Vim #
记得初次接触 Vim 是在大学课上看到我的大学导师时不时使用它来 coding, 那里觉得这工具逼格不小,可以炫酷,从那以后就时不时的在 terminal 里面敲击vim
命令来折腾。一开始真的很不从心,什么insert mode
,edit mode
,hjkl 移动
等,操作起来很笨拙,但是并没有因为这些而有丢弃使用 Vim 的想法,慢慢的(差不多一个月吧,平常时坚持使用 vim 进行编辑操作)也就习惯这些常用的操作,也没有了起初的不适应感。记得大学的时候看过一篇学习 assemble 语言的文章,依稀记得作者在里面表达过这样想法:"编程效率的高低不再于你使用哪一种编程语言,而在于你对所使用的编辑语言的熟悉程度,即便是汇编也是如此"
个人多数同意他的想法,同样使用 Vim 也是如此。网上多说 Vim 的学习曲线陡,其实每学习一样新的知识多数都会经历一段吭哇的适应过程,当然恰当的学习方法只可以很大程度的加快学习的进度和把握的深度:
* vimtutor 从来使用过 Vim 的人,跟着这里面的教程走一遍,有个知识点的印象,再练习几遍都可以掌握 Vim 的基础操作
* 日常坚持使用 Vim 可以过几遍 vimtutor 还是觉得对 Vim 不够上手,日常坚持使用 Vim,训练肌肉养成操作习惯
* 多看 screencasts Vim 具有强大的扩展性,多数 Vimer 基于日常的需求写出了许多实用的插件和 script, 相信大多数插件都多可以满足提高日常开发的要求,而 screencasts 简短明了的介绍了许多 tips,这里推荐 vimcast.org。当然也可以自己学习 vim script 写插件来满足自己的欲望。
个人的日常使用 #
主要插件为:
- Vundle 管理插件
- YCM(YouCompleteMe) 代码提示和补全
- Ultisnips 代码片段管理,配合 YCM 使用
- tarbag 函数目录助手
- nertree 文件,目录浏览助手
- ctrlp 文件浏览助手
- ack 搜索助手
- vim-go go 编程工具链
我的 vimrc
也可以参考:
vimbits 汇集了常用高效的配置 tips
跟我一起学习 VIM - The Life Changing Editor
简明 Vim 练级攻略
Learning Vim in a Week
看一下 Google 的大牛怎样使用 vim 流利到什么程度
vim cheatsheet
演示视频
youtube
youku