手把手教你把vim改装成一个ide编程环境(图文)

上传人:wt****50 文档编号:37687529 上传时间:2018-04-20 格式:PDF 页数:18 大小:390.78KB
返回 下载 相关 举报
手把手教你把vim改装成一个ide编程环境(图文)_第1页
第1页 / 共18页
手把手教你把vim改装成一个ide编程环境(图文)_第2页
第2页 / 共18页
手把手教你把vim改装成一个ide编程环境(图文)_第3页
第3页 / 共18页
手把手教你把vim改装成一个ide编程环境(图文)_第4页
第4页 / 共18页
手把手教你把vim改装成一个ide编程环境(图文)_第5页
第5页 / 共18页
点击查看更多>>
资源描述

《手把手教你把vim改装成一个ide编程环境(图文)》由会员分享,可在线阅读,更多相关《手把手教你把vim改装成一个ide编程环境(图文)(18页珍藏版)》请在金锄头文库上搜索。

1、D DLUTBruceZhang的专栏LUTBruceZhang的专栏 生活就是需要有创意-例如:Coding 如果光标下文件, 则打开该文件如果光标下是目录, 则进入该目录; 如果光标下文件, 则打开该文件- -返回上级目录返回上级目录c c切换vim 当前工作目录正在浏览的目录切换vim 当前工作目录正在浏览的目录8d d创建目录创建目录D D删除目录或文件删除目录或文件i i切换显示方式切换显示方式R R文件或目录重命名文件或目录重命名s s选择排序方式选择排序方式x x定制浏览方式, 使用你指定的程序打开该文件定制浏览方式, 使用你指定的程序打开该文件我这里不是教你怎么用netrw.v

2、im插件, 而是要教你通过WinManager插件来将TagList我这里不是教你怎么用netrw.vim插件, 而是要教你通过WinManager插件来将TagList 窗口和netrw窗口整合起来, 就像图1中的图标2和3组成的那个效果窗口和netrw窗口整合起来, 就像图1中的图标2和3组成的那个效果 现在在你的/.vimrc中增加下面两句现在在你的/.vimrc中增加下面两句let g:winManagerWindowLayout=FileExplorer|TagListlet g:winManagerWindowLayout=FileExplorer|TagList nmap wm

3、:WMTogglenmap wm :WMToggle 然后重启vim, 打开/vim71/src/main.c, 在normal状态下输入“wm“, 你将看到图7的然后重启vim, 打开/vim71/src/main.c, 在normal状态下输入“wm“, 你将看到图7的 样子:样子:(- 图7 -)(- 图7 -) 其中左上边是netrw窗口, 左下边是TagList窗口, 当再次输入“wm“命令时这两个窗口其中左上边是netrw窗口, 左下边是TagList窗口, 当再次输入“wm“命令时这两个窗口 又关闭了.又关闭了.WinManager的功能主要就是我介绍的这些, 但是它还有其他一些

4、高级功能, 还可以支WinManager的功能主要就是我介绍的这些, 但是它还有其他一些高级功能, 还可以支 持其他几个插件, 如果你觉得我介绍的还不够你用, 建议你把它的帮助手册好好研究一持其他几个插件, 如果你觉得我介绍的还不够你用, 建议你把它的帮助手册好好研究一 下, 用下面的命令可以调出帮助手册:下, 用下面的命令可以调出帮助手册:help winmanager:help winmanager8.8. C Cscope 的使用scope 的使用 这下更厉害了, 用Cscope自己的话说 - “你可以把它当做是超过频的ctags“, 其功能这下更厉害了, 用Cscope自己的话说 -

5、“你可以把它当做是超过频的ctags“, 其功能 和强大程度可见一斑吧, 关于它的介绍我就不详细说了, 如果你安装好了前文介绍的中和强大程度可见一斑吧, 关于它的介绍我就不详细说了, 如果你安装好了前文介绍的中 文帮助手册, 用下面的命令看看介绍吧:文帮助手册, 用下面的命令看看介绍吧:help if_cscop.txt:help if_cscop.txt 我在这里简单摘抄一点, 供还在犹豫的朋友看看:我在这里简单摘抄一点, 供还在犹豫的朋友看看: Cscope 是一个交互式的屏幕下使用的工具,用来帮助你:Cscope 是一个交互式的屏幕下使用的工具,用来帮助你: * 无须在厚厚的程序清单中翻

6、来翻去就可以认识一个 C 程序的工作原理。* 无须在厚厚的程序清单中翻来翻去就可以认识一个 C 程序的工作原理。 * 无须熟悉整个程序就可以知道清楚程序 bug 所要修改的代码位置。* 无须熟悉整个程序就可以知道清楚程序 bug 所要修改的代码位置。 * 检查提议的改动 (如添加一个枚举值) 可能会产生的效果。* 检查提议的改动 (如添加一个枚举值) 可能会产生的效果。 * 验证所有的源文件都已经作了需要的修改;例如给某一个现存的函数添加一个参数。* 验证所有的源文件都已经作了需要的修改;例如给某一个现存的函数添加一个参数。 * 在所有相关的源文件中对一个全局变量改名。* 在所有相关的源文件中

7、对一个全局变量改名。 * 在所有相关的位置将一个常数改为一个预处理符号。* 在所有相关的位置将一个常数改为一个预处理符号。它被设计用来回答以下的问题:它被设计用来回答以下的问题: * 什么地方用到了这个符号?* 什么地方用到了这个符号? * 这是在什么地方定义的?* 这是在什么地方定义的? * 这个变量在哪里被赋值?* 这个变量在哪里被赋值? * 这个全局符号的定义在哪里?* 这个全局符号的定义在哪里? * 这个函数在源文件中的哪个地方?* 这个函数在源文件中的哪个地方? * 哪些函数调用了这个函数?* 哪些函数调用了这个函数? * 这个函数调用了哪些函数?* 这个函数调用了哪些函数? * 信

8、息 “out of space“ 从哪来?* 信息 “out of space“ 从哪来? * 这个源文件在整个目录结构中处于什么位置?* 这个源文件在整个目录结构中处于什么位置? * 哪些文件包含这个头文件?* 哪些文件包含这个头文件?9* 哪些文件包含这个头文件?* 哪些文件包含这个头文件?安装Cscope:安装Cscope: 如果你的系统中有cscope命令, 则可以跳过这一小段, 如果没有, 就先跟着我一起安如果你的系统中有cscope命令, 则可以跳过这一小段, 如果没有, 就先跟着我一起安 装一个吧.装一个吧. 在Cscope的主页: http:/ 下载一个源码包, 解压后编译安在

9、Cscope的主页: http:/ 下载一个源码包, 解压后编译安 装:装:# ./configure# ./configure # make# make # make install# make install / 需要root权限 / 需要root权限 先在/vimrc中增加一句:先在/vimrc中增加一句:set cscopequickfix=s-,c-,d-,i-,t-,e-:set cscopequickfix=s-,c-,d-,i-,t-,e- 这个是设定是否使用 quickfix 窗口来显示 cscope 结果, 用法在后面会说到。这个是设定是否使用 quickfix 窗口来显示

10、 cscope 结果, 用法在后面会说到。跟Ctags一样, 要使用其功能必须先为你的代码生成一个cscope的数据库, 在项目的根跟Ctags一样, 要使用其功能必须先为你的代码生成一个cscope的数据库, 在项目的根 目录运行下面的命令:目录运行下面的命令:$ cd /home/wooin/vim71/$ cd /home/wooin/vim71/ $ cscope -Rbq$ cscope -Rbq # 此后会生成三个文件# 此后会生成三个文件 $ ll cscope.*$ ll cscope.* -rw-rw-r- 1 wooin wooin 1.1M 2007-09-30 10:5

11、6 cscope.in.out-rw-rw-r- 1 wooin wooin 1.1M 2007-09-30 10:56 cscope.in.out -rw-rw-r- 1 wooin wooin 6.7M 2007-09-30 10:56 cscope.out-rw-rw-r- 1 wooin wooin 6.7M 2007-09-30 10:56 cscope.out -rw-rw-r- 1 wooin wooin 5.1M 2007-09-30 10:56 cscope.po.out-rw-rw-r- 1 wooin wooin 5.1M 2007-09-30 10:56 cscope.

12、po.out # 打开文件, 开始Coding# 打开文件, 开始Coding $ cd src$ cd src $ vi main.c$ vi main.c 进入vim后第一件事是要把刚才生成的cscope文件导入到vim中来, 用下面的命令:进入vim后第一件事是要把刚才生成的cscope文件导入到vim中来, 用下面的命令:cs add /home/wooin/vim71/cscope.out /home/wooin/vim71:cs add /home/wooin/vim71/cscope.out /home/wooin/vim71 上面这条命令很重要, 必须写全, 不能只写前半句:上

13、面这条命令很重要, 必须写全, 不能只写前半句: :cs add /home/wooin/vim71/cscope.out:cs add /home/wooin/vim71/cscope.out 因为源码是多级目录的, 如果这样写, cscope是无法在子目录中的源码中工作的, 当因为源码是多级目录的, 如果这样写, cscope是无法在子目录中的源码中工作的, 当 然, 如果你的源码都在同一级目录中就无所谓了. 如果你要经常用cscope的话, 可以然, 如果你的源码都在同一级目录中就无所谓了. 如果你要经常用cscope的话, 可以 把上面那句加到/.vimrc中去.把上面那句加到/.vi

14、mrc中去.下面我们来操练一下, 查找函数vim_strsave()的定义, 用命令:下面我们来操练一下, 查找函数vim_strsave()的定义, 用命令:cs find g vim_strsave:cs find g vim_strsave 如下图:如下图:(- 图8 -)(- 图8 -) 按下回车后会自动跳转到vim_strsave()的定义处. 此时你肯定会说Ctags也可以做到按下回车后会自动跳转到vim_strsave()的定义处. 此时你肯定会说Ctags也可以做到 这个呀, 那么下面说的这个Ctags就无法做到了, 我想查找vim_strsave()到底在那些这个呀, 那么下

15、面说的这个Ctags就无法做到了, 我想查找vim_strsave()到底在那些 地方被调用过了, 用命令:地方被调用过了, 用命令:cs find c vim_strsave:cs find c vim_strsave 按下回车后vim会自动跳转到第一个符合要求的地方, 并且在命令栏显示有多少符合要按下回车后vim会自动跳转到第一个符合要求的地方, 并且在命令栏显示有多少符合要 求的结果, 如图:求的结果, 如图:(- 图9 -)(- 图9 -) 如果自动跳转的位置你不满意, 想看其他的结果, 可以用下面的命令打开QuickFix窗如果自动跳转的位置你不满意, 想看其他的结果, 可以用下面的

16、命令打开QuickFix窗 口:口:10口:口:cw:cw 如图:如图:(- 图10 -)(- 图10 -) 这时你就可以慢慢挑选了_这时你就可以慢慢挑选了_cscope的主要功能是通过同的子命令“find“来实现的cscope的主要功能是通过同的子命令“find“来实现的 “cscope find“的用法:“cscope find“的用法: cs find c|d|e|f|g|i|s|t namecs find c|d|e|f|g|i|s|t name0 或 s0 或 s 查找本 C 符号(可以跳过注释)查找本 C 符号(可以跳过注释)1 或 g1 或 g 查找本定义查找本定义2 或 d2 或 d 查找本函数调用的函数查找本函数调用的函数3 或 c3 或 c 查找调用本函数的函数查找调用本函数的函数4 或 t4 或 t 查找本字符串查找本字符

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 建筑/环境 > 建筑机械

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号