如何检查状态栏上的功能是否处于活动状态?
How to check if function is active on statusbar?
我在 _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()}
我想做的是将两行(activate/disable)合并为一行:Toggle Chars2Cursor
.
如何检查状态栏上的代码是否为 activated/disabled?
您可以通过&statusline
访问'statusline'
选项的当前值。然后模式匹配会告诉你它是否已经包含你的函数。
:command! ToggleChars2Cursor
\ if &statusline =~# 'Chars2Cursor' |
\ set statusline-=%1*\ Chars2Cursor:\%{Count2Cursor()} |
\ else |
\ set statusline+=%1*\ Chars2Cursor:\%{Count2Cursor()} |
\ endif
我在 _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()}
我想做的是将两行(activate/disable)合并为一行:Toggle Chars2Cursor
.
如何检查状态栏上的代码是否为 activated/disabled?
您可以通过&statusline
访问'statusline'
选项的当前值。然后模式匹配会告诉你它是否已经包含你的函数。
:command! ToggleChars2Cursor
\ if &statusline =~# 'Chars2Cursor' |
\ set statusline-=%1*\ Chars2Cursor:\%{Count2Cursor()} |
\ else |
\ set statusline+=%1*\ Chars2Cursor:\%{Count2Cursor()} |
\ endif