Переход от первого символа объявления функции к конечной скобке в VIM

Если у меня есть функция, объявленная как такой:

public static void main(String[] args){
    blahblahlbah;
}

есть ли в любом случае, чтобы перейти от "p" в public до конца"} " функции?

можно предположить, что тело метода имеет значительную длину и содержит фигурные скобки, если это имеет значение.

спасибо!

4 ответов


попробуйте эту последовательность клавиш: f{% должны сделать это.


существует не мало способов выполнения движения.

наиболее подходящих команда "движение"

]M

который короткий и до точки: он перемещает курсор в конец следующего метода в Java-подобном коде.

есть также три движения спутника, которые вместе с ]M дать возможность перехода к следующему или предыдущему началу и концу методов, см. :help ]m и ниже. Поэтому в дополнение к ]M, в этой ситуации можно выпуск

]m%

остальная часть ответа содержит обсуждение некоторых трюков, которые следует использовать только если вышеупомянутые команды движения по какой-то причине не удалось решить проблему в вашем случае.

еще одна простая идея, чтобы воспользоваться, чтобы перепрыгнуть через список аргументов , найдите следующую открывающую фигурную скобку и перейдите к ее закрывающему аналогу,

%l%

или

f{%

или даже

/% Enter%

аналогичная идея переместить курсор в самое начало тела метода и чем перейти к следующему бесподобному замыканию фигурной скобки приводит к следующему команде

j]}

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

при некоторых предположениях о форматирование кода, также возможно достигнуть тот же результат с использованием простых текстовых движений. Если открытие curly скобка-последний символ в строке заголовка метода, можно использовать

$%

или

g_%

если эта скобка последняя непустое символ.

в заключение, придерживаться ]M движение насколько это работает для вас (это следует, в подавляющем большинстве случаев), вернуться к трюкам, основанным на комбинации других команд движения текста, в противном случае.


/{ приведет вас к открытию скобки и % перейдет к соответствующему закрывающему.


][ переходит к следующему } в первом столбце. Таким образом, это будет работать для вас, пока ваша функция правильно отступ.

посмотреть :help ][ и :help section

Я использую это при поиске по файлу, и мой курсор расположен над определенным результатом поиска в середине некоторой длинной функции. Часто я хочу знать, в какой функции я так ][% возвращает меня к сигнатуре функции, а затем n возвращает меня к результату поиска, где я начатый.