仅在当前文件中搜索标签

Fra*_*eng 9 tags vim editor ctags

我正在使用":ta"跳转到某个方法.
例如,我有两个名为A.java和的类B.java.他们都有一个foo()方法,而B.java有另一个方法叫做fooBar().然后我打开A.java并输入:ta foo然后按,TAB然后我将得到两个完成:foofooBar.但我现在要跳的只是当前文件中的标签,我不喜欢在其他文件中显示标签.

我发现tagslist在这项工作中做得非常好.因此,如果我可以使用taglist生成的标签进行搜索,那将非常好.

rom*_*inl 3

根据您调用方法的次数,几次*可能就足够了。

\n\n

在不使用标签的情况下,gd可用于转到光标下的方法的本地声明。我通常倾向于选择技术含量最低的解决方案,所以我会选择这个。

\n\n

ctags也能够仅为单个文件或任意选择的文件生成标签。它可以通过几个步骤完成,但它绝对不像您习惯做的那么简单\xe2\x80\xa6

\n\n
    \n
  1. 使用您要扫描的文件的名称创建一个文件。假设它被调用files.txt并且位于工作目录的根目录下。

  2. \n
  3. tags使用参数生成文件-L <file>ctags -L files.txt

  4. \n
\n\n

此时,您应该拥有一个tags仅包含步骤 1 中指定的文件中存在的标签的文件。

\n\n

tags在这里,为整个项目和单个文件生成不同的文件可能很有用。生成一个tags以当前文件命名的文件并使其成为唯一tags源的简短脚本可能会使整个事情变得更容易。

\n\n

编辑

\n\n

实际上,TagList 和 TagBar 不生成tags文件。它们运行的​​命令的输出ctags <options>在内部使用,并使用各种正则表达式进行解析,以按范围或文件名或其他内容进行过滤。

\n