2012-06-18 51 views
4

我是Tcl/Tk的新手,我正在使用Vim编码和浏览。 Tcl/Tk的语法突出显示工作正常。跳进功能使用Ctrl] does not work它给了我一个消息,说“cstag: tag not found”。我已经使用“ctags -R *.tcl”安装了ctags和生成的标签。我在Tcl/Tk代码中广泛使用了命名空间。在标签文件中生成的标签就是这样的“namespace1::function1”。ctrl-]不适用于tcl代码导航

我如何获得按Ctrl](和按Ctrl牛逼从堆栈弹出)在Vim的工作?

跳可以在任的2种格式的功能如下

  1. function1
  2. namespace1::function1
+2

请注意,'ctags -R * .tcl'只会为当前目录中的文件生成'tags',除非您的子文件也具有扩展名'.tcl'。请改用'ctags -R .'。 – Dummy00001

回答

2

显示Vim的说,他无法找到您生成的标签。

在您的.vimrc中添加set tags=./tags,tags;,然后重试。

+0

xdazz,感谢您的回复,但它不工作......我猜测,ctrl-]的地图没有正确设置,这意味着如果它设置为namespace1 :: function1,那么它应该工作。不过,我可以使用以下命令导航到该函数:ta namespace1 :: function1 ... –

+0

您是否从包含标记文件的相同目录打开Vim?如果您在Tcl/Tk目录中生成了标签文件,但是在主目录中启动了Vim或其他东西,它将不会读取它,除非您按照此答案中所示设置tags参数,但将Tcl/Tk目录添加到列表中。 – Derek

+0

@Derek:我从包含标签文件的相同导演打开Vim。 –

3

找到一种解决我的问题:

生成的标签文件中包含的格式namespace::function标签。

我刚刚从生成的标签文件中删除namespace::
Now Ctrl + ]作品!!!

0

您使用的是哪种键盘布局?我不熟悉您的特定问题,但在浏览帮助页面时,我遇到了瑞典语键盘上的Ctrl + ]问题。

有,按Ctrl +]不为我工作(可能是因为]键入与ALTGR + )。但是,Ctrl +'Enter'左侧的键作品(这是]位于英文键盘布局上)。

我可以补充的是,我的问题与帮助页面我第一次尝试按Ctrl +]映射到另一个组合,但是这仍然没有工作(不知道为什么)。所以如果你有同样的问题,重新映射可能无法解决问题。

1

你的.vimrc应具有以下行

set tags=tags;/ 

贴吧,保存,重启vim和你是金色的。

相关问题