Fork me on GitHub

新博客地址:voidy's blog

玩转VIM之将Vim全副武装

Posted on 2015-07-11 17:39  尛鱼  阅读(1446)  评论(0编辑  收藏  举报

玩转VIM之将Vim全副武装

  懒癌末期的我貌似很久没有写博客了,已经欠了多少篇在计划中的博客我已然不好意思说了。好了,言归正传,在前三篇介绍了Vim作为代码编辑器之后可能会有人说,要学习那么多指令真的就比真正的IDE好用么?在IDL里面有自动补全,有自动生成各种格式的代码,岂不是方便至极,效率高Vim好几条街好么?而且还能调背景色以及代码颜色可以方便调试blablabla、、、恩,我只想说这是因为你并不真正的了解传说中的Vim,你以为它就没有自动补全高亮显示拼写检查这些么?太天真了~另外请问你打开IDE的时候能开N多其它软件而不卡么?总而言之言而总之我就是喜欢Vim。下面开始介绍如何将Vim打造成工作中的神器。

主题

  第一步咱们还是说说主题吧,不管怎么说,一个好看的背景以及代码颜色不仅赏心悦目而且也能间接的提高工作效率,so,换种主题换种心情~由于编码工作中偏爱Sublime text 2的背景色,因此我找了个和这个差不多的Vim主题,名为monokai。喜欢的朋友可以从这里下载。不喜欢的朋友可以网上搜索自己喜欢的主题进行配置。下面说一下如何对Vim的主题进行配置:

  • 首先你需要建立一个文件夹.vim,在根目录下(如果有的话请直接跳到第2步)。具体操作如下:
$ mkdir ~/.vim
  • 接下来在.vim目录下创建一个名为colors的目录,将你下载的主题文件*.vim放到这个目录下。
  • 最后一步,编辑.vimrc文件,使用下载的目录:
$vim ~/.vimrc

  在里面加入如下两行代码:

1 syntax enable
2 colorscheme monokai

  再次用Vim打开文件你将看到如下的界面:

  

Vim上的插件管理神器-Vundle 

  至于为什么一上来不先介绍各种功能强大的插件,这当然是有原因的。众所周知,VIM的强大不仅仅体现在操作的高效率,更有强大而充沛的插件做支援,插件丰富了之后,就面临查找和管理的问题。如果每个插件都要自己手动安装,那么将是一件多么耗时的工作,麻烦且毫无意义,因为别人用了Vundle插件管理神器之后分分钟自动安装完毕,你却一个个手动安装,我只能说:你好勤快!反正我这种懒人是不会那么做的。好了,接下来说下如何使用Vundle来管理各种插件吧。首先,你要确保你电脑上已然安装了Git,并且你也会使用它的一些简单的指令。不知道的同学可以看这里。然后执行如下指令将Vundle项目clone到本地。指令如下:

1 $ git clone https://github.com/gmarik/Vundle.vim.git ~/.vim/bundle/Vundle.vim

  OK之后,先在你的~/.vimrc里面进行一些配置,配置清单如下:

 1 set nocompatible              " 必须
 2 filetype off                  " 必须
 3 
 4 " 设置含有并且初始化Vundle的运行环境
 5 set rtp+=~/.vim/bundle/Vundle.vim
 6 call vundle#begin()
 7 
 8 Plugin 'gmarik/Vundle.vim'
 9 
10 Plugin 'tpope/vim-fugitive'
11 
12 call vundle#end()            " required
13 filetype plugin indent on    " required
14 " Brief help
15 " :PluginList       - lists configured plugins
16 " :PluginInstall    - installs plugins; append `!` to update or just :PluginUpdate
17 " :PluginSearch foo - searches for foo; append `!` to refresh local cache
18 " :PluginClean      - confirms removal of unused plugins; append `!` to auto-approve removal
19 "
20 " see :h vundle for more details or wiki for FAQ
21 " Put your non-Plugin stuff after this line

  现在简单说一下如何使用这个插件管理神器,首先你需要把你想要安装的插件都放在下面的两行代码之间。

1 call vundle#begin()
2 call vundle#end()

   其中第8行的时必装的Plugin,这样才能让Vundle管理插件,最后再简单介绍一下使用方法(其实刚刚贴出来的里面已经有了英文的简单的help)。

  • :PluginList          列出配置的Plugins。
  • :PluginInstall      安装在vundle#begin()和vundle#end()之间的插件。
  • :PluginClean       卸载不在vundle#begin()和vundle#end()代码段之间的插件。

  基本情况就是酱紫了。下面重点介绍两个最赞的插件。

自动补全神器—YCM

  听名字就知道是干嘛的,好多人说IDE效率高,因为有自动补全,其实我想说,其实Vim也是有的,YCM包含以下的几个插件的功能,所以以下的插件可以不用装了,地址在这里

1 clang_complete
2 AutoComplPop
3 Supertab
4 neocomplcache
5 jedi(对python的补全)

  另外YCM的常用快捷键如下所示:

1 ctrl+j 选择下一个补全
2 ctrl+k 选择上一个补全
3 
4 ctrl+n 选择下一个补全
5 ctrl+p 选择上一个补全
6 回车    选中
7 ,jd  跳转到函数定义, 分屏打开一个buffer(非常有用!!!!!!!!!)
8 ,gd  跳到声明位置, 仅 filetypes: c, cpp, objc, objcpp, python 有效(比较少用)

   效果图如下: 

 

目录树神器-Nerdtree

  有时候工作的时候发现从在编辑一个文件的时候想打开另一个文件很麻烦,不像IDE在左侧有个目录,这个需求那么大的功能Vim插件会没有?你错了,当然有。那就是Nerdtree

  更为强大的是Nerdtree还有各种你想不到的方便的功能,常用的快捷键如下:

在nerdtree窗口常用操作:(小写当前,大写root)
    x.......收起当前目录树
    X.......递归收起当前目录树
    r.......刷新当前目录
    R.......刷新根目录树

    p.......跳到当前节点的父节点
    P.......跳到root节点
    k/j.....上下移动
    K.......到同目录第一个节点
    J.......最后一个节点

    o.......Open files, directories and bookmarks

    s.......split上下分屏[原来是i, 改键]
    v.......vsplit左右分屏[原来是s, 改键]

    c.......将当前目录设为根节点
    q.......关闭

   下面上一个效果图:

  更多的插件请看这里。好了,赶紧用插件武装你的Vim了。另外提一个忠告:插件并不是越多越好,够用就行~