Vim: вставить после последнего пробела? - PullRequest
4 голосов
/ 07 октября 2009

Я часто хочу вставить текст после последнего пробела в строке. Если у меня есть

sometext <cursor>

и нажмите Ctr + O, P, я получил

sometext<pasted_text>

вместо

sometext <pasted_text>

Как мне добиться последнего в vim?

Ответы [ 5 ]

16 голосов
/ 07 октября 2009

Используете ли вы (заглавные буквы) P? Это вставляет текст перед текущей позицией курсора. Нижний регистр p ставит его после.

6 голосов
/ 08 октября 2009

Если ваша линия

sometext<b>$</b>

, где $ - конец строки, затем попробуйте o<Esc>pkJ, чтобы получить

sometext pastedtext<b>$</b>

Если ваша линия

sometext<b> $</b>

тогда просто сделайте $p, чтобы получить

sometext pastedtext<b>$</b>
4 голосов
/ 08 октября 2009

Вы можете просто пойти

<c-r><register key>  
eg <c-r>0  for last yank
<c-r>" for last deleted text

Предполагая, что курсор находится там, где вы хотите, и вы находитесь в режиме вставки.

Это может быть более жидким.

Примечание также работает в командной строке:

1 голос
/ 07 октября 2009

Вы должны ввести (без запятой)
$, р

0 голосов
/ 01 декабря 2015

поместите это в свой .vimrc

nnoremap <leader>p <esc>pkJ

У меня установлен лидер,

let mapleader = ","

теперь вы можете просто сделать ,p

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...