如何在vim中导航c++模板实例化
How to navigate c++ template instantiations in vim?
我知道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+=<:>
相关文章:
- 从C++实例化QML
- 设计一个只能由特定类实例化的类(如果可能的话,通过make_unique)
- 如何创建一个空的全局类并在启动时实例化它
- 在两个类中共享相同的函数调用,并在不需要时避免空实例化
- 约束和显式模板实例化
- 为什么包含windows.h会产生语法错误,从而阻止类的实例化?(C2146,C2065)
- 对象实例化调用构造函数的次数太多
- 如何使用非默认构造函数实例化模板化类
- 静态数据成员模板专用化的实例化点在哪里
- 错误的cv::face FacemarkLBF实例化
- C++的解析器在可以区分比较和模板实例化之前会做什么?
- 为什么 gcc 和 clang 为函数模板的实例化生成不同的符号名称?
- 检查某些类型是否是模板类 std::optional 的实例化
- 我有一个对象,它将在整个程序的持续时间内实例化,但一个类成员不会,我应该动态分配它吗?
- 无法使用 SWIG 在 Python 中实例化C++类(获取属性错误)
- 模板化类构造函数的模板实例化
- 在 c++ 中的模板实例化中使用带有构造函数的类作为类型参数
- 受约束的成员函数和显式模板实例化
- 对显式实例化的模板函数的未定义引用
- [temp.variadic]中关于包扩展实例化的措辞