在我升级我的 Ubuntu 系统之前,这曾经有效:
ctags *.java
vim -t fooFunc
Run Code Online (Sandbox Code Playgroud)
这会带我去例如 Foo.fooFunc()
但是现在,vim 转到标准的“未找到标签”页面。
我现在必须这样做:
vim -t Foo.fooFunc()
Run Code Online (Sandbox Code Playgroud)
让它做正确的事。
更重要的是,^]根本不再起作用。
查看生成的标签文件,我看到如下条目:
Foo.fooFunc Foo.java /^ private void fooFunc() {$/
Run Code Online (Sandbox Code Playgroud)
虽然旧版本的 ctags 生成的标签文件看起来像
fooFunc Foo.java /^ private void fooFunc() {$/
Run Code Online (Sandbox Code Playgroud)
所以看起来 ctags 现在坏了。
有没有办法恢复到旧的行为?或者让 vim 尊重新格式?
小智 1
我正在使用Exuberant Ctags 5.8并运行以下脚本来tags为我的 java 目录生成文件:
#!/bin/bash
# zero out any previously generated tags file
# an alternative way to achieve this is by `> tags`
truncate --size 0 tags
find . -name \*.java -exec ctags --append {} \;
Run Code Online (Sandbox Code Playgroud)
我用findand是因为目录下--append有1000多个文件。.java
没有问题VIM - Vi IMproved 8.0。