0

我正在开发一些带有 VSCode+VIM 扩展的 C++ 代码。有时我需要在阅读代码时这样做:假设我在一个长函数中,我想知道是谁调用了它。第一步是将光标直接移动到函数名称下,以便我可以调用一些击键来显示引用。

我目前使用的是按两次“[”键,这将把我带到函数的左括号。由于我必须遵循一些编码标准,典型的场景是这样的:

ReturnType ClassName::FunctionName(
    ParamType1 param1,
    ParamType2 param2,
    ParamType3 param3)
{ // <-- Cursor here
    ......

}

然后我需要按几次“k”将光标移动到“ReturnType”下,具体取决于有多少参数。接下来,我仍然需要按 3 次“w”才能最终将光标从“ReturnType”移动到“FunctionName”。

如您所见,这有点痛苦。我已经尝试使用 VSCode VIM 扩展的简单运动方法,这让我的生活更轻松,但我正在寻找一个更好的方法。

任何 VIM 技巧或 VSCode 扩展都可以很好地做到这一点?任何帮助将不胜感激,谢谢!

4

1 回答 1

2

为了避免必须按k可变次数,可以利用)上一行正确的事实,并使用%去匹配(。完整的键序列是[[b%b

但是,如果括号之间没有任何内容,则第一个b将转到。可以代替使用。([[ge%b

如果 and 之间有一些东西){例如const限定符)[[?)<cr>%b会起作用(这个解决方案很复杂,可能只在键绑定中有用?)

[[?(<cr>b只要没有包含左括号的参数(例如 in FunctionName(int (*function_pointer)(int, int)) { ... }) ,也可以工作

于 2021-02-17T05:44:01.660 回答