如何检测 Vim 中的函数?
如果光标位于一个很长的函数中的某个位置,有没有办法让 Vim< /a> 告诉用户他/她正在编辑哪个函数?
顺便说一句,我使用标签列表,但即使您将光标移动到不同的功能,标签列表似乎也不会自动更新您所在的位置。
If the cursor is in somewhere within a very long function, is there a way to let Vim tell the user in which function he/she is editing?
By the way, I use taglist but seems that taglist does not auto update where you are even if you have moved the cursor to a different function.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
taglist 插件提供了此功能。其中的函数
光标当前所在位置会在列表中自动突出显示
标签列表的功能。
确保 Tlist_Auto_Highlight_Tag 不等于 0 以启用此功能。
'updatetime' 定义之前必须经过的无活动时间
taglist 突出显示当前功能。默认值为 4 秒。
:help taglist.txt 请参阅“突出显示当前标签”部分
作为快速测试:
输入 :TlistHighlightTag 强制标签列表突出显示当前函数。
如果这有效,我想您已经禁用了任何
方式(参见 Tlist_Auto_Highlight_Tag)。
The taglist plugin provides this feature. The function in which
the cursor is currently positioned is highlighted automatically in the list of
functions of taglist.
Make sure that Tlist_Auto_Highlight_Tag is not equal 0 to enable this feature.
'updatetime' defines the time of no activity which must elapse before
taglist highlights the current function. Default is 4 seconds.
:help taglist.txt See section "Highlighting the current tag"
As a quick test:
Type :TlistHighlightTag to force taglist to highlight the current function.
If this works I suppose that you have disabled the automatic highlighting in any
way (see Tlist_Auto_Highlight_Tag).
作为 Habi 答案的补充,如果您想在不使用 taglist 的情况下完成此操作,您可以很容易地定义一个可以解决问题的函数。这取决于您使用什么语言进行编程,但是对于类似 C 的语言,您可以这样做:
将其放入您的 vimrc 中,然后按 ,f 查看当前功能。
取自此处。
As an addition to Habi's answer, if you want to do it without using taglist, you can quite easily define a function that will work it out. It depends what language you're programming in, but for C-like languages, you can do this:
Put that it in your vimrc and then press ,f to see the current function.
Taken from here.