转载自
http://blog.csdn.net/liangsir_l/article/details/50608350
1.下载vim及基本配置
终端下
- $sudo apt-get install vim
输入命令
- $vim ~/.vimrc
创建vim环境设置文件
基本配置如下:
- :set nu "设置显示行号
- :set backspace=2 "能使用backspace回删
- :syntax on "语法检测
- :set ruler "显示最后一行的状态
- :set bg=dark "背景色设置
- :set hlsearch "高亮度反白
- :set laststatus=2 "两行状态行+一行命令行
- :set cindent "设置c语言自动对齐
- :set t_Co=256 "指定配色方案为256
- :set mouse=a "设置可以在VIM使用鼠标
- :set tabstop=4 "设置TAB宽度
- :set history=1000 "设置历史记录条数
- :set nocompatible "设置不兼容
更多设置可以再vim中输入:set all 查阅,可以设置的很多,我只需要设置部分就好了
2.选择一个插件管理软件
有两种比较流行的插件管理,分别是Vundle和Pathogen.
我选择的是:Pathogen
pathogen使用简单方便,有效,安装插件方式:
先创建两个文件夹:
- mkdir -p ~/.vim/autoload ~/.vim/bundle
- curl -LSso ~/.vim/autoload/pathogen.vim https://tpo.pe/pathogen.vim
安装成功,在./vimrc中加入:
- "PATHOGEN配置
- :execute pathogen#infect()
- :filetype plugin on "允许插件
- :filetype plugin indent on "启动智能补全
再github中直接添加插件的方法:
如:
- $cd ~/.vim/bundle #进入目录
- $git clone git://github.com/tpope/vim-sensible.git #从github上下载
接着,在vim中输入:Helptags 生成帮助文件,就能够输入:help vim-sensible 查看帮助文档
如此就安装好了插件,打开帮助文档,再进行下一步 的详细配置
3.安装NERDTREE插件
管理一个大的项目时,把代码分散到不同的文件里面是非常好的主意。也是一个基本的编码原则。NERDTree 是一个不错的可以直接在Vim里使用的文件浏览器,它可以让你随时想到所有的文件。
安装,在终端输入命令:
- $cd ~/.vim/bundle
- $git clone https://github.com/scrooloose/nerdtree.git
安装完后,重新开启vim,输入:helptags 再打开 :help NERD_tree.txt 可以配置.vimrc了
在vim中输入命令: NERDTree就可以浏览文件了
我的.vimrc文件添加了以下代码:
- "快捷键:使用F3打开关闭
- map <F3> :NERDTreeMirror <CR>
- map <F3> :NERDTreeToggle <CR>
- NERDTree配置
- let NERDChristmasTree=1 "显示增强
- let NERDTreeAutoCenter=1 "自动调整焦点
- let NERDTreeShowFiles=1 "显示文件
- let NERDTreeShowLineNumbers=1 "显示行号
- let NERDTreeHightCursorline=1 "高亮当前文件
- let NERDTreeShowHidden=0 "显示隐藏文件
- let NERDTreeMinimalUI=0 "不显示'Bookmarks' label 'Press ? for help'
- let NERDTreeWinSize=31 "窗口宽度
Nerdtree快捷键
o 打开关闭文件或者目录
t 在标签页中打开
T 在后台标签页中打开
! 执行此文件
p 到上层目录
P 到根目录
K 到第一个节点
J 到最后一个节点
u 打开上层目录
m 显示文件系统菜单(添加、删除、移动操作)
? 帮助
q 关闭
常常用到的是:ctrl+] ctrl+t o
4.自动补全:supertab插件
用过vs2010和code::blocks ,它们的自动补全功能确实强大 ,supertab就有很好的语法补全功能(链接:supertab)
安装命令:
- $cd ~/.vim/bundle
- $git clone https://github.com/ervandew/supertab
安装完成后,在.vimrc中加入代码:
- "配置Supertab
- let g:SuperTabRetainCompletionType=2 "记住上次的补全方式,直到按Esc退出插入模式位置
- let g:SuperTabDefaultCompletionType="<c-x><c-o>" "按下tab后默认补全方式为<c-p>,现在改为<c-x><c-o>
还有很多补全方式,可以输入 :help ins-completion 或:help compl-omni 查看更多
打开vim后输入想输入的词的首几个字母,按下Tab键就能补全.更多还是请参考手册
5.Ctags和Taglist插件
Ctags工具是用来遍历源代码文件生成tags文件,这些tags文件能被编辑器或其它工具用来快速查找定位源代码中的符号(tag/symbol),如变量名,函数名等。比如,tags文件就是Taglist和OmniCppComplete工作的基础.ctags程序其是叫"Exuberant Ctags".
为了方便使用Vim阅读源代码,Tag List 这个Vim插件不可或缺。这是一个用来浏览源代码的Vim插件,使用它我们可以概览源代码的结构并在各个源文件中跳转浏览,非常方便。Tag List插件需要Ctags这个程序的支持(动态生成tag file).
安装ctags方式有两种:
输入命令安装: sudo apt-get install ctags
下载安装:http://ctags.sourceforge.net
下载成功后解压文件编译安装:
进入文件夹,终端中依次输入:
- $./configure
- $make
- $sudo make install
使用方法:
在你的工程的源码文件夹内输入命令:
- $ctags -R
“$ ctags –R *”:“-R”表示递归创建,也就包括源代码根目录(当前目录)下的所有子目录。“*”表示所有文件。这条命令会在当前目录下产生一个“tags”文件,当用户在当前目录中运行vi时,会自动载入此tags文件。
安装taglist :下载地址http://www.vim.org/scripts/script.php?script_id=273
解压后直接放在~/.vim/bundle之下,(遇到的问题是打开不了:helptags) 可以打开taglist.txt根据里面的信息进行配置
同样的在.vimrc加上如下配置代码
- "taglist配置信息
- let Tlist_Auto_Open=1 " Let the tag list open automatically
- let Tlist_Auto_Update=1 " Update the tag list automatically
- let Tlist_Compact_Format=1 " Hide help menu
- let Tlist_Ctags_Cmd='ctags' " Location of ctags
- let Tlist_Enable_Fold_Column=0 "do show folding tree
- let Tlist_Process_File_Always=1 " Always process the source file
- let Tlist_Show_One_File=1 " Only show the tag list of current file
- let Tlist_Exist_OnlyWindow=1 " If you are the last, kill yourself
- let Tlist_File_Fold_Auto_Close=0 " Fold closed other trees
- let Tlist_Sort_Type="name" " Order by name
- let Tlist_WinWidth=30 " Set the window 40 cols wide.
- let Tlist_Close_On_Select=1 " Close the list when a item is selected
- let Tlist_Use_SingleClick=1 "Go To Target By SingleClick
- let Tlist_Use_Right_Window=1 "在右侧显示
- "打开关闭快捷键
- map <silent> <F2> :TlistToggle<CR>
这样使用起来就很方便:使用命令:$ctags -R 进入vim打开关闭 F2
今天就先配置到这里,编程水平不高,还未到改进IDE来提高效率的阶段,还是先去学编程,先挖坑有空再回来填.......
6.我的.vimrc文件和实际效果图
我的.vimrc文件:
- :set nu "设置显示行号
- :set backspace=2 "能使用backspace回删
- :syntax on "语法检测
- :set ruler "显示最后一行的状态
- :set bg=dark "背景色设置
- :set hlsearch "高亮度反白
- :set laststatus=2 "两行状态行+一行命令行
- :set cindent "设置c语言自动对其
- :set t_Co=256 "指定配色方案为256
- :set mouse=a "设置可以在VIM使用鼠标
- :set tabstop=4 "设置TAB宽度
- :set history=1000 "设置历史记录条数
- "PATHOGEN配置
- :execute pathogen#infect()
- :filetype plugin on "允许插件
- :filetype plugin indent on "启动智能补全
- "配置nerdtree使用F3打开关闭
- map <F3> :NERDTreeMirror <CR>
- map <F3> :NERDTreeToggle <CR>
- "NERDTree配置
- let NERDChristmasTree=1 "显示增强
- let NERDTreeAutoCenter=1 "自动调整焦点
- let NERDTreeShowFiles=1 "显示文件
- let NERDTreeShowLineNumbers=1 "显示行号
- let NERDTreeHightCursorline=1 "高亮当前文件
- let NERDTreeShowHidden=0 "显示隐藏文件
- let NERDTreeMinimalUI=0 "不显示'Bookmarks' label 'Press ? for help'
- let NERDTreeWinSize=31 "窗口宽度
- "配置Supertab
- let g:SuperTabRetainCompletionType=2 "记住上次的补全方式,直到按Esc退出插入模式位置
- "let g:SuperTabDefaultCompletionType="<c-x><c-o>" "按下tab后默认补全方式为<c-p>,现在改为<c-x><c-o>
- "默认最大化窗口打开
- au GUIEnter * simalt ~x
- "taglist配置信息
- let Tlist_Auto_Open=1 " Let the tag list open automatically
- let Tlist_Auto_Update=1 " Update the tag list automatically
- let Tlist_Compact_Format=1 " Hide help menu
- let Tlist_Ctags_Cmd='ctags' " Location of ctags
- let Tlist_Enable_Fold_Column=0 "do show folding tree
- let Tlist_Process_File_Always=1 " Always process the source file
- let Tlist_Show_One_File=1 " Only show the tag list of current file
- let Tlist_Exist_OnlyWindow=1 " If you are the last, kill yourself
- let Tlist_File_Fold_Auto_Close=0 " Fold closed other trees
- let Tlist_Sort_Type="name" " Order by name
- let Tlist_WinWidth=30 " Set the window 40 cols wide.
- let Tlist_Close_On_Select=1 " Close the list when a item is selected
- let Tlist_Use_SingleClick=1 "Go To Target By SingleClick
- let Tlist_Use_Right_Window=1 "在右侧显示
- map <silent> <F2> :TlistToggle<CR>
- "打开关闭快捷键
实际效果图如下,热键F2,F3(打开关闭目录树和taglist),tab键(自动补全)