如何让 vim 显示我正在编辑的当前类和方法

dcr*_*sta 15 vim text-editors

有谁知道是否有可能(或知道现有的 vim 脚本或插件)可以创建一个“状态栏”,显示我正在编辑的当前类和方法(或函数)的名称?

我想象它会插入到当前缓冲区文件类型的语法解析器中,并显示一个面包屑路径来显示您当前正在编辑的内容。我对 vimscript 的了解不够深入,无法提出更多建议,但如果还没有任何好的解决方案,我可能会开始尝试解决方案,因此也欢迎提供有关从哪里开始的建议!

Kar*_*tel 8

如果您安装了航空公司标签栏插件,这将起作用。这两个插件自动集成,您将在状态栏中显示当前功能。如果你想拥有完整的对象层次结构(例如类 + 方法),你必须在你的 .vimrc 中配置它:

let g:airline#extensions#tagbar#flags = 'f'  " show full tag hierarchy
Run Code Online (Sandbox Code Playgroud)

如果您还没有使用 ctags,您可能必须为 tagbar 设置标签文件以识别当前代码位置。如果您还不知道,这里是ctags简短介绍


gar*_*ohn 7

此脚本将当前函数的名称放在标题栏和/或状态行中。它使用 ctags 为当前文件生成一个标签列表,并假设光标位置之前的标签是当前函数的名称。由于它使用 ctags,因此可以自定义以使用不同的语言,甚至是结构化的文本文件。它在实践中运行良好,但有一些局限性。如果不出意外,它可能会给你一个黑客攻击的起点。