Я часто подпрыгиваю на o или O и ctrl {, чтобы вставить пустые строки и выйти из режима вставки.
Думая, что должен быть более простой способ, и надеясь сохранить мою позицию курсора, я взломал вместе эти небрежные макросы:
map <Leader>O :let cursorpos = getpos(".")<CR>:i<CR><CR>.<CR>:let cursorpos[1] = cursorpos[1] + 1<CR>:call setpos('.', cursorpos)<CR>
map <Leader>o :let cursorpos = getpos(".")<CR>:a<CR><CR>.<CR>:call setpos('.', cursorpos)<CR>
Однако это не учитывает диапазоны. Было бы неплохо иметь возможность пройти 5 \ O и получить 5 пробелов выше моей текущей строки.
Любые предложения о том, как я могу исправить это, чтобы разрешить диапазоны и при этом вернуться к исходной позиции курсора?