Vim插件用于在单行和多行之间切换Python函数/方法参数

时间:2014-01-31 19:09:12

标签: vim

我正在寻找一个可以采用这样的单行语句的Vim插件:

foo = self.some_method(param1="hi", param2="there")

并将其转换为:

foo = self.some_method(
    param1="hi",
    param2="there"
)

如果可以在最后一个参数上附加逗号,则可获得大奖励积分,如下所示:

foo = self.some_method(
    param1="hi",
    param2="there",
)

最后我希望能够将多线版本重新变成一行,但仅仅处理单对多线的场景就足够了。在大多数情况下,使用 J 重新加入该行的速度非常快。

正在寻找一种格式如下的解决方案:

foo = self.some_method(param1="hi",
                       param2="there")

1 个答案:

答案 0 :(得分:2)

使用此插件:splitjoin.vim。 使用您的示例,您可以获得类似的内容:

foo = self.some_method(param1="hi", param2="there", param3="again")

在括号之间使用光标,使用默认maping gS调用

foo = self.some_method(param1="hi",
        param2="there",
        param3="again")

返回原来的gJ

适用于多种语言。对于python,您可以拆分dicts,lists,tuples,statements,imports