Linux编辑器–vim的tag29.4

Linux编辑器–vim的tag29.4

分类: Linux操作系统 2011-04-05 10:56 3人阅读 评论(0) 收藏 举报

29.4查找全局标识符

你正在编写C程序,并且想知道一个变量是被声明为int或者unsigned。一个发现这个的快速方法是使用[I命令。

假设光标在column这个字上,输入[I,vim会列出匹配的所有行。不仅仅在当前文件,所有包含文件,和包含文件中包含的文件,都会列出。

这种方式相对于使用tags和分屏的好处就是包含文件也被搜索。多数情况下,这将会正确的找到声明。即使tags文件过期了,或者你没有对于包含文件的tags文件。

当然,一些事情必须正确,才能保证[I完成它的工作。首先,include选项必须指明文件如何被包含。默认是对于C和C++。其他语言,你必须自己去设置。

加载包含文件

vim将会在使用path选项指明的地方查找包含文件。如果目录不正确,一些包含文件将不能被找到。你可以使用如下命令查看:

:checkpath

它将会列出所有不能找到的包含文件。当然,也会列出发现的包含没有发现文件的包含文件。

注意:

vim不是一个编译器。它不能够识别#ifdef语句。这意味着每个#include语句都被用以包含,即使其在#if NEVER的语句后边。

解决文件不能被找到的错误,增加一个目录到path选项。一个找到这些信息的好地方是Makefile。查找-I的项,例如 -I/usr/local/X11。把这些目录增加到path:

:set path+=/usr/local/X11。

你可以使用通配符:

:set path+=/usr/*/include

使用**意味着所有的子目录,例如:

:set path+=/projects/invent/**/include

你可以看看一个包含文件是否真的被找到:

:checkpath!

你将获取一个包含文件的列表,列出包含的文件等。为了将这个列表减少,vim对于那些已经在之前显示的包含文件,显示already listed,并且不再在那显示。

跳转到一个匹配

[I 仅仅处理list文本的一行。当你希望对于第一个item有近距离观看的时候,使用如下命令跳转:

[<Tab>

你也可使用 [ CTRL-I,因为其作用相同。当你想跳转到不是第一个的其他item,你可以在命令前打出一个行号:

3[<Tab>

上述将跳转到list中第三个item。注意,你可以使用CTRL-0跳回到你开始的地方。

相关命令:

[i 仅仅列出第一个匹配

]I 仅仅列出在光标下的项

]i仅仅列出光标下的第一项

查找定义的标识符

[I命令发现任何标识符。仅仅查找宏,即以#define开始的定义,使用如下命令:

[D

这也是在include文件中进行的。define选项指明对于[D的定义的item的行的样子。你可以将其改变,以适应不同的除了c和c++外的语言。

相关ID的命令有:

[d 第一个匹配

]D 光标下的匹配

]d 光标下的第一个匹配

困难是人的教科书。

Linux编辑器–vim的tag29.4

相关文章:

你感兴趣的文章:

标签云: