Похоже, вы уже знаете все, что вам нужно. ggVG~
отмечает весь ваш код и переключает регистр. Если вам нужна одна команда, вы можете использовать:
:nnoremap <keybinding> ggVG~
или использовать эту функцию, которая делает то же самое, но сохраняет текущую позицию в файле:
function ToggleCase()
exec "normal! mqHmw"
exec "normal! ggVG~"
exec "normal! 'wzt`q"
endfunction
command ToggleCase silent call ToggleCase()
первая и последний exec
помечает вашу позицию в файле и восстанавливает их после переключения регистра. См: :h marks
введите :ToggleCase
, чтобы использовать функцию. Конечно, вы можете связать это и с привязкой клавиш.
:nnoremap <keybinding> :ToggleCase<cr>