假设我有以下几种组合:
" one if not both is usually on
set number " could be on or off
set relativenumber " could be on or off
有没有一种方法可以在不丢失信息的情况下切换这些开/关(不知道设置了什么,即我想做一个简单的键盘快捷键来切换当前行号选择的可见性)?例如,如果我只设置了rnu
而我做到了:
:set number!
这真的对我没有帮助,因为我仍然设置了rnu
,并且左侧仍然有line-number column
。如果是这样,怎么办?
答案 0 :(得分:1)
尝试一下:
<F7>
,您可以根据需要更改映射此功能将禁用所有行号显示并恢复到旧的行号设置。
function! MagicNumberToggle() abort
if &nu + &rnu == 0
let &nu = g:old_nu
let &rnu = g:old_rnu
else
let g:old_nu = &nu
let g:old_rnu = &rnu
let &nu = 0
let &rnu =0
endif
endfunction
nnoremap <F7> :call MagicNumberToggle()<cr>
答案 1 :(得分:0)
一种衬板解决方案
:nnoremap <silent> <C-n> :let [&nu, &rnu] = [!&rnu, &nu+&rnu==1]<cr>
要了解会发生什么,请尝试:
:echo [&nu, !&rnu]
&nu ............. gets the value of number
!&rnu ........... the oposite value of relative number
更多:h nu