在选择编辑器上面,我是一个纠结的人,曾经年少的我执着地追求一款万能的编辑器,可以支持所有编辑语言,灵活可定制,可纯粹用键盘操作。符合这种条件的编辑器,非vim莫属。
在投入vim阵营之前,我对其是敬而远之的。第一次使用vim,我的第一感觉是:
"挖槽,这是什么鬼?行号没有,语法高亮没有,自动提示也没有,这跟txt有什么区别... 赶紧退出,靠,怎么还退不出?这反人类的东西还被誉为编辑器之神?“
后来看了大神们对于vim的配置,才知道vim原来还可以这么玩,推荐阅读 老司机乱谈编辑器之神,这篇文章让我惊叹于vim的牛逼,感觉vim无所不能,开始想象着自己学会vim后,在其他人都用各种ide的情况下,我将vim窗口最大化,键指如飞,犹如弹钢琴的艺术家。这个装逼的场景,想想都觉得飘飘然...
在各种酷炫功能的吸引下,我开始沉迷于如何折腾vim
vim装逼插件
装逼是人类的刚需
vim的学习曲线比较陡峭,如果你是纯粹的小白,强烈推荐 简明 VIM 练级攻略,跟着此文练习几天,vim最基本的功能就熟悉了。
对vim有初步的认知后,要进一步系统地学习vim,《Vim实用技巧(第2版)》是不二选择
Vim实用技巧(第2版)
掌握vim的基础命令后,我就开始了折腾vim的辛酸血泪史,一开始是自己配置.vimrc
,后来看到网上有很多现成的配置,如号称vim终极配置的 spf13-vim,国内的 spacevim 将vim配置得如同开箱即用的ide
在尝试各种vim配置后,没有哪一个配置是真正用得称手的,总有些坑在等着我,而且将vim打造得如此复杂,总感觉格格不入,貌合神离,且并没有ide好用。
既然如此,为何要去折腾vim? 直接用ide不就行了?
可是习惯了vim的模式切换,键位操作,再也无法去用ide那些奇奇怪怪的快捷键组合。
最终的解决方案就是用 jetbrains全家桶,然后安装ideavim
插件,既能享受ide集成环境的便利,又得继续使用强大的vim, 而且jetbrains全家桶已经囊括了主流编程语言,不管是写PHP(phpstorm), 还是撸python(pyCharm), 又或者是玩golang(GoLang),都有对应的ide,但使用起来就如同在用同一款编辑器
vim是学不完的,即使是用了vim十年的老手,也不敢说完全掌握了vim。但常用的vim指令并不是很多,以下列举我常用的指令:
2dd 删除2行
3p 粘贴文本3次
100idesu[ESC] 会写下100个 desu
实例:一个插入字符串 "abc" 后换行的宏,重复调用十次:
qq
iabc<cr><esc> # <cr> 表示回车键
q
10@q
Tip: 如果是windows系统,ide启用vim插件的体验不太好,因为ctrl既是vim的功能键,又是windows功能键,两者会有冲突,用着不是很爽。mac的功能键是command键,避免了冲突问题