Vim, comment cartographier deux tâches sous une touche de raccourci?
-
10-10-2019 - |
Question
j'aime avoir des numéros de ligne ON dans vim, mais parfois la ligne chiffres sont ennuyeux. Je raccourcis définis dans Vimrc:
map <c-F12> :set nonumber<ENTER>
map <c-F11> :set number<ENTER>
pour les désactiver / sur.
Est-il possible de connecter les deux tâches (tourne sous / hors) sous une clé? Je veux dire, quand les numéros de ligne sont sur le raccourci doit se éteindre eux et allumer lorsque les numéros de ligne sont OFF.
La solution
De l'aide Vim, vous pouvez utiliser la syntaxe suivante:
:se[t] {option}! or
:se[t] inv{option} Toggle option: Invert value. {not in Vi}
Voir :help set-option
Dans votre cas, vous pouvez utiliser:
map <c-F11> :set number!<ENTER>
Autres conseils
Si vous voulez aussi le changement entre le numéro de la ligne relative, le numéro de ligne, et aucun numéro, vous pouvez utiliser quelque chose comme ce qui suit:
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>