2010-11-30 2 views
27

Я часто повторяю следующую схему операций.Есть ли команда vim для выбора вложенного текста?

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

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

:help gv упоминает:
After using "p" or "P" in Visual mode the text that
was put will be selected.

но это только полезно, когда вы заменяете выбор по содержанию регистра, а не когда вы вставляете целый новый блок.

ответ

42

Вы ищете

`[v`] 
+0

Ничего себе, не знал об этих знаках, вы действительно гуру, Люк. – Benoit 2010-11-30 12:25:14

+1

Я переделал это на `gp`, и он отлично работает. Это здорово, потому что я не думаю, что смог бы выкопать эту информацию из: help! Благодаря! И здорово изменить отступы после копирования. – 2010-11-30 12:41:08

8

, я предпочитаю простое отображение в функции Бенуа

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

Узнайте больше о выражении карты:

:h :map-expression 

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

nnoremap <expr> g<c-v> '`[' . getregtype()[0] . '`]' 
Смежные вопросы