Vim+VimGdb+Ctags+Glibc+TagList+WinManager
1.下载vim7.3,vimgdb7.3,ctags,glibc-2.9,taglist4.5,winmanager2.3
----------------------------------------------------------------------------------------------
vim7.3 -> http://www.vim.org/sources.php
vimgdb7.3 -> https://github.com/larrupingpig/vimgdb-for-vim7.3
ctags -> sudo apt-get install ctags
glibc-2.9 -> wget http://ftp.gnu.org/gnu/glibc/glibc-2.9.tar.bz2
taglist4.5 -> http://www.vim.org/scripts/script.php?script_id=273
winmanager2.3 -> http://www.vim.org/scripts/script.php?script_id=95
2.安装一下编译vim7.3所需的库
----------------------------------------------------------------------------------------------
sudo apt-get install libreadline5-dev
sudo apt-get install lua5.1
3.编译vim
----------------------------------------------------------------------------------------------
tar xjvf vim-7.3.tar.bz2 -C /tmp "把vim解压到根目录的tmp目录下"
tar xzvf vimgdb-for-vim7.3.tar.gz -C /tmp "把vimgdb解压到根目录的tmp目录下,自己注意包名."
tar xzvf vimgdb-for-vim7.3.tar.gz -C /tmp "把vimgdb解压到根目录的tmp目录下,自己注意包名."
cd /tmp "进到tmp目录"
patch -p0 < vimgdb-for-vim7.3/vim73.patch "为vim7.3打gdb的补丁"
cd vim73/src "打完补丁后进入vin7.3的src目录"
make "编译"
sudo make install "安装"
sudo make install "安装"
sudo cp -rf /tmp/vimgdb-for-vim7.3/vimgdb_runtime/* /usr/local/share/vim/vim73/ "复制runtime文件"
sudo vim "此时vim7.3已安装成功,如果你本机已经装过vim的话,vi命令将打开的是你旧版的,vim才是你刚装的,如果想用vi打开刚安装的vim,在 ~/.bashrc 里加多一条 alias vi='vim' 即可."
:helptags /usr/local/share/vim/vim73/doc/ "最后生成下帮助文件"
4.生成ctags的标签文件
----------------------------------------------------------------------------------------------
在第一步里成功安装ctags后,把下载下来的 glibc-2.9.tar.bz2 解压,并cd进去,然后执行 ctags -R 命令,让它生成一下标签文件.
5.安装taglist和winmanager
----------------------------------------------------------------------------------------------
这步很简单,把下载下来的taglist4.5和winmanager2.3的压缩包里的doc和plugin目录丢进 ~/.vim 目录里,
如果没有这个目录就创建一个.
6.配置vim脚本
----------------------------------------------------------------------------------------------
把下面的内容添加到你的 ~/.vimrc 里面
set mouse=a
:syntax enable
:syntax enable
:set previewheight=12
:run macros/gdb_mappings.vim
:set asm=0
:set gdbprg=/usr/bin/gdb
:map <F8> :bel 30vsplit gdb-variables<cr>
:map <F9> :close<Esc>
:map <F9> :close<Esc>
set tags+=/home/dara/glibc29/tags
map <c-w><c-f> :FirstExplorerWindow<cr>
map <c-w><c-b> :BottomExplorerWindow<cr>
map <c-w><c-t> :WMToggle<cr>
map <c-w><c-b> :BottomExplorerWindow<cr>
map <c-w><c-t> :WMToggle<cr>
let g:winManagerWindowLayout='FileExplorer|TagList'
:map <F6> :WMToggle<cr>
:map <F6> :WMToggle<cr>
filetype plugin on
其中红色的地方要设置成你本机的路径(就是刚才生成ctags的标签文件的那个地方).
其中蓝色的地方分别是:
<F8> 为显示调试监视变量窗口
<F9> 为关闭调试监视变量窗口
<F6> 为显示文件管理和当前函数列表的一个分割窗口.按一次显示,再按一次就关闭.
以上快捷都可以随意修改,随你个人喜好.
5.基本用法
----------------------------------------------------------------------------------------------
例如:
$:vi ml.c
- #include <stdio.h>
- #include <stdlib.h>
- int main(){
- int i=10;
- i++;
- i--;
- int b=i+100;
- int c=i+b;
- float d=4.1234;
- int p=d+123;
- malloc(1024);
- return 0;
- }
然后再命令模式下键入 :!cc ml.c -g -o ml 回车 再按回车回到vi界面.这时已经生成一个可调试的程序.
接下下来是调用刚才所安装的那些插件的时候了.
按 F7一下,切换到调试模式下,然后按一下空格键,将会在vi里分割出一个小窗口,在小窗口里输入 :file ml
, 这时候他会告诉你,载入ml文件符号完成.OK!继续按一下回车,让窗口消失.然后把光标点点到你要下断点的那一行,然后按 Ctrl+b
这时,那一行应该会变成其他颜色,然后开始运行调试,按 Shift + r .这时候程序应该会停在你刚下断点的地方,这时,按一下 F8
让调试监视变量窗口出来,然后把光标点双击你想要监控的变量上,这时vi底下的状态栏应该为 ---VISUAL---
显示模式,如果没看见,就点到看到为止.然后按下 Ctrl + p
看变量是不是出现在调试监视变量窗口了,要监视其他变量也是按上面的步骤即可.然后按下 Ctrl + n
让程序单步执行,如果想跳到下一个断点或一直执行,就按Ctrl + c .
OK,现在我们试一下Ctags和TagList,WinManager的功能,照例 $:vi ml.c
这时按一下F6,vi左边是不出现两个窗口了,文件管理和函数显示都可以用鼠标双击调用(用键盘则需要按Shift+Ctrl+w切换到对应窗选中按回车
才行.),试一下把鼠标放到你想看的函数,例如 malloc(1024);这行,把光标放在malloc中,按后按下Ctrl + }
这时会跳到malloc的定义里,再按下Ctrl + o 就会跳回来了.呵呵!是不是很方便!
来一张我自己的vim截图
参看文献: