【问题标题】:How to check if function is active on statusbar?如何检查状态栏上的功能是否处于活动状态?
【发布时间】:2016-01-21 21:13:45
【问题描述】:

我在 _vimrc 中添加了这个函数来在输入时计算字符数

   function! Count2Cursor()
      let mycount2cursor = strlen(substitute(join(add(getline(1,line('.')-1),strpart(getline('.'),0,col('.')-1)),'.'),'.','.','g'))+1
      return mycount2cursor
    endfunction

这是在状态栏上激活它的代码:

:set statusline+=%1*\ Chars2Cursor:\%{Count2Cursor()}

这是在状态栏上禁用它的代码:

:set statusline-=%1*\ Chars2Cursor:\%{Count2Cursor()}

我想要做的是将两行(激活/禁用)整合到一行中:Toggle Chars2Cursor
如何检查状态栏上的代码是否被激活/禁用?

【问题讨论】:

    标签: vim count character statusbar


    【解决方案1】:

    您可以通过&statusline 访问'statusline' 选项的当前值。然后模式匹配会告诉你它是否已经包含你的函数。

    :command! ToggleChars2Cursor
    \   if &statusline =~# 'Chars2Cursor' |
    \       set statusline-=%1*\ Chars2Cursor:\%{Count2Cursor()} |
    \   else |
    \       set statusline+=%1*\ Chars2Cursor:\%{Count2Cursor()} |
    \   endif
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-01-11
      • 2019-12-10
      • 2020-03-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-04-06
      相关资源
      最近更新 更多