如何在vim中快速浏览函数参数列表

如何在vim中快速浏览函数参数列表,vim,Vim,我有以下函数定义: def test(these, are=0, args=1): pass 我想找到一种快速直观的方法在每个论点之间跳跃 例如,按w/b速度太慢,因为它会碰到逗号,但更糟糕的是,它会碰到=W/B工作得很好,因为test(这些是一个“单词”) 是否有一种现有的方法来导航此列表,该方法对所有参数都适用,或者是否有一种通用的修改方法来执行此操作?例如,我是否可以重新定义单词并使其成为(/)< /代码>分解一个单词?我想不出一个很好的例子,当我在中间有一个PAREN的正确的单

我有以下函数定义:

def test(these, are=0, args=1):
    pass
我想找到一种快速直观的方法在每个论点之间跳跃

例如,按
w
/
b
速度太慢,因为它会碰到逗号,但更糟糕的是,它会碰到
=
<除了第一个参数,code>W/
B
工作得很好,因为
test(这些
是一个“单词”)


是否有一种现有的方法来导航此列表,该方法对所有参数都适用,或者是否有一种通用的修改方法来执行此操作?例如,我是否可以重新定义单词并使其成为
/
)< /代码>分解一个单词?我想不出一个很好的例子,当我在中间有一个PAREN的正确的单词。

< P>试着使用<代码> FT/<代码>代码> F0或<代码> f1>代码>看看这些跳跃是否可以帮助你。

参数列表的大复杂是复杂的表达式和嵌套函数调用(例如<代码> Foo。(1,条(2,3),4)

),要处理这些问题,至少需要一些基本的解析;简单的模式匹配(可以通过内置命令完成)不行

我个人使用了一些基本Vim命令的组合,这些命令是根据当前情况定制的(即
w
/
w
/
f{char}
),以及以下插件:

  • 具有跳转到下一个/上一个参数、移动参数以及相应文本对象的映射
  • 构建在侧面之上,并提供一个子模式,在该子模式中,可以使用单个按键进行跳转/移动

您可以定义一个映射,如
nnoremap f,w
,移动到下一个参数,以及一个类似的映射,移动到上一个参数。它可能不完全是您要寻找的,但看看我只是使用
f,
然后
在它们之间移动,或
f=/code>
2f,
将我带到第三个参数,如
/,/e+2
/=/e+1
n
n
也可以工作。我很高兴我不必轻按开关来编辑或重新锁定卡片。