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 实操篇- Vi 和Vim 编辑器-开机、重启和用户登录注销-用户管理
Linux编辑器-vim使用
Atom-atom-vim-mode-plus是针对Atom文本编辑器的一个扩展插件,主要目的是增强其内置的VIM编辑模式。VIM(Vi Improved)是一种高度可配置的文本编辑器,以其高效的操作方式和丰富的命令集而闻名。在Atom中,VIM模式...
Vim有许多优秀的插件,如NERDCommenter用于注释管理,Vim-Fugitive用于Git操作。通过.vimrc文件,你可以定制个人的Vim环境,如设置颜色方案、修改默认行为等。 **9. 学习资源** Vim有详尽的在线文档和用户手册,如...
vim-colors-solarized, vim文本编辑器的精确 colorscheme 标题描述作者创建的颜色已经修改用于Vim的Solarized colorscheme机器和人员的精确颜色Schoonover浅黄色2011 152011年 16用于Vim的 Solarized colorsche
Linux 基础 002-vi简介-02-vi和vim以及vi的特点.flv
05.1 文本编辑器Vim-Vim常用操作.mp4 05.2 文本编辑器Vim-Vim使用技巧.mp4
"Linux文本编辑器Vim的使用和应用" Linux文本编辑器Vim是一个功能丰富且强大的文本编辑器,被广泛用于Linux系统。它是Vi的增强版本,提供了更多的功能和改进,同时可以通过插件扩展其功能。Vim提供了三种模式:命令...
《Vi Improved-----Vim》是一本关于Vim编辑器的全面使用教程,本书共分为17章,内容覆盖从基础到高级的Vim使用技巧,旨在满足不同水平用户的需求。Vim编辑器是文本编辑领域极为强大的工具之一,它以高效著称,能够...
Linux开发领域中,Vim作为一个强大的文本编辑器,深受程序员喜爱。然而,其默认界面相对简洁,有时缺少一些现代化IDE的便利特性,如代码迷你地图。"Linux-vimminimap"项目正是为了解决这个问题,它为Vim添加了一个...
Linux运维-云计算 基础全栈-153 服务管理-2.2 1vim编辑技巧02.mp4
`vim-go`是Vim编辑器中一个强大的Go语言开发插件,由fatih维护。它为Vim提供了丰富的功能,旨在提升Go程序员的开发效率和代码质量。这个插件包含了调试、语法高亮、自动补全、代码跳转、格式化、重构等多个方面的...
在 Linux 系统中,Vim 是一种常用的文本编辑器,但是在使用 Vim 的时候,经常会遇到 UTF-8 文档乱码的问题。为了解决这个问题,我们需要了解 Vim 中的四个与编码有关的选项:fileencodings、fileencoding、encoding ...
2. **获取插件**:从源码仓库(如GitHub)下载xmake.vim-master压缩包。 3. **解压安装**:将压缩包解压到Vim的插件目录,通常为~/.vim/bundle或~/.config/nvim/plugged(取决于Vim版本和配置)。 4. **启用插件管理...
在Linux开发环境中,Vim作为一个强大的文本编辑器,以其高度可定制性和高效性深受程序员喜爱。然而,有时候我们需要在编辑代码的同时运行命令或者进行交互式操作,这时内置一个终端功能就显得尤为方便。`simpleterm....
**Linux中的Vim编辑器** Vim(Vi Improved)是一款强大的文本编辑器,在Linux系统中广泛使用。它基于早期的Vi编辑器,并进行了大量的增强和改进,提供了丰富的特性集,适用于程序员、系统管理员以及普通用户。Vim在...