Переход от первого символа объявления функции к конечной скобке в VIM
Если у меня есть функция, объявленная как такой:
public static void main(String[] args){
blahblahlbah;
}
есть ли в любом случае, чтобы перейти от "p" в public
до конца"} " функции?
можно предположить, что тело метода имеет значительную длину и содержит фигурные скобки, если это имеет значение.
спасибо!
4 ответов
существует не мало способов выполнения движения.
наиболее подходящих команда "движение"
]M
который короткий и до точки: он перемещает курсор в конец следующего метода в Java-подобном коде.
есть также три движения спутника, которые вместе с ]M
дать
возможность перехода к следующему или предыдущему началу и концу методов, см. :help
]m
и ниже. Поэтому в дополнение к ]M
, в этой ситуации можно
выпуск
]m%
остальная часть ответа содержит обсуждение некоторых трюков, которые следует использовать только если вышеупомянутые команды движения по какой-то причине не удалось решить проблему в вашем случае.
еще одна простая идея, чтобы воспользоваться, чтобы перепрыгнуть через список аргументов , найдите следующую открывающую фигурную скобку и перейдите к ее закрывающему аналогу,
%l%
или
f{%
или даже
/%
Enter%
аналогичная идея переместить курсор в самое начало тела метода и чем перейти к следующему бесподобному замыканию фигурной скобки приводит к следующему команде
j]}
обратите внимание, что три из последних четырех команд работают только в том случае, если функция заголовок представляет собой одну строку. Если это не так, они нуждаются в модификации.
при некоторых предположениях о форматирование кода, также возможно достигнуть тот же результат с использованием простых текстовых движений. Если открытие curly скобка-последний символ в строке заголовка метода, можно использовать
$%
или
g_%
если эта скобка последняя непустое символ.
в заключение, придерживаться ]M
движение насколько это работает для вас (это
следует, в подавляющем большинстве случаев), вернуться к трюкам, основанным на
комбинации других команд движения текста, в противном случае.
][
переходит к следующему }
в первом столбце. Таким образом, это будет работать для вас, пока ваша функция правильно отступ.
посмотреть :help ][
и :help section
Я использую это при поиске по файлу, и мой курсор расположен над определенным результатом поиска в середине некоторой длинной функции. Часто я хочу знать, в какой функции я так ][%
возвращает меня к сигнатуре функции, а затем n
возвращает меня к результату поиска, где я начатый.