我目前在我的macvim中使用vim-airline,我希望显示expandtab
状态是否在状态行中设置。
我可以通过运行以下命令expandtab
找出:set expandtab?
的状态。从vim-airline文档中我发现我可以使用类似的东西
let g:airline_section_b = '%{getcwd()}'
我将其修改为
let g:airline_section_b = '%{expandtab?}'
但我收到错误undefined variable: expandtab
。
有人可以告诉我如何检索expandtab
的状态,然后在状态行中显示它。感谢。
答案 0 :(得分:4)
:set
执行非访问变量,因此您无法使用问号来查询变量。
您正在尝试访问变量expandtab
变量,该变量不存在。您实际上想要访问选项设置,并使用&
前缀访问这些设置。
你应该添加:
let g:airline_section_b = '%{&expandtab}'
注意,问号不是必需的,对VimL没有特殊意义。
有关详细信息,请参阅:h expr-option
。
<强>更新强>
这只会显示1
(expandtab set)或0
(expandtab未设置)。然而应该起作用的是:
let g:airline_section_b = '%{&expandtab?"et":"noet"}'
当设置expandtab时将显示'et'或未设置expandtab时显示'noet'。这使用<cond>?<true>:<false>
表达式来显示某个字符串,该字符串取决于&lt; cond&gt;的值。条件。以下:h expr1
答案 1 :(得分:1)
如果前缀为&
,则可以访问实时变量的Vim选项。例如:
let g:airline_section_b = '%{&expandtab}'
有关详情
,请参阅:h :let-&