Vim, come mappare due compiti sotto un unico tasto di scelta rapida?
-
10-10-2019 - |
Domanda
mi piace avere i numeri di riga su ON in Vim, ma a volte in fila i numeri sono fastidiosi. Ho scorciatoie impostati nel Vimrc:
map <c-F12> :set nonumber<ENTER>
map <c-F11> :set number<ENTER>
per trasformarli off / on.
E 'possibile collegare entrambi i compiti (trasformando off / on) in una chiave? Voglio dire, quando i numeri di riga sono ON scorciatoia dovrebbe spegnere loro e accendere quando i numeri di riga sono OFF.
Soluzione
Da Vim aiuto, è possibile utilizzare la seguente sintassi:
:se[t] {option}! or
:se[t] inv{option} Toggle option: Invert value. {not in Vi}
Vedere :help set-option
Nel vostro caso, è possibile utilizzare:
map <c-F11> :set number!<ENTER>
Altri suggerimenti
Nel caso in cui si desidera anche il cambiamento tra il numero di riga relativa, il numero di riga, e nessun numero è possibile utilizzare qualcosa di simile al seguente:
let g:relativenumber = 0
function! ToogleRelativeNumber()
if g:relativenumber == 0
let g:relativenumber = 1
set norelativenumber
set number
elseif g:relativenumber == 1
let g:relativenumber = 2
set nonumber
set relativenumber
else
let g:relativenumber = 0
set nonumber
set norelativenumber
endif
endfunction
map <c-f11> :call ToogleRelativeNumber()<cr>