Есть ли команда vim для выбора вставленного текста? - PullRequest
28 голосов
/ 30 ноября 2010

Я часто повторяю следующую последовательность действий.

Я обычно вхожу в визуальный режим, выбираю несколько строк или блок. Затем я дергаю их, используя y, и вставляю их, используя p или P. Следующим шагом является выбор вставленного текста, замена имени переменной или функции или изменение отступа.

Я знаю, что могу использовать gv для повторного выбора «источника», но мне нужна похожая команда для выбора «пункта назначения».

:help gv упоминает:
After using "p" or "P" in Visual mode the text that<br> was put will be selected.
но это полезно только при замене выбора содержимым регистра, а не при вставке нового блока.

Ответы [ 3 ]

45 голосов
/ 30 ноября 2010

Вы ищете

`[v`]
10 голосов
/ 30 ноября 2010

Я предпочитаю следующее простое сопоставление функции Бенуа

nnoremap <expr> g<c-v> '`[' . strpart(getregtype(), 0, 1) . '`]'

Подробнее о картах экспрессии:

:h :map-expression

Как указал @ZyX, strpart не нужен и может быть переписан как:

nnoremap <expr> g<c-v> '`[' . getregtype()[0] . '`]'
0 голосов
/ 28 марта 2018

Один из ваших вариантов использования - изменить отступ после вставки.

Я использую следующие карты для достижения этой цели:

nnoremap <leader>[ `[V`]<
nnoremap <leader>] `[V`]>

Они делают следующее:

  • деиндентировать недавно вставленный блок
  • отступ для недавно вставленного блока

Я считаю эти очень полезные и хорошо используемые карты.

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