内部函数调用时转到定义(gd)

时间:2011-07-27 12:03:00

标签: vim

如果我正在编辑一个函数调用,如:

many_params(param1, "a long...string", p|aram3); // Cursor located at |

然后输入gd将跳转到param3的定义,而不是many_params。在不使用many_params的情况下,将光标移动到^的最有效的习惯是什么。

为了澄清,请使用^ 回答,因为我想要一个兼容的习语:

// Lets jump to func3's definition
func1(func2(123, "aaaaa"), func3("bbbbb", 3|, 4, 5));

2 个答案:

答案 0 :(得分:3)

我唯一的想法就是:

  • 转到左括号 - F(
  • 向后移动一个单词 - b

所以命令是F(b。但是,它不适用于func1("abc(d", 222|2)

等文字

答案 1 :(得分:0)

对我来说感觉有点脏,但您也可以使用ya(h来处理嵌套括号。请注意,这会将带括号的位移动到您的yank缓冲区,这可能是不可取的,但您可以通过映射到"_ya(h来解决这个问题。这将是封闭的parens的开放式paren,随后执行它将进入后续的括号内。我不知道另一种方法来到括号括号而不会被插入的括号中断。

如果您正在使用此功能,则需要使用h代替b,以防万一连续使用多个括号。 ......但是再一次,也许b的行为是可取的。