在 macvim 的状态行中显示“展开选项卡”的当前状态



我目前正在我的macvim中使用vim-airline ,我想显示expandtab的状态,无论它是否在状态行中设置。

我可以通过运行以下命令:set expandtab?来了解expandtab的状态。从vim-airline 文档中,我发现我可以使用这样的东西

let g:airline_section_b = '%{getcwd()}'

我将其修改为

let g:airline_section_b = '%{expandtab?}'

但是我收到错误undefined variable: expandtab.

有人可以告诉我如何检索expandtab的状态,然后在状态行中显示它。谢谢。

:set

访问变量,因此不能使用问号来查询变量。

您正在尝试访问不存在的变量expandtab变量。您实际上想要访问选项设置,并且使用&前缀访问这些设置。

你应该补充:

let g:airline_section_b = '%{&expandtab}'

请注意,问号不是必需的,对 VimL 没有特殊含义。

有关详细信息,请参阅:h expr-option

更新这将仅显示1(展开选项卡集)或0(未设置展开选项卡)。但是应该起作用的是这样的:

let g:airline_section_b = '%{&expandtab?"et":"noet"}'
当设置

展开选项卡时将显示"et",如果未设置扩展选项卡时将显示"noet"。这使用 <cond>?<true>:<false> 表达式来显示对 条件值的某个字符串。这在下面的帮助中进行了解释:h expr1

如果前缀为 &,则可以访问 Vim 选项。例:

let g:airline_section_b = '%{&expandtab}'

请参阅:h :let-&了解更多信息

相关内容

  • 没有找到相关文章

最新更新