Вставка пустой строки в Vim?

Я довольно часто нахожу, что мне нужно вставить пустую строку ниже или выше текущей строки при редактировании в vim. o и O сделает это, но они впоследствии переключаются в режим вставки, что раздражает. Есть ли встроенная команда для этого, которая останется в нормальном режиме?

8
задан Andrew Ferrier
01.12.2022 11:47 Количество просмотров материала 2391
Распечатать страницу

4 ответа

оба Тима Поупа unimpaired плагин а также мой собственный плагин LineJuggler обеспечить [<Space> и ]<Space> сопоставление, чтобы добавить [count] пустые строки над / под текущей строкой.

в принципе, все сводится к следующему:

nnoremap <silent> ]<Space> :<C-u>put =repeat(nr2char(10),v:count)<Bar>execute "'[-1"<CR>
nnoremap <silent> [<Space> :<C-u>put!=repeat(nr2char(10),v:count)<Bar>execute "']+1"<CR>
8
отвечен Ingo Karkat 2022-12-02 19:35

я использовал эти

map <Enter> o<ESC>
map <S-Enter> O<ESC>

в своем .vimrc в течение многих лет.

пресс Enter вставить пустую строку ниже текущей, Shift + Enter вставить выше.

24
отвечен Mr Shunz 2022-12-02 21:52

еще один способ вставки строк выше или ниже:

nnoremap <Enter> :call append(line('.'), '')<CR>
nnoremap <S-Enter> :call append(line('.')-1, '')<CR>

обратите внимание, что решение из romainl и Mr Shunz переместит курсор на только что вставленную строку, в то время как это, а также от Ingo Karkat будет держать курсор в том же месте.

7
отвечен taketwo 2022-12-03 00:09

нет, для этого нет встроенной команды.

эти отображения делают то, что вы хотите:

nnoremap <leader>o o<Esc>
nnoremap <leader>O O<Esc>
1
отвечен romainl 2022-12-03 02:26

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх