Я часто возвращаюсь на 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 пробелов выше моей текущей строки.
Какие-либо предложения о том, как я могу зафиксировать это, чтобы позволить диапазоны и все еще возвратиться к исходной позиции курсора при выполнении?
Вы можете использовать : call append (lnumber, repeat ([''], 5))
. Курсор не будет перемещаться.
Плагин unimpaired добавляет сопоставления, которые делают то, что вы хотите. Вы можете вставить пустую строку над курсором с помощью [<пробел>
или под курсором с помощью ] <пробел>
. К обоим этим сопоставлениям можно добавить счетчик.