1、MinBufExplorer

2、Ctags

Ctags工具是用来遍历源代码文件生成tags文件,这些tags文件能被编辑器或其它工具用来快速查找定位源代码中的符号(tag/symbol),如变量名,函数名等。比如,tags文件就是Taglist和OmniCppComplete工作的基础。

[root@localhost ~]#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--  root   root     Nov  : minibufexpl.vim
-rw-r--r-- root root Nov : NERD_tree.vim
-rw-r--r-- root root Aug : taglist.vim
-rw-r--r-- root root Nov : winfileexplorer.vim
-rw-r--r-- root root Nov : winmanager.vim
-rw-r--r-- root root Nov : 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\
set guifontwide=文泉驿等宽微米黑\
" Uncomment the following to have Vim jump to the last position when
" reopening a file
if has("autocmd")
au BufReadPost * if line("'\"") > && 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= " 设置制表符(tab键)的宽度
set softtabstop= " 设置软制表符的宽度
set shiftwidth= " (自动) 缩进使用的4个空格
set cindent " 使用 C/C++ 语言的自动缩进方式
set cinoptions={,1s,t0,n-,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= " set command history to 50 "历史记录50条 "--状态行设置--
set laststatus= " 总显示最后一个窗口的状态行;设为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
endfunction
nmap wm :WMToggle<CR>
""""""""""""""""""""""""""""""
" MiniBufExplorer
""""""""""""""""""""""""""""""
let g:miniBufExplMapWindowNavVim =
let g:miniBufExplMapWindowNavArrows =
let g:miniBufExplMapCTabSwitchBufs =
let g:miniBufExplModSelTarget =
let g:miniBufExplMoreThanOne=
""""""""""""""""""""""""""""""
" NERDTree
""""""""""""""""""""""""""""""
let NERDTreeChDirMode= "选中root即设置为当前目录
let NERDTreeShowBookmarks= "显示书签
let NERDTreeMinimalUI= "不显示帮助面板
let NERDTreeDirArrows= "目录箭头 1 显示箭头 0传统+-|号 """"""""""""""""""""""""""""""
" Tag list (ctags)
""""""""""""""""""""""""""""""
let Tlist_Exit_OnlyWindow = "如果taglist窗口是最后一个窗口,则退出vim
let Tlist_Use_Right_Window = "在右侧窗口中显示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 =
let g:miniBufExplMapWindowNavArrows =
let g:miniBufExplMapCTabSwitchBufs =
let g:miniBufExplModSelTarget =
let g:miniBufExplMoreThanOne=

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
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

最新文章

  1. C#基础---Queue(队列)的应用
  2. nginx location 的配置
  3. LightOj1028 - Trailing Zeroes (I)---求因子个数
  4. [css filter]filter在界面实现滤镜效果
  5. 使用jquery插件报错:TypeError:$.browser is undefined的解决方法
  6. LeetCode Letter Combinations of a Phone Number 电话号码组合
  7. 物理地址为20位 如10000H 用段地址*16+偏移地址表示
  8. JS----构造函数与原型prototype 区别
  9. C#整理2——C#的输入输出及基本类型
  10. Linux+Apache+Mysql+Php
  11. SVG 学习(一)
  12. java 二叉树实现
  13. Java多线程(一) —— 线程的状态详解
  14. Linux学习决心书
  15. [Python]sort与sorted高级技巧
  16. CF1043
  17. GlusterFS分布式存储系统中更换故障Brick的操作记录1
  18. mac中导出CSV格式在excel中乱码
  19. 一些LinuxC的小知识点(二)
  20. stat用法:获取文件对应权限的数字

热门文章

  1. django get_object_or_404
  2. Linux(十一) 文件目录权限 chmod umask chown
  3. Linux实用指令(1):运行级别&amp;找回密码&amp;帮助指令&amp;文件目录类
  4. java根据数据库自动生成代码
  5. Sublime text3学习小记(macOS系统下的安装使用)
  6. Google Performance工具,你还不会用?Git走起。
  7. trunc(sysdate)的含义是什么
  8. C++ 内存、new与malloc分配内存区别?
  9. 【HDOJ 2888】Check Corners(裸二维RMQ)
  10. C++ Primer 第8章作业