20

есть ли способ вставить новую строку выше текущей, не открывая ее (не входя в режим вставки)? То есть вроде "О", но без открывания.

5 ответов5

27

Определение вашего запроса O

Логически при вставке новой строки выше будет O

Чтобы вставить перед курсором: i
После того, как : a
До линии (дома): I
Добавить в конце строки: A

Самое близкое, я думаю, вы придете, это I который поместит курсор в начало строки.

9
:h append()

Он не будет перемещать курсор, он позволит вам вставить столько строк (пустых или нет), сколько вы пожелаете, и не изменит предыдущую метку позиции.

call append(line('.')-1, '')
8

Я использую плагин Тима Попа unimpared, который имеет команду специально для этой цели:

[<space>

И если вы хотите добавить пробел после строки, на которой вы находитесь:

]<space>

5

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

m`O<ESC>``

это вставит пустую строку над текущей, сохраняя вас в обычном режиме и без изменения позиции курсора.

2
:nmap <CR>_i<CR><ESC>

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .