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

我正在寻找一个可以采用这样的单行语句的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")

最佳答案 使用此插件:
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,列表,元组,语句,导入

点赞