仅当安装了 taglist.vim 或存在 Tlist_Get_Tagname_By_Line() 函数时,如何设置状态行?

林大卫

我有以下内容,.vimrc它根据光标所在的位置显示函数名称(它使用 taglist.vim 中的函数)

set statusline=%<%f\ [%{Tlist_Get_Tagname_By_Line()}]\ %{fugitive#statusline()}\ %h%m%r%=%-14.(%l,%c%V%)\ %P

我的问题是如果没有安装 taglist.vim,当你打开程序时 Vim 会抱怨它,而且它超级烦人:

E117: Unknown function: Tlist_Get_Tagname_By_Line
Press ENTER or type command to continue
E15: Invalid expression: Tlist_Get_Tagname_By_Line() 

问:如果Tlist_Get_Tagname_By_line()存在,我如何只设置状态行

罗马音

我的问题是如果没有安装 taglist.vim,Vim 打开程序就会报错,而且超级烦人:

不,系统报告错误从来都不是问题。问题是导致错误的原因。

如果Tlist_Get_Tagname_By_line()存在,如何仅设置状态行

您可以使用 测试函数的可用性:help exists()所以你可以……

  • 将整个状态行定义置于条件中:

    if exists('*Tlist_Get_Tagname_By_line')
        set statusline=...
    endif
    
  • 或在您的状态行中使用三元表达式:

    ...%{exists('*Tlist_Get_Tagname_By_line')?Tlist_Get_Tagname_By_line():''}...
    

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在安装了cscope的vim中使用ctags功能?

如何在Shiny模块中使用tagList()?

R Shiny:如何使用 tagList() 中的参数来运行函数?

安装了vscodevim扩展后,如何在vim仿真和no-vim仿真之间切换?

如何在 Taglist 环境中创建变量 Shiny

如何使用脚本制作与一组 CheckBox 交互的 TagList?

如何检查odoo中是否安装了模块或模型是否存在

Vim函数检查文件中是否存在文本

ValueError('仅知道如何处理PNG;安装了枕头'已安装,Matplotlib可以处理更多图像')

安装Bundle for Vim时出错

安装了rails.vim但:Rfind不起作用

如何为vim安装插件?

如何安装vi(不是vim)?

我的Vi / Vim安装如何?

编辑git存储库中存在的文件时可以配置vim设置noswapfile吗

.htaccess仅当GET参数存在时才重定向

.htaccess仅当GET参数存在时才重定向

Vim是否在Vim外部存在控件?

安装了Pygame,但Python声称它不存在

仅当数组存在时如何相交数组

如何从源代码安装软件并告诉apt-get我已经安装了该版本?

ASP.NET COMPLEX Script 问题;如何将 TagList 与 DatePicker 结合使用?

安装python 3.8时,安装了haskell

#vim:仅设置工作方式

尽管成功安装了vim-plug,但未出现Vim colorscheme

我应该安装apt-get在安装vim时给我的建议吗?

如何在安装vim时解决“设置语言环境失败”的错误?

无法使用apt-get安装vim

我在CentOS上安装了Open JDK 1.7。我安装了Oracle的Java rpm;Oracle Java似乎不存在