Есть ли способ иметь переменную состояния в VIM? Рассматривать:
" Relative line numbers in Normal mode, absolute in Insert mode. Ctrl-N to toggle
set relativenumber
autocmd InsertEnter * :set number
autocmd InsertLeave * :set relativenumber
inoremap <C-n> <C-o>:call NumberToggle()<cr>
nnoremap <C-n> :call NumberToggle()<cr>
function! NumberToggle()
if(useRelNums != 1)
let useRelNums=1
set number
else
let useRelNums=0
set relativenumber
endif
endfunc
Конечно, useRelNums
не определено. Я хотел бы сохранить эту переменную определенной между вызовами функции NumberToogle()
, то есть переменная состояния. Как это сделать? Я уверен, что я мог бы использовать некоторые другие переменные VIM в качестве обходного пути (например, состояние paste
для плохого примера), но я бы предпочел реальное решение.
Благодарю.