Я пытаюсь создать функцию VimScript, которая случайным образом увеличивает / уменьшает число под курсором, чтобы я мог вызвать его из макроса. Пока у меня есть это:
function! RandomIncDec()
python import random
python vim.command("let l:random = " + str(random.randint(-15, 15)))
if l:random > 0
exec ':normal ' . l:random . '<C-a>'
elseif l:random < 0
exec ':normal ' . abs(l:random) . '<C-x>'
endif
endfunction
command! RandIncDec :call RandomIncDec()
У меня проблема в том, что клавиши Ctrl - A и Ctrl - X не работают из VimScript таким образом. Я также пытался использовать функцию feedkeys()
в Vim, чтобы попытаться эмулировать нажатия клавиш, но, похоже, это тоже не сработало. Я мог бы, вероятно, сделать это, вызвав базовые функции, которые отображаются Ctrl - A и Ctrl - X , но по мере Я не могу понять, что они из :map
.
Какой правильный способ сделать это из vimscript? Спасибо!