写在前面,我写本文的目的不在于教大家怎么来配置VIM,因为我是新手,我也是参考了各位前辈的方法,在此只是记录一下过程,当然我个人觉得更重要的是心得体会。其实大家可能也发觉,国内的抄袭转载现象很严重,基本上百度搜出的结果有很多都是相同的内容,这样浪费了大家查找的时间。我觉得,在技术领域,首先最重要的当然是学习,学习前辈的经验和知识,其次也少不了个人的创新,当然也包括原创。好了,废话不多说,写完这个还要接着搞我的毕业设计呢!我的系统Ubuntu 12.04.5 LTS 。(怎么查看levo:~$ cat /etc/issue)
其实早就听说过vi在Linux里面各种各种的强大的传说,用一个比较流行的词语就是“不明觉厉”。是的,我虽然还没意识到, 但我觉得这么多人都这样说,肯定也有他的道理。使用ubuntu以来,基本很少用过vi,这两天算是头一次用vi,当然少不了关于vi操作的学习,此处不再赘述,这样的博文百度一大把。当然也有另外的方法:终端输入vimtutor,这是vim的一个教程。
一直没用过vi ,当然也就没关注过vi和vim的区别。大家可以简单的理解为vim是vi的增强版,进化版。所以首先是对vi编辑器的升级(其实也是我个人的理解,也有人说这不叫升级,只是说这是GUI界面的vim,安装gtk软件包):sudo apt-get install vim-gtk .安装完之后并没有特别大的变化如果你输入vim的话,所以更重要的是配置。由于我毕设需要进行C++的开发,所以此处的配置便是为了方便编程使用。话不多说,先上张图让大家看看最终的效果:
主要用到如下的插件:
vundle(用于插件管理)
taglist(显示代码结构)
NERD_Tree(树形目录)
在进行插件安装之前,我先对vim进行一个简单的配置,主要是对一些格式,缩进,状态等进行配置。配置文件一般都在/etc目录下,命令:cd /etc/vim后可以进入vim文件夹,再ls操作我们可以看到:
其中vimrc文件便是vim 的配置文件,所有的配置信息都在里面,可以自己根据自己的喜好进行配置,也包括各种插件的配置,配置信息也写到这个文件里面。此处的配置我引用了博文点我里面对vim的配置。
"********************************************************
" 一般性配置 *
"********************************************************
"关闭vim一致性原则
set nocompatible
"显示行号
set number
"设置在编辑过程中右下角显示光标的行列信息
set ruler
"在状态栏显示正在输入的命令
set showcmd
"设置历史记录条数
set history=1000
"设置取消备份 禁止临时文件的生成
set nobackup
set noswapfile
"设置匹配模式
set showmatch
"设置C/C++方式自动对齐
set autoindent
set cindent
"开启语法高亮功能
syntax enable
syntax on
"指定配色方案为256色
set t_Co=256
"设置搜索时忽略大小写
set ignorecase
"配置backspace的工作方式
set backspace=indent,eol,start
"设置在vim中可以使用鼠标
set mouse=a
"设置tab宽度
set tabstop=4
"设置自动对齐空格数
set shiftwidth=4
"设置退格键时可以删除4个空格
set smarttab
set softtabstop=4
"将tab键自动转换为空格
set expandtab
"设置编码方式
set encoding=utf-8
"自动判断编码时 依次尝试以下编码
set fileencodings=ucs-bom,utf-8,cp936,gb18030,big5,euc-jp,euc-kr,latin1
"检测文件类型
filetype on
"针对不同的文件采取不同的缩进方式
filetype indent on
"允许插件
filetype plugin on
"启动智能补全
filetype plugin indent on
此时,你再打开一个c++文件,就可以看到和之前的不同了。到这里只是进行了vim配置的最基本的一小步。
接下来便是各种插件的安装。首先是目录浏览器插件NERD Tree.安装次插件我参考了博文。安装此插件着实让我好生郁闷,这是我第一个安装的插件,对vim的配置也没有根本的认识。而且进去之后关键是找不到怎么下载,故此处直接贴出我的下载步骤。
下载地址:点我
进入链接后,点击左边的DOWNLOAD
点击Sources mirror1(zip)]
点击三个方框中最左边的一个:
保存文件。我就按照默认路径来了。
下载以后可以直接解压: unzip NERD_tree.zip 可以看到生成了两个目录doc和plugin.首先sudo mkdir /etc/vim/doc; sudo mkdir /etc/vim/plugin 在/etc/vim目录下生成连个子目录,然后cp doc/* /etc/vim/doc; cp plugin/* /etc/vim/plugin此后,我们打开vim的配置文件sudo vim /etc/vim/vimrc,在文件末尾我们加入NERDTree的配置信息。如下:(引用自:博文)
"********************************************************
" NERD_Tree 配置 *
"********************************************************
"显示增强
let NERDChristmasTree=1
"自动调整焦点
let NERDTreeAutoCenter=1
"鼠标模式:目录单击,文件双击
let NERDTreeMouseMode=2
"打开文件后自动关闭
let NERDTreeQuitOnOpen=1
"显示文件
let NERDTreeShowFiles=1
"显示隐藏文件
let NERDTreeShowHidden=1
"高亮显示当前文件或目录
let NERDTreeHightCursorline=1
"显示行号
let NERDTreeShowLineNumbers=1
"窗口位置
let NERDTreeWinPos='left'
"窗口宽度
let NERDTreeWinSize=31
"不显示'Bookmarks' label 'Press ? for help'
let NERDTreeMinimalUI=1
"快捷键
nnoremap <silent> <F4> :NERDTreeToggle<CR>
此时,再打开vim vimtest.c后,输入":NERD Tree"回车,就可以看到目录浏览结构了。当然记不得插件名字可以输入N后按Tab键,再回车。
vundle(用于插件管理)安装:参考了博文。
我直接引用算了:
Vim插件之插件管理器Vundle
1、介绍下载
相比Sublime、Text2等现代编辑器,Vim缺乏默认的插件管理器,所有插件的文件都散布在~/.vim下的几个文件夹中,配置Vim的过程, 就是在网上不停的搜插件,拷贝到~/.vim下,发现更新,要重新下载重新拷贝,想要删除某个不需要插件,更是要小心翼翼的不要删错。配置出顺手的Vim, 需要极大的耐心和运气。一般情况下的VIM插件管理方式。
Vundle(Vim bundle)是一个Vim的插件管理器。它是把git操作整合进去,用户需要做的只是去GitHub上找到自己想要的插件的名字,安装、更新和卸载都可有vundle来完成了。
GitHub:https://github.com/gmarik/Vundle.vim
2、安装使用
【下载】
通过下面的命令可以从GitHub上面下载Vundle。
git clone https://github.com/gmarik/vundle.git
下载完毕后,进入"~/.vim/bundle/vundle"可以看到安装的地方。
我觉得他的第一段话说的很好。配置VIm的过程,就是不停的在网上搜=插件,然后拷贝到/etc/vim下的过程。这点体会是我做完配置工作后的一个体会,当时看到这句话的时候并没有特别大的感触,所以很多时候还是要自己去体会自己去实践,第一手的感觉和经验总是刻骨铭心的。说远了,下面进行vundle的配置.在".vimrc"文件中修改并按照下面例子加入相应需要的语句:
"*********************************************************
" vundle 配置 *
"*********************************************************
set rtp+=~/.vim/bundle/vundle/
call vundle#rc()
" let Vundle manage Vundle
Bundle 'gmarik/vundle'
" My Bundles here:
Bundle 'tpope/vim-fugitive'
Bundle 'Lokaltog/vim-easymotion'
Bundle 'rstacruz/sparkup', {'rtp': 'vim/'}
Bundle 'tpope/vim-rails.git'
Bundle 'taglist.vim'
Bundle 'The-NERD-tree'
Bundle 'Syntastic'
Bundle 'L9'
Bundle 'FuzzyFinder'
Bundle 'Lokaltog/vim-powerline'
"由于我没有安装YouCompleteMe,所以我要把下面一句话注释掉
"Bundle 'Valloric/YouCompleteMe'
Vundle会自动给你下载和管理插件,所以,你只要填上你所需要的插件名称即可。对于不同类型的插件,有不同的地址填写方法。按上面的方法填写完毕就可以了。填写完成,保存退出后,打开一个vim窗口。
打开一个vim, 运行”:BundleInstall”或者在命令行运行”vim +BundleInstall +qall”,安装完成后插件就能用了。
其它常用命令:
更新插件":BundleUpdate"
清除不再使用的插件":BundleClean"
列出所有插件":BundleList"
查找插件":BundleSearch"
大家可以看到它可以显示我安装的插件,进入vim后,输入:B之后不断的按Tab键就可以看到不同的命令了,:BundleUpdate;:BundleClean;:BundleList…当然此处我的命令是:BundleList
taglist(显示代码结构)插件安装:参考了博文
Taglist是以tags文件为基础,需要ctags生成tags文件。
安装ctags,Redhat和CentOS可以执行yum install ctags,Debian和Ubantu可以执行apt-get install ctags
下载Taglist,地址是http://sourceforge.net/projects/vim-taglist/files/vim-taglist/
解压taglist_45.zip,可以看到有两个目录doc和plugin,结构如下
复制代码
taglist_45
|
|——– doc
| ——– taglist.txt
|
——– plugin
——– taglist.vim
复制代码
执行下列shell命令,即安装完成
cp doc/taglist.txt /usr/share/vim/vim72/doc/
cp plugin/taglist.vim /usr/share/vim/vim72/plugin/
使用方法:
在源码目录下,执行ctags -R对各目录递归创建生成tags文件
用Vim打开源码文件,以命令模式执行Tlist,即可启用Taglist插件,可以查看taglist的帮助信息
配置信息如下:(同样写入到vimrc文件中)
"*****************************************************
" taglist配置 *
"*****************************************************
"不显示"press F1 to display help"
let Tlist_Compact_Format=1
"窗口在左侧显示
let Tlist_Use_Right_Window=1
"只显示当前文件的tags
let Tlist_Show_One_File=1
"高亮显示
let Tlist_Auto_Highlight_tag=1
"随文件自动更新
let Tlist_Auto_Update=1
"设置宽度
let Tlist_WinWidth=30
"taglist窗口是最后一个窗口,则退出vim
let Tlist_Exit_OnlyWindow=1
"单击跳转
let Tlist_Use_SingClick=1
"打开关闭快捷键
nnoremap <silent> <F8> :TlistToggle<CR>
最后,当然还有其他的插件可以供选择和安装,比如vim自动补全神器YouCompleteMe,不过由于感觉安装编译起来还有点复杂,同时要求vim的版本要在7.5以上,我觉得可能暂时不太需要这个东西,所以也就放弃安装了,以后如果有需要再进行另外的安装。
还有个小贴士:把光标放在某个插件里,也就是点击到某个插件的区域里,按q键即可以退出该插件。
总结:通过vim的配置,虽然真的不难,但任然花了我近3个小时的时间,但这只是初步的配置,以后还需要研究研究具体的配置信息,根据我个人的喜好,再个人定制。还是那句话,很多事情要自己亲力为之,得来的感受才会刻骨铭心!