Есть ли встроенная функция в Vim, которая позволяет переместить курсор в начало/конец следующего метода? Я уже знаю о [[
, ]]
, []
и ][
, но они не режут работу, потому что они работают только на фигурных скобках, которые находятся в нулевом столбце. Следовательно, они мало полезны, например, для навигации по коду С++. Есть ли такая команда, которая уже встроена в Vim? Если нет, вы бы порекомендовали плагин, который его реализует?
Спасибо за вашу помощь!
Изменить: [{
и }]
не будут работать все время, потому что вы должны быть в блоке с {}
(а не в какой-то более глубокой области внутри этого блока), чтобы вы закончили справа {
или }
.
Редактировать 2: Здесь список кодов, для которых [m
и друзья не работают.
namespace foo {
#define define_foo \
template <class T> \
struct foo_traits<X> \
{ \
using foo = X; \
};
template <class T>
struct foo_traits;
define_bar(T*, T*, T*);
template <class T>
struct baz;
template <class T>
struct baz<T&>
{
static T* apply(T& t) { return &t; }
};
template <class T>
inline T a(T t) { return t; }
}