В vim можно ли выбирать содержимое в скобках, включая скобки, похожие на
yi{ yi(
Но я хочу включить скобки
В vim можно ли выбирать содержимое в скобках, включая скобки, похожие на
yi{ yi(
Но я хочу включить скобки
Да. Используйте вместо a
а
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(
«дергает в nner блок I».
Вы можете переместить курсор на одну скобку и выполнить vf{
или vf(
чтобы перевести вас в визуальный режим, а затем выбирать все до (и включая) скобку.