Положение курсора является важной частью адресации команды ;для интерактивного редактирования не имеет смысла иметь команды, которые работают «на расстоянии». (Внутри Vimscript вы можете использовать низкоуровневые функции, такие как setline()
, для изменения произвольных мест, но это не должно быть частью обычного использования, и здесь я не согласен с ответом @ SergioAraujo, который представляет эту команду как подходящую для интерактивного использования.)
Вместо этого Vim позволяет легко перейти в какое-то место и затем вернуться туда, откуда вы пришли. :help jumplist
и особенно CTRL-O
предназначены для этого. Ваш пример вставьте вам через 4Gp<C-O>
или 4Gp``
;чтобы использовать команды Ex, вы должны явно установить точку перехода: m':4put<CR>``
. Преимущество работы со списком переходов состоит в том, что цель вставки теперь также стала его частью, поэтому вы также можете легко перейти к ней (с <C-I>
).