小朋友们大家好,还记得我是谁吗?对了!我就是爱折腾 VIM 的 vimer。今天要给大家讲一个 Vim 下代码补全的新故事。
小朋友们大家好,还记得我是谁吗?对了!我就是爱折腾 VIM 的 vimer。今天要给大家讲一个 Vim 下代码补全的新故事。
这年头估计像我这种用 Vim 的老用户已经不多了,不过就我这个老头子来说,新时代依然没有一款我用的比 Vim 更顺手的编辑器。
而 Vim 最烦人,也是最好玩儿得地方,就是几乎什么功能都得自己折腾。Vim 的代码跳转功能我已经折腾了好几年了,羡慕那些默认就自带超好用的代码定义跳转自动补全功能的 IDE。可惜,一入 Vim 门深似海,我也不想换,不过就生成代码定义(专业术语叫 tags),我觉得应该是折腾到头了,是时候总结我的心路历程了。
在使用 Vim 中一直遇到一个很二逼的问题,比如如下情况:
foo:
foobar: foobar
bar: baz
^
大家可以看到在 bar 之前,箭头指向的地方有一个可能因为 copy 过来的时候带着的不知道哪里冒出来的空格,然后我想让bar: baz
跟foobar: foobar
是同一级的,我一般都习惯性将光标移到bar: baz
这一行,再习惯性的 >> 两下,可惜并不如我所愿,操作之后的结果为:
foo:
foobar: foobar
bar: baz
^
当 PHP 报错的时候,如果在浏览器里面直接点击报错的文件链接,会自动使用 vim 打开报错的文件并且定位到出错的行上,how’s that? 实现这一切很简单,因为 xdebug 已经帮你做了很多了,你所需要的只是完成以下几件事情:
大家都玩过“找不同”这个游戏吧?程序员的工作之一就是“找不同”。不过,面对成百上千的代码找不同,可就没这么好玩了。
好在目前有许多对比软件辅助我们找不同,有了这些工具,妈妈不再担心我的狗眼了。
光是在 Linux 下,diff 工具就有好多,这里只给大家介绍两个典型的:
这几天都在折腾vim的插件,利用github来管理插件的确是一个非常好的主意,不仅是因为获取和更新容易,而且你还能参与到开发和扩展插件的过程中来。附上我自己的php snippet仓库chrisyue/snipmate-snippets,欢迎大家watch和fork
上一篇我跟大家说了一下如何利用 vim “隐藏的”插件来管理插件。如果你还是觉得不方便,这篇文章很可能非常适合你。