VIM for windows + ctags + taglist + winmanager

来源:互联网 发布:mac打开不被认证的app 编辑:程序博客网 时间:2024/05/16 11:37

http://youlvconglin.blog.163.com/blog/static/523204201001712047566/


有个同事使用VIM进行开发,效率非常高,原来是使用了VIM和ctags插件,


我在网上找了很久,找到这篇博文,介绍的还是比较详细的,不过


我的还是出现了不少各种问题:


Taglist: Exuberant ctags (http://ctags.sf.net) not found in PATH. Plugin is not
loaded.

总是提示我的Taglist插件没有正确的安装,很奇怪。


不过vim的功能还是很强大的。


2010-01-17 18:04:31|  分类: 其他|字号 订阅

工欲善其事,必先利其器!

VIM for windows + ctags + taglist + winmanager打造集成开发环境

安装VIM及插件

1、下载gvim72.exe并安装;

2、到www.vim.org官网下载ctags58.zip、taglist_45.zip、winmanager.zip插件;

3、将ctags58.zip解压到C:\Program Files\Vim\ctags58

     "开始" --> "运行" --> "cmd"

     C:\Documents and Settings\Administrator>cd "C:\Program Files\Vim\ctags58"

     C:\Program Files\Vim\ctags58>ctags -R * (生成tags文件)   

4、taglist_45.zip解压后,解压后将taglist_45\plugin\taglist.vim放置到C:\Program Files\Vim\vim72\plugin

     将taglist_45\doc\taglist.txt放置到C:\Program Files\Vim\vim72\doc

5、winmanager.zip解压后同上,将文件对应放入C:\Program Files\Vim\vim72\plugin

     和C:\Program Files\Vim\vim72\doc

6、修改配置文件C:\Program Files\Vim\_vimrc,添加内容如下:

syntax enable
       colorscheme slate

      "tags
      set tags=C:\Program\ Files\Vim\ctags58\tags

      " TAB距离 (vim配置; vim技巧)
      set tabstop=4          " 保存一个tab是4个字符
      set softtabstop=4      " 按一次tab前进4个字符
      set shiftwidth=4       " shiftwidth写代码时用到,缩进为4字符
      set cindent
      set nobackup           " 让VIM不生成备份文件(~文件)

" 打开文件时光标自动到上次退出该文件时的光标所在位置
autocmd BufReadPost * if line("'\"") && line("'\"") <= line("$") | exe "normal`\"" | endif

if has("win32")
    set guifont=Nimbus_Mono_l:h15:cANSI
    "set guifontwide=楷体_GB2312:h10
    "set guifontwide=YaHei Consolas Hybrid:h10
    au GUIEnter * simalt ~x   " 窗口最大化
endif

colorscheme    koehler        " 颜色类型

set pastetoggle=<F11>         " pastetoggle(粘贴模式切换)可以避免自动缩进
                              " 的带来的格式影响;每次按下<F11>键可以打开
                              " /关闭自动缩进功
set expandtab                 " 将tab键转换为空格

set foldmethod=syntax " 用语法高亮来定义折叠
set foldmethod=indent " 更多的缩进表示更高级别的折叠(这个似乎效果好一些)

"设置taglists插件快捷键
"nnoremap :TlistToggle
let Tlist_Use_SingleClick=1
let Tlist_File_Fold_Auto_Close=1

""""""""""""""""""""""""""""""
" winManager setting
""""""""""""""""""""""""""""""
let g:winManagerWindowLayout = "BufExplorer,FileExplorer|TagList"
let g:winManagerWidth = 30
let g:defaultExplorer = 0
map <c-w><c-f> :FirstExplorerWindow<cr>
map <c-w><c-b> :BottomExplorerWindow<cr>
map <c-w><c-t> :WMToggle<cr>


nmap <F11> :wa<cr>:TlistUpdate<cr>:FirstExplorerWindow<cr><F5><c-w>b
"(千万不要把F5用快捷键映射覆盖了)
"上述设置的作用:按F11,先保存所有编辑过的文件,然后刷新bufexplorer,然后在跳到fileexplorer并用F5刷新,最后跳回编辑页面。
"那个fileexplorer的刷新函数是个局部函数(由F5调用),不能直接调用,我也不会改,于是就只好这样设置。


""""""""""""""""""""""""""""""
" netrw setting
""""""""""""""""""""""""""""""
let g:netrw_winsize = 30
nmap fe :Sexplore


7、保存结果,运行vim执行,:WMToggle,则进入类IDE环境,到此插件已经配置完成,更加详细的配置可以参考其他文章;



----------------------------------------------

winmanager帮助:

      CTRL-W h    跳转到左边的窗口
      CTRL-W j     跳转到下面的窗口
      CTRL-W k    跳转到上面的窗口
     CTRL-W l     跳转到右边的窗口
     CTRL-W t    跳转到最顶上的窗口
     CTRL-W b    跳转到最底下的窗口


在Taglist窗口按
F1:打开帮助
回车键:跳到光标所在的标记的定义处(如将光标移到main函数,按回车键)
o:新建一个窗口,跳到标记定义处
p:预览标记定义(仍然在taglist窗口)
空格:显示标记的原型(如函数原型)
u:更新标记列表(比如源文件新增了一个函数,并在保存后,可在taglist窗口按u)
s:选择排序字段(暂时我也不知道什么意思)
d:删除光标所在的taglist文件(如用vi打开了两个文件f1.c,f2.c可以删除f1.c的标记)
x:放大/缩小taglist窗口
+:展开(指标记)
-:折叠
*:全部展开
=:全部折叠
[[:将光标移到前一个文件的起点
]]:将光标移到后一个文件的起点
q:退出taglist窗口
F1:关闭帮助


在linux下的配置类似,也就是tags文件、*.vim、*.txt、vimrc文件放置的位置,fedora下默认已经有了tags,plugin和doc目录位于/usr/share/vim/vim72下,vimrc位于/etc/目录下。


VIM常用插件推荐:http://edyfox.codecarver.org/html/vimplugins.html