28

В vim можно ли выбирать содержимое в скобках, включая скобки, похожие на

yi{ yi(

Но я хочу включить скобки

3 ответа3

70

Да. Используйте вместо a а

ya{
ya(

Увидеть

:help a{
:help a(

и в целом,

:help text-objects
:help 04.8
3

f{v% или f(v% делают то, что вы хотите? Он перемещает курсор к следующему {или (, вводит вас в визуальный режим, а затем перемещает курсор к соответствующему закрытию} или). Если вы уже прошли область, которую хотите выбрать, вы можете использовать заглавную F Работает так же хорошо, чтобы сначала перейти к закрытию} или) - f}v% .

Если у вас есть то, что вы хотите выбрать, вы можете y , d , x и т.д. Его. Команда % работает многострочно, так что вы можете использовать эту технику для больших блоков кода, если хотите (хотя f и F нет, поэтому вы должны начинать либо с первой, либо с последней строки).

РЕДАКТИРОВАТЬ: Лучший ответ, кажется, именно то, что вы ищете:

ya(

Замена i в исходной команде на a делает то же самое, за исключением того, что она содержит символ '('. Это «дергает блок», в то время как yi( «дергает в nner блок I».

1

Вы можете переместить курсор на одну скобку и выполнить vf{ или vf( чтобы перевести вас в визуальный режим, а затем выбирать все до (и включая) скобку.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .