Вставьте пустые строки, не вводя режим вставки

Я часто возвращаюсь на 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 пробелов выше моей текущей строки.

Какие-либо предложения о том, как я могу зафиксировать это, чтобы позволить диапазоны и все еще возвратиться к исходной позиции курсора при выполнении?

11
задан Jamey 3 July 2010 в 04:50
поделиться

2 ответа

Вы можете использовать : call append (lnumber, repeat ([''], 5)) . Курсор не будет перемещаться.

12
ответ дан 3 December 2019 в 05:11
поделиться

Плагин unimpaired добавляет сопоставления, которые делают то, что вы хотите. Вы можете вставить пустую строку над курсором с помощью [<пробел> или под курсором с помощью ] <пробел> . К обоим этим сопоставлениям можно добавить счетчик.

9
ответ дан 3 December 2019 в 05:11
поделиться
Другие вопросы по тегам:

Похожие вопросы: