如何在vim中导航c++模板实例化



我知道vim有一种方便的方法可以在匹配的左括号和右括号((、括号[]和大括号{}之间导航。我碰巧写了很多C++模板代码,希望有类似的能力在匹配的尖括号<>之间导航。

// I want to jump from this '<'
//         v
enable_if_t<conditional_t<test_v<x>, y, z>::template w<x, y>::value > 42,
typename a<b, c>::type>
// ... to this '>'                ^

有没有一个vim命令可以以上下文敏感的方式正确地执行此操作?具体来说,它应该理解<何时为less than,何时打开模板参数列表,>何时为greater than,何时关闭模板参数列表以及>>何时右移,何时关闭两个模板参数列表。

编辑:如果能做到这一点,我愿意改用emacs。

您可以通过将以下内容添加到您的vimrc 中,将vim配置为仅在c++文件中的匹配尖括号之间导航

autocmd FileType cpp setlocal matchpairs+=<:>

最新更新