在 Vim 中按下 Ctrl + R 是否可以获得 Sublime Text 的“转到符号”行为?

在 Vim 中按下 Ctrl + R 是否可以获得 Sublime Text 的“转到符号”行为?

在 Sublime Text 中,当我打开一个文件并按下Ctrl+R时,我得到一个预先输入窗口,其中对文件中的所有函数和类定义进行模糊匹配,这样我就可以输入一些我想要跳转到的函数名称并快速跳转到它。

这可以在 VIM 中完成吗?据我所知,我可以使用 CTags 创建一个包含函数链接的标记文件,然后将光标放在函数的某个位置,然后按下键盘按键即可跳转到定义。这并不是我想要的,因为无论光标位于何处,我都希望能够找到该函数。

在 Vim 中按下 Ctrl + R 是否可以获得 Sublime Text 的“转到符号”行为?

答案1

Tagbar - 按范围排序显示当前文件的标签插件提供了一个侧边栏,其中包含当前缓冲区的所有功能等,但您仍然必须使用/或其他动作“常规地”进行搜索。

FuzzyFinder - 具有模糊匹配功能的缓冲区/文件/命令/标签/等浏览器插件有(还有更多)一个:FufBufferTag命令,可以提供您想要的内容:对当前缓冲区中的所有标签进行模糊匹配。

答案2

你可以使用类似这样的插件来获得 Sublime Text 对话框的大部分功能控制板或联合。

CtrlP 的:CtrlPBufTag命令完全可以实现您想要的操作,无需事先生成文件tags

如果您想使用低科技,您可以尝试:il[ist] func或者。:{line number}<CR>:lvim func % | lw

相关内容