传说中的神器-VIM

作者: 朱建林 分类: 工作点滴 发布时间: 2014-04-30 14:13

〇、我与此神器暧昧的故事

初遇此神器,是在我2005年大学刚毕业的时候,那时候有个很牛X的朋友——小陈,亦师亦友的,按理说吧,应该叫他师傅的。那时候,我的电脑是1GHZ CPU & 128M内存的机子上,在小陈的帮助下,装了ReadHat Linux。接触到VI,据说VI是很牛X的,写程序不用用鼠标,这样的话,提高了开发速度,可是,那时候,一边恋爱一边工作,工作单位用的是VB,后来还是放弃了学习她。

再遇此神器是在08年的时候吧,我第一次接触到Ubuntu,那时候,也是一个亦师亦友的朋友,他帮我解决了很多问题,至今,我还不知道他的真名。网名“翔”,似乎他什么都懂,有次问他在忙啥呢?他告诉我在玩Ubuntu,然后我也了解了,下载了,安装了,不过,不习惯用它,工作是用VS做开发,所以还是没有把VI用起来,但是我还是经常会想她的。

后来吧,10年还是什么时候,遇到了小刘——皇家元林,也是我很佩服的,亦师亦友啊,他很多地方值得我学习,我们一起玩WP和VPS,用了VPS,没办法。只能SSH连接,装什么用终端,改什么用VI,于是,正式和她开始谈起了恋爱,谈谈的那种,可能一个月见上这么一次。

为了和她一直在一起吧,我把笔记本全格了,1T的硬盘,装了Ubuntu,从此与VIM为伴,幸福地生活在一起……

一、Ubuntu下配置此神器

1.  安装VIM,这个好办,直接 sudo apt-get install vim, 安装完毕。

2. 然后就要开始做配置了啊,显示行号之类的配置。

3. 想要像资源管理器一样的窗口,于是用NERDTree, 找了个配置,还有ctags的,但是运行的时候,出现问题,提示找不到ctags的文件,于是在VIM的资源网站上,下载了个tar.gz的压缩包,mikefile一下,放进.vim的目录。OK,问题解决

4. 安装autocomplpop的插件,让它有代码的自动提示功能。

5. 加了几个常用的字典文件。

6. 感觉不太好看,下载了配色文件“molokai”,在.vimrc中改好。

至此,Ubuntu下的配置基本完成啦。后来又想着以后更好地管理,用了vbundle插件管理,把要的几个插件都放进去了。

二、Windows下配置此神器

由于平时工作还是要在windows下,所以想用windows 下的VIM,想用vbundle来吧,可是笔记本电脑刚好又不在身边了拿不到那个配置文件,算了,反正配置下也不麻烦,就重新弄一个吧。

1. 在360里搜下gvim,直接安装。

2. 下载 taglist,autocomplpop,nerdtree,ctags 这些插件。

3. 配置文件改好。

4. 自动补全的类似于“(、<、{”之类的。

5. 同样是字典文件设置好。

6. 配色文件设置好。

好像。接下来也没啥事了。。就这样吧。

三、配置过程中的问题解决

中间遇到了个问题,就是在配置文件里的一句代码导致了错误

set g:acp_behaviorSnipmateLength=1,我一直没在意,可是当输大写字母的时候,字跳出提示错误,后来百度了找到了这个:

Quote from http://www.vim.org/scripts/script.php?script_id=1879

Also, you can make user-defined completion and snipMate’s trigger completion
(|acp-snipMate|) auto-popup if the options are set.

These behavior are customizable.

*acp-snipMate*
snipMate’s Trigger Completion ~

snipMate’s trigger completion enables you to complete a snippet trigger
provided by snipMate plugin
(http://www.vim.org/scripts/script.php?script_id=2540) and expand it.

To enable auto-popup for this completion, add following function to
plugin/snipMate.vim:
>
fun! GetSnipsInCurrentScope()
let snips = {}
for scope in [bufnr(‘%’)] + split(&ft, ‘\.’) + [‘_’]
call extend(snips, get(s:snippets, scope, {}), ‘keep’)
call extend(snips, get(s:multi_snips, scope, {}), ‘keep’)
endfor
return snips
endf
<
And set |g:acp_behaviorSnipmateLength| option to 1.

There is the restriction on this auto-popup, that the word before cursor must
consist only of uppercase characters.

原来这句是配置snipmate的,而我根本就没有想到它,于是安装了修改了snipmate.vim,OK问题解决了。

四、修成正果

最后上图,这是windows 下的:

vim

 

4条评论
  • 金钱网

    2014 年 5 月 1 日 下午 10:36

    哈哈,博主一定是技术达人啦

    1. 朱建林

      2014 年 5 月 2 日 上午 6:08

      没没,只是随便玩玩而已

  • KNyIW

    2016 年 10 月 9 日 上午 12:10

    全都到碗里来 !美臀/丝袜/美熟女乱伦精品大合集 !!!【 v.ht/7UrM 】

  • www.xevip.cn

    2016 年 11 月 15 日 上午 6:14

    不错哦,赞一个,求认识,求回访! 诚交友链 站务申请:www.xevip.cn

发表评论

电子邮件地址不会被公开。 必填项已用*标注