Ответ 1
Используйте текстовые объекты:
yi( (или ya(, если вы хотите включить скобки).
Вы также можете использовать "
для работы внутри кавычек и т.д. Подробнее см. ссылку или введите :help text-objects
в Vim.
Я хочу скопировать параметры foo(bar).baz
в следующий код:
function(foo(bar).baz)
Первая попытка: курсор в одной из круглых скобок, затем y%
. Это дает мне параметры плюс немного больше:
(foo(bar).baz)
Вторая попытка: Курсор при открытии круглых скобок. Установите отметку ma
, перейдите к концу с помощью
%
, затем y`a
, чтобы скопировать обратно в метку. Это дает мне:
(foo(bar).baz
Установка знака в конце, а другой путь дает мне то же самое. Установка
отметьте на f
, тогда набрав mah%y`a
, я дам мне foo(bar).baz
, который я хочу, но, возможно, там что-то более сжатое. Есть?
Используйте текстовые объекты:
yi( (или ya(, если вы хотите включить скобки).
Вы также можете использовать "
для работы внутри кавычек и т.д. Подробнее см. ссылку или введите :help text-objects
в Vim.
Несколько меньшая альтернатива yi( равна yib. Точно так же yib эквивалентно yi{ - занимает содержимое внутри фигурных скобок.
Лично я обычно делаю vib (визуальный выбор текста внутри фигурных скобок), чтобы убедиться, что выбран ожидаемый текст, а затем y.
Подробнее о добротности текстового объекта см. :help text-objects
.
Следующее должно сделать это
Янки внутреннего блока
yi(