转载请标明出处:
http://blog.csdn.net/zq2114522/article/details/51892898;
本文出自:【梁大盛的博客】
目前基本把工作环境转移到linux平台(ubuntu-16.04 x64),但是在linux平台下查看代码各种不方便。其实是习惯了sourceInsight,又不想通过wine的方式安装sourceInsight。想起VIM这强大的工具!借此也把自己配置的环境Mark下来作为记录。
在ubuntu下安装VIM非常简单,通过apt-get命令就可以完成VIM安装
通过终端输入指令:
sudo apt-get install vim
检验是否安装成功。在终端输入vim看看vim程序是否正确运行起来?
可以看的我的终端里面已经把vim程序打开了。
但是每次都要输入vim才运行vim程序,作为懒人的我是容不得这种情况出现的。
通过终端输入命令(update-alternatives工具可以很方便的通过输入vi打开vim程序)
sudo update-alternatives --install /usr/bin/vi vi usr/bin/vim 300
启动vim的时候出现会读取两个地方的配置文件。
在/etc/vim/vimrc配置文件是全局的,无论哪一个用户启动vim的时候都会读取的配置文件。
~/.vimrc文件则是某一用户的配置文件。每一个用户有一个配置文件。但是仔细看发现其实安装好vim后并没有在自动生成~/.vimrc文件。那么我们就自己新建一个把,并且把相关的文件也创建起来。
在终端输入指令:
touch ~/.vimrc
mkdir ~/.vim/{doc,plugin,syntax}
分别是新建用户的配置文件(~/.vimrc),手册(doc),插件(plugin),不知道是什么文件夹(syntax)
接下来就是怎么安装插件并且配置插件
Ctags是一个生成标签的工具
在终端输入
sudo apt-get install exuberant-ctags
检查ctags是否正确安装
怎么使用ctags?
首先进入到我们项目的根目录下,并且输入下面的指令:
ctags -R
-R参数代表循环进入每一个目录并且生成tags文件.在根目录下会生成一个tags文件.
tags保存的是该项目的所以标签
在根目录下打开/fs/exec.c文件.vim会自动读取当前文件下的tags文件.这时候
光标移动到需要跳转的标签点击”
"Ctags设置 "设置ctags程序位置
let Tlist_Ctags_Cmd = '/usr/bin/ctags'
"ctags自动查找tags文件 set tags=tags;
这样只有在目录文件夹下打开代码文件vim都会递归到上层目录查找tags文件
Tlist插件提供可对变量,函数进行预览.
进入https://sourceforge.net/projects/vim-taglist/files/vim-taglist/下载zip压缩包.
并且解压,解压以后得到两个文件夹(doc,plugin)
taglist.vim拷贝到~/.vim/plugin
taglist.txt拷贝到~/.vim/doc
回到vim软件并且输入Tlist,就可以看的Tlist就出现在左/右边
事实上每一次启动vim都需要手动启动Tlist,每次退出vim以后还有手动退出一次Tlist才完全退出vim.这样不科学!
再来编辑一次~/.vimrc文件.
"设置Tlist
"启动vim Tlist自动打开窗口
"let Tlist_Auto_Open=1
"只显示当前文件的Tlist,打开新文件后旧的Tlist会折叠
"let Tlist_File_Fold_Auto_Close=1
"当打开新的文件的时候会把旧的Tlist窗口关掉
let Tlist_Show_One_File=1
"如果Tlist是最后一个窗口退出vim
"如果不设置当退出vim的时候还会停留在Tlist窗口
"并且需要再次输入:q才能退出vim
let Tlist_Exit_OnlyWindow=1
"Tlist显示在右侧
let Tlist_Use_Right_Window=1
这里并没有打开Tlist_Auto_Open开关,因为在后面我们会使用WinManager打开Tlist
WimManager插件让我们的vi生成一个窗口能够预览目录下的文件
进入http://www.vim.org/scripts/script.php?script_id=95下载zip压缩包.
当然解压以后也是拷贝到相应的目录下
编辑~/.vimrc文件.具体每一个参数的作用都在注解里面解析清楚
"Winmanager设置 "启动vim Winmanager自动打开
"会自动把Tlist也显示,所以把上面的Tlist_Auto_Open注释掉了 let g:AutoOpenWinManager=1 "设置布局,左上显示TagList,左下显示Wimmanager,右显示vim
let g:winManagerWindowLayout = "TagList|FileExplorer,BufExplorer"
"设置winManager的宽度,默认是25 let g:winManagerWidth = 40 "定义打开关闭winmanager快捷键为F8
nmap <silent> <F8> :WMToggle<cr>
添加Tlist,WinManager到vim以后我们发现有两个问题.
1,Tlist,WinManager在左侧显示.并且进入vin的时候光标在最左上的那一个窗口.并不是在vim的输入窗口.我们需要把Tlist,WinManager弄到右侧
2,退出vim的时候还需要Tlist,WinManager还残留在哪里
这两个问题修改插件代码可以完成具体看下面贴出来的代码
winbufnr(2)修改为winbufnr(3)
在~/.vim/plugin/winmanager.vim末尾添加如下的代码
"设置自动打开WinManager
if g:AutoOpenWinManager
autocmd VimEnter * nested call s:StartWindowsManager()|1wincmd w
endif
最后把我配置的~/.vimrc文件都贴出来
"设置高亮关键字显示
syntax enable
"显示行号
set number
"设置帮助语言
set helplang=cn
"Ctags设置
"设置ctags程序位置
let Tlist_Ctags_Cmd = '/usr/bin/ctags'
"ctags自动查找tags文件
set tags=tags;
"设置Tlist
"启动vim Tlist自动打开窗口
"let Tlist_Auto_Open=1
"只显示当前文件的Tlist,打开新文件后旧的Tlist会折叠
"let Tlist_File_Fold_Auto_Close=1
"当打开新的文件的时候会把旧的Tlist窗口关掉
let Tlist_Show_One_File=1
"如果Tlist是最后一个窗口退出vim
"如果不设置当退出vim的时候还会停留在Tlist窗口
"并且需要再次输入:q才能退出vim
let Tlist_Exit_OnlyWindow=1
"Tlist显示在右侧
let Tlist_Use_Right_Window=1
"Winmanager设置
"启动vim Winmanager自动打开
"会自动把Tlist也显示,所以把上面的Tlist_Auto_Open注释掉了
let g:AutoOpenWinManager=1
"设置布局,左上显示TagList,左下显示Wimmanager,右显示vim
let g:winManagerWindowLayout = "TagList|FileExplorer,BufExplorer"
"设置winManager的宽度,默认是25
let g:winManagerWidth = 40
"定义打开关闭winmanager快捷键为F8
nmap <silent> <F8> :WMToggle<cr>
我现在在使用的VIM效果图.当然我喜欢简单为主
vim是什么?就是一款文本编辑工具罢了.是一个能够工具你自己喜欢定制化的编辑工具.当然你可以把很多你喜欢的东西加到里面去.
希望大家都能用上一款自己喜欢的vim!