是否有人知道是否有可能(或知道现有的 vim 脚本或插件)可以创建一个“状态栏”,显示我正在编辑的当前类和方法(或函数)的名称?
我设想它会插入当前缓冲区的文件类型的语法解析器,并显示面包屑路径来显示您当前正在编辑的内容。我对 vimscript 了解不够多,无法提出更多建议,但如果目前还没有好的解决方案,我可能会开始破解一个,所以也欢迎提出从哪里开始的建议!
答案1
答案2
此脚本将当前函数的名称放在标题栏和/或状态行中。它使用 ctags 为当前文件生成标签列表,并假定光标位置前面的标签是当前函数的名称。由于它使用 ctags,因此可以对其进行自定义以使用不同的语言,甚至是结构化文本文件。它在实践中效果很好,但有一些局限性。如果没有别的,它可能为您提供黑客攻击的起点。
答案3
我建议使用https://github.com/wellle/context.vim。它显示了你当前所处的上下文。以下是来自项目的图片
答案4
最近尝试过这个,我相信最简单的解决方案是:
安装通用 Ctagshttps://ctags.io/
安装 Tagbarhttps://github.com/preservim/tagbar
tagbar#currenttag()
设置状态行时调用,例如在 .vimrc 中::set statusline=%<%f\ %h%m%r%=%{tagbar#currenttag('%s\ ','','f')}%-.(%l,%c%V%)\ %P
航空公司彻底改变了你的状态栏,而且这并不容易
注意:
传递给的字符串中的空格必须用斜线转义
currenttag()
...而且在 vim 中运行命令和将其放在 .vimrc 中也有所不同?无论如何,空格可能很奇怪,它们可能是您在输出函数名称时想要的东西。我花了一些时间去挖掘,但默认状态行是
:set statusline=%<%f\ %h%m%r%=%-14.(%l,%c%V%)\ %P