Ответы:
Да. использование a
вместо i
, как
ya{
ya(
Увидеть
:help a{
:help a(
и в целом,
:help text-objects
:help 04.8
Есть ли f{v%
или же f(v%
делай что хочешь? Он перемещает курсор к следующему {или (, вводит вас в визуальный режим, а затем перемещает курсор к соответствующему закрытию} или). Если вы уже вышли за рамки, которые хотите выбрать, вы можете использовать заглавную F
, Работает так же хорошо, чтобы перейти к закрытию} или) сначала тоже - f}v%
,
Когда у вас есть то, что вы хотите выбрать, вы можете y
, d
, x
и т. д. это. %
Команда также работает в несколько строк, поэтому вы можете использовать эту технику для больших блоков кода, если хотите (хотя f
а также F
нет, так что вы должны начать с первой или последней строки).
РЕДАКТИРОВАТЬ: Лучший ответ, кажется, именно то, что вы ищете:
ya(
Замена i
в вашей первоначальной команде с a
делает то же самое, за исключением того, что включает в себя символ '('. Это "дергание блок ", тогда как yi(
"дергает я ннер блок ".
f{
переместит вас к ближайшей открывающей скобке, на которой вы уже находитесь. То, что вы, вероятно, хотитеv%
который переместит вас к соответствующей скобке и может быть использован с любой стороны.