1、MinBufExplorer
2、Ctags
Ctags工具是用来遍历源代码文件生成tags文件,这些tags文件能被编辑器或其它工具用来快速查找定位源代码中的符号(tag/symbol),如变量名,函数名等。比如,tags文件就是Taglist和OmniCppComplete工作的基础。
[[email protected] ~]#ctags -R
Ctrl-] 跳转到光标所在符号的定义。
Ctrl-t 回到上次跳转前的位置。
3、TagList
Taglist是vim的一个插件,提供源代码符号的结构化视图。
:Tlist 显示或关闭Taglist u 更新taglist窗口中的tag s 更改排序方式,在按名字排序和按出现顺序排序间切换 x taglist窗口放大和缩小,方便查看较长的tag + 打开一个折叠,同zo - 将tag折叠起来,同zc * 打开所有的折叠,同zR = 将所有tag折叠起来,同zM [[ 跳到前一个文件 ]] 跳到后一个文件
4、NERDTree
p 到上层目录 P 到根目录 K 到同目录第一个节点 J 到同目录最后一个节点
5、winmanager
~/.vim/ 下加入插件文件
~/.vimrc 配置文件
plugin
-rw-r--r-- 1 root root 68053 Nov 17 10:05 minibufexpl.vim -rw-r--r-- 1 root root 7864 Nov 14 00:54 NERD_tree.vim -rw-r--r-- 1 root root 152279 Aug 28 19:27 taglist.vim -rw-r--r-- 1 root root 39277 Nov 17 13:48 winfileexplorer.vim -rw-r--r-- 1 root root 39509 Nov 17 14:32 winmanager.vim -rw-r--r-- 1 root root 13399 Nov 17 13:48 wintagexplorer.vim
下载地址:
http://vim-scripts.org/vim/scripts.html
http://www.vim.org/
http://sourceforge.net/
set nocompatible if has("syntax") syntax on " 语法高亮 endif ""colorscheme molokai " elflord ron peachpuff default 设置配色方案,vim自带的配色方案保存在/usr/share/vim/vim72/colors目录下 colorscheme koehler " detect file type filetype on filetype plugin on " If using a dark background within the editing area and syntax highlighting " turn on this option as well "set background=dark set guifont=Monaco\ 10 set guifontwide=文泉驿等宽微米黑\ 10 " Uncomment the following to have Vim jump to the last position when " reopening a file if has("autocmd") au BufReadPost * if line("‘\"") > 1 && line("‘\"") <= line("$") | exe "normal! g‘\"" | endif "have Vim load indentation rules and plugins according to the detected filetype filetype plugin indent on endif " The following are commented out as they cause vim to behave a lot " differently from regular Vi. They are highly recommended though. "set ignorecase " 搜索模式里忽略大小写 "set smartcase " 如果搜索模式包含大写字符,不使用 ‘ignorecase‘ 选项。只有在输入搜索模式并且打开 ‘ignorecase‘ 选项时才会使用。 set autowrite " 自动把内容写回文件: 如果文件被修改过,在每个 :next、:rewind、:last、:first、:previous、:stop、:suspend、:tag、:!、:make、CTRL-] 和 CTRL-^命令时进行;用 :buffer、CTRL-O、CTRL-I、‘{A-Z0-9} 或 `{A-Z0-9} 命令转到别的文件时亦然。 set autoindent " 设置自动对齐(缩进):即每行的缩进值与上一行相等;使用 noautoindent 取消设置 "set smartindent " 智能对齐方式 set tabstop=4 " 设置制表符(tab键)的宽度 set softtabstop=4 " 设置软制表符的宽度 set shiftwidth=4 " (自动) 缩进使用的4个空格 set cindent " 使用 C/C++ 语言的自动缩进方式 set cinoptions={0,1s,t0,n-2,p2s,(03s,=.5s,>1s,=1s,:1s "设置C/C++语言的具体缩进方式 "set backspace=2 " 设置退格键可用 set showmatch " 设置匹配模式,显示匹配的括号 set linebreak " 整词换行 set whichwrap=b,s,<,>,[,] " 光标从行首和行末时可以跳到另一行去 "set hidden " Hide buffers when they are abandoned "set mouse=a " Enable mouse usage (all modes) "使用鼠标 if has(‘mouse‘) set mouse=a endif set number " Enable line number "显示行号 "set previewwindow " 标识预览窗口 set history=50 " set command history to 50 "历史记录50条 "--状态行设置-- set laststatus=2 " 总显示最后一个窗口的状态行;设为1则窗口数多于一个的时候显示最后一个窗口的状态行;0不显示最后一个窗口的状态行 set ruler " 标尺,用于显示光标位置的行号和列号,逗号分隔。每个窗口都有自己的标尺。如果窗口有状态行,标尺在那里显示。否则,它显示在屏幕的最后一行上。 "--命令行设置-- set showcmd " 命令行显示输入的命令 set showmode " 命令行显示vim当前模式 "--find setting-- set incsearch " 输入字符串就显示匹配点 set hlsearch """""""""""""""""""""""""""""" " winManager setting """""""""""""""""""""""""""""" let g:NERDTree_title="[NERDTree]" let g:winManagerWindowLayout="NERDTree" function! NERDTree_Start() exec ‘NERDTree‘ endfunction function! NERDTree_IsValid() return 1 endfunction nmap wm :WMToggle<CR> """""""""""""""""""""""""""""" " MiniBufExplorer """""""""""""""""""""""""""""" let g:miniBufExplMapWindowNavVim = 1 let g:miniBufExplMapWindowNavArrows = 1 let g:miniBufExplMapCTabSwitchBufs = 1 let g:miniBufExplModSelTarget =1 let g:miniBufExplMoreThanOne=0 """""""""""""""""""""""""""""" " NERDTree """""""""""""""""""""""""""""" let NERDTreeChDirMode=2 "选中root即设置为当前目录 let NERDTreeShowBookmarks=1 "显示书签 let NERDTreeMinimalUI=1 "不显示帮助面板 let NERDTreeDirArrows=0 "目录箭头 1 显示箭头 0传统+-|号 """""""""""""""""""""""""""""" " Tag list (ctags) """""""""""""""""""""""""""""" let Tlist_Exit_OnlyWindow = 1 "如果taglist窗口是最后一个窗口,则退出vim let Tlist_Use_Right_Window = 1 "在右侧窗口中显示taglist窗口Tlist_Show_One_File = 1
效果图
补充:转自 http://blog.csdn.net/bokee/article/details/6633193
安装使用Winmanager,NERDTree和MiniBufExplorer
前面介绍的几个工具和插件,主要提供快捷的编辑功能,如定义跳转,符号查询,符号提示与补全等。这里的三个插件,主要优化布置VIm的界面。具体来说,NERDTree提供树形浏览文件系统的界面,MiniBufExplorer提供多文件同时编辑功能,而Winmanager将这NERDTree界面和Taglist界面整合起来,使Vim更像VS!
分别从http://www.vim.org/scripts/script.php?script_id=1658
http://www.vim.org/scripts/script.php?script_id=159
http://www.vim.org/scripts/script.php?script_id=95
下载NERDTree,MiniBufExplorer和Winmanager安装包(Winmanager还有个更新的vba版本http://www.vim.org/scripts/script.php?script_id=1440,这里选用旧版本的Winmanger)。
1)像其它插件一样,将NERDTree安装包解压到~/.vim目录。并进入doc目录,在Vim命令行下运行"helptags ."命令。
2)MiniBufExplorer只有一个.vim文件,将其拷贝到~/.vim/plugin目录。
3)在~/.vimrc文件中加入以下几行:
let g:miniBufExplMapWindowNavVim = 1 let g:miniBufExplMapWindowNavArrows = 1 let g:miniBufExplMapCTabSwitchBufs = 1 let g:miniBufExplModSelTarget = 1 let g:miniBufExplMoreThanOne=0
4)将Winmanager安装包解压到~/.vim目录。
5)在~/.vimrc文件中加入以下几行:
let g:NERDTree_title="[NERDTree]" let g:winManagerWindowLayout="NERDTree|TagList" function! NERDTree_Start() exec ‘NERDTree‘ endfunction function! NERDTree_IsValid() return 1 endfunction nmap wm :WMToggle<CR>
6)这个版本的Winmanager好像有个小bug,你在打开Winmanager界面时,会同时打开一个空的文件。这会影响后续使用,所以我们要在打开Winmanager时关掉这个空文件。在~/.vim/plugin目录下的winmanager.vim文件中找到以下函数定义并在第5行下添加第6行的内容:
function! <SID>ToggleWindowsManager() if IsWinManagerVisible() call s:CloseWindowsManager() else call s:StartWindowsManager() exe ‘q‘ end endfunction