есть ли способ вставить новую строку выше текущей, не открывая ее (не входя в режим вставки)? То есть вроде "О", но без открывания.
5 ответов
Определение вашего запроса O
Логически при вставке новой строки выше будет O
Чтобы вставить перед курсором: i
После того, как : a
До линии (дома): I
Добавить в конце строки: A
Самое близкое, я думаю, вы придете, это I
который поместит курсор в начало строки.
:h append()
Он не будет перемещать курсор, он позволит вам вставить столько строк (пустых или нет), сколько вы пожелаете, и не изменит предыдущую метку позиции.
call append(line('.')-1, '')
Я использую плагин Тима Попа unimpared, который имеет команду специально для этой цели:
[<space>
И если вы хотите добавить пробел после строки, на которой вы находитесь:
]<space>
Вы можете отобразить любую клавишу или последовательность клавиш, которая вам нравится
m`O<ESC>``
это вставит пустую строку над текущей, сохраняя вас в обычном режиме и без изменения позиции курсора.
:nmap <CR>_i<CR><ESC>