【发布时间】:2015-01-14 03:55:30
【问题描述】:
我正在使用带有 cscope 和 ctags 的 vim。在我早期的编辑器中,我曾经使用一些键映射来查找局部变量的引用。在 vim 中,使用 cscope find 命令,它也会列出所有在其他函数中同名的变量。
有没有办法列出限制在给定范围或函数内的局部变量的用法?
【问题讨论】:
我正在使用带有 cscope 和 ctags 的 vim。在我早期的编辑器中,我曾经使用一些键映射来查找局部变量的引用。在 vim 中,使用 cscope find 命令,它也会列出所有在其他函数中同名的变量。
有没有办法列出限制在给定范围或函数内的局部变量的用法?
【问题讨论】:
在 vim 中有一种通用的不依赖标签的方式来实现这一点,称为“Goto 声明”。实现此功能的两个命令是:
gd - 转到本地声明。gD - 转到全局声明。这些命令取决于语法中包含的信息来确定“本地”上下文的开始位置。如果您的语法中未包含该内容,则 gd 会将您的光标放在与 gD 相同的位置。
更多信息:help gd和:help gD。
另外,请不要忘记,您可以使用'' (:help m') 回到跳转前的位置。
【讨论】:
这是我使用eclim 的目的之一。繁重的工作——解析代码以了解变量的范围——由 Eclipse IDE 完成,而 Vim 只是向它询问信息。我承认这就像用砖头砸苍蝇一样……但至少苍蝇最终会被砸碎,而我还没有真正找到令人满意的替代方案。
【讨论】: