Я часто хочу вставить текст после последнего пробела в строке. Если у меня есть
sometext <cursor>
и нажмите Ctr + O, P, я получил
sometext<pasted_text>
вместо
sometext <pasted_text>
Как мне добиться последнего в vim?
Используете ли вы (заглавные буквы) P? Это вставляет текст перед текущей позицией курсора. Нижний регистр p ставит его после.
P
p
Если ваша линия
sometext<b>$</b>
, где $ - конец строки, затем попробуйте o<Esc>pkJ, чтобы получить
o<Esc>pkJ
sometext pastedtext<b>$</b>
sometext<b> $</b>
тогда просто сделайте $p, чтобы получить
$p
Вы можете просто пойти
<c-r><register key> eg <c-r>0 for last yank <c-r>" for last deleted text
Предполагая, что курсор находится там, где вы хотите, и вы находитесь в режиме вставки.
Это может быть более жидким.
Примечание также работает в командной строке:
Вы должны ввести (без запятой) $, р
поместите это в свой .vimrc
nnoremap <leader>p <esc>pkJ
У меня установлен лидер,
let mapleader = ","
теперь вы можете просто сделать ,p
,p