您的位置:首页 > 运维架构

配置ctags cscope on gvim in windows

2013-06-07 10:08 381 查看

gvim+ctags in windows

安装gvim、 ctags、tlist:

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

(1) 下载gvim72.exe并安装

(2) 下载ctags57w32.zip (ctags)

解压后将ctags.exe放置到C:\windows\system32\

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

C:\Documents and Settings\Administrator>cd (进入源码所在目录)

D:\soft\linux-2.6.26\linux-2.6.26>ctags -R * (生成tags文件)

(3) 下载taglist_45.zip (tlist)

解压后将taglist_45\plugin\taglist.vim放置到C:\Program Files\Vim\vim71\plugin

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

编辑D:\Program Files\Vim\_vimrc

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

set tags=D:\soft\linux-2.6.26\linux-2.6.26\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 " 更多的缩进表示更高级别的折叠(这个似乎效果好一些)

zo 打开折叠,也可以用方向键(左右键)打开折叠

zc 关闭折叠(只要在被折叠的块中的任一个语句就行)

zC 对所在范围内所有嵌套的折叠点进行折叠

zO 对所在范围内所有嵌套的折叠点展开

当使用marker方式时,需要用标计来标识代码的折叠,系统默认是{{{和}}},最好不要改动之。可以使用下面的命令来创建和删除折叠:

zf 创建折叠,比如在marker方式下:

zf56G,创建从当前行起到56行的代码折叠;

10zf或10zf+或zf10↓,创建从当前行起到后10行的代码折叠。

10zf-或zf10↑,创建从当前行起到之前10行的代码折叠。

在括号处zf%,创建从当前行起到对应的匹配的括号上去((),{},[],<>等)。

zd 删除(delete)在光标下的折叠。仅当'foldmethod'设为"manual"或"marker"时有效。

: set foldmethod (查看当前foldmethod设置,vim默认设置为manual)。

zD 循环删除(Delete)光标下的折叠,即嵌套删除折叠。

仅当'foldmethod'设为"manual"或"marker"时有效。

zE 除去(Eliminate)窗口里"所有"的折叠。

仅当'foldmethod'设为"manual"或"marker"时有效。

切换窗口

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

<C-W><C-W>切换当前窗口

当同时打开几个文件时,按<C-W>_使当前窗口最大化

<C-W> = ctrl+w

[+I显示文件中包含光标下<word>的所有行。我常用来浏览某个id在程序中的引用情况。[+I (大写I)

dfx 表示删除到下一个出现x的地方,x可以使任意字符。

%

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

%用来匹配块

如果你的光标在类似([{}])或者#ifdef #else #endif上,输入%将把光标跳转到相应的匹配符号上去。

%还可以用来指定命令范围,如果你想把一个

{

...

}

的块全部删除。

可以先把光标移到{再敲d%

如果你想把一个块(包括{})全部往里缩进一个tab

可以把光标移到{敲>%

可以把光标移到{敲=%就是缩进一个块

buffer切换

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

map <Left> :bp<CR>

map <Right> :bn<CR>

map <F4> :bd<CR>

就可以用左右方向健来切换buffer(一个编辑文件切换到下一个编辑文件);

F4关闭buffer(关闭当前编辑文件)。

set hidden " 允许在有未保存的修改时切换缓冲区

注: 模式匹配中的回车换行 \r


gvim+cscope in windows

下载

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

下载cscope15.6-win32.zip

安装

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

安装很简单,只要将cscope的可执行文件放到PATH环境变量包含的目录中即可。

(1) 推荐Windows用户将上面下载到的cscope.exe与gvim.exe放在同一个目录下,如D:\Program Files\Vim\vim72下。

(2) "我的电脑" --> "属性" --> "高级" --> "环境变量" --> "系统变量"

PATH: D:\Program Files\Vim\vim72 (给环境变量PATH添加cscope.exe所在目录)

注销/重启后PATH即可生效。

(3) "开始" --> "运行" --> "cmd"

C:\Documents and Settings\Administrator>cscope -V

cscope: version 15.6. Compiled by MSLK(mslk.sa@gmail.com)

如果能看到cscope的版本好则说明安装成功。

(4) 为了方便地使用cscope,我们还需要下载cscope的键盘映射设置,这样就可以在gvim中简单地通过快捷键来使用cscope,而不必敲复杂的命令了。键盘映射可以从这里下载:http://cscope.sourceforge.net/cscope_maps.vim。

将下载到的cscope_maps.vim放在gvim的插件目录里,如D:\Program Files\Vim\vimfiles\plugin中。Linux用户可以放在$HOME/.vim/plugin中。

建立符号数据库

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

(1) 我们假设我们要阅读的代码放在D:\src\myproject下。然后打开命令行,进入源代码所在的目录,为cscope建立搜索文件列表。在命令行中执行以下命令:

D:\soft\vxwork_src>dir /s /b *.c *.h > cscope.files

D:\soft\vxwork_src>cscope -b

执行结束后你可以在当前目录下发现cscope.out文件,这就是cscope建立的符号数据库。上面这个命令中,-b参数使得cscope不启动自带的用户界面,而仅仅建立符号数据库。

(2) 编辑D:\Program Files\Vim\_vimrc,添加如下内容。

cs a D:\soft\vxwork_src\cscope.out

如果你的源代码是C++,则可以将cpp等扩展名也加入到上面的命令中。

dir /s /b *.c *.h *cpp *.hpp > cscope.files

如果是Linux用户,则可以使用find命令实现同样的功能:

find $(pwd) -name "*.[ch]"
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: