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