在 vim 中编辑文件时无法转到标签

Unable to go to tags while editing a file in vim

我正在编辑 Vim 中的源文件,在其中我想搜索一个标签(以了解一些 variable/class/method 等),然后单击 Ctrl+] 寻找标签,如果标签应该在不同的文件中,它不允许我离开当前文件,因为它正在 编辑 - 它显示通常的 Vim 错误 - “E37:自上次更改以来没有写入(添加!覆盖)”

我的解决方法是先保存文件并重新打开,然后查找标签。

有没有一种无需保存并重新打开文件即可搜索标签的方法。

您可以在 vimrc 中添加以下行,以允许 Vim 编辑另一个缓冲区而无需写入当前缓冲区:

set hidden

参见:help 'hidden'

如果您不想设置该选项,替代方法是使用 <C-w>],它会在新的 window 中打开标签。参见 :help ctrl-w_]

请注意,正如评论中指出的那样,您不必为了跳转到标记而写入和退出当前缓冲区:写入它就足够了。