Несмотря на то, что o<ESC>
- это всего два нажатия клавиш, он перемещает курсор и добавляет создание новой строки для изменения истории, которая может быть нежелательна. То есть команда .
впоследствии повторяет создание новой строки.
1) unimpaired.vim
Есть плагин unimpaired.vim, который имеет отображение для создания новых строк до или после курсора без изменения истории изменений, и он не перемещает курсор на новую строку. Курсор также останется в своем текущем столбце, если установлен nostartofline
.
Используя unimpaired.vim, создайте новую строку после курсора:
]<Space>
или перед курсором:
[<Space>
http://www.vim.org/scripts/script.php?script_id=1590
Он также принимает количество, поэтому для создания 3 новых строк после курсора вы можете использовать:
3]<Space>
2) Отображение
Вы также можете просто сделать свое собственное отображение, чтобы создать новую строку, например, для сопоставления \]
(или любой другой ключ лидера), чтобы добавить строку после курсора:
:nnoremap <Leader>] :put!=repeat(nr2char(10),v:count)<Bar>']+1<Cr>
Вот как unimpaired.vim создает новые строки. Чтобы сделать аналогичное отображение для создания новой строки перед курсором, просто измените +1 на -1