如何将换行符分隔列表移动到 vim 中的同一行
How to move linebreak separated list to the same line in vim
我有时 运行 进入这样的代码,例如减少函数的参数数量后:
def foo(
arg1,
arg2):
# do something
当有很多长参数时,以这种方式分解参数列表可能有意义,但现在我希望文本看起来像这样:
def foo(arg1, arg2):
# do something
对我来说,这通常意味着移动到 arg1
的开头,进入插入模式,然后按退格键直到我取消选中参数,然后重复 arg2
.
这些情况太小以至于无法保证设置宏甚至使用 sed。 vim
中是否有一个组合键,我可以使用它来删除 foo
的左括号和 arg1
的第一个字母之间的所有空格(包括换行符)?
示例是 python 但这确实不是特定于语言的问题。
For me, this usually means moving to the start of arg1
, entering insert mode, and pressing backspace until I've untabbed the parameter, then repeating for arg2
.
或者,更简单地说,JxJJ
。
但是,根据评论,使用 an external formatter 是一个非常明智的想法。
" in after/ftplugin/python.vim
set formatprg=black-3.8\ -q\ -
参见 :help J
、:help gq
。
我有时 运行 进入这样的代码,例如减少函数的参数数量后:
def foo(
arg1,
arg2):
# do something
当有很多长参数时,以这种方式分解参数列表可能有意义,但现在我希望文本看起来像这样:
def foo(arg1, arg2):
# do something
对我来说,这通常意味着移动到 arg1
的开头,进入插入模式,然后按退格键直到我取消选中参数,然后重复 arg2
.
这些情况太小以至于无法保证设置宏甚至使用 sed。 vim
中是否有一个组合键,我可以使用它来删除 foo
的左括号和 arg1
的第一个字母之间的所有空格(包括换行符)?
示例是 python 但这确实不是特定于语言的问题。
For me, this usually means moving to the start of
arg1
, entering insert mode, and pressing backspace until I've untabbed the parameter, then repeating forarg2
.
或者,更简单地说,JxJJ
。
但是,根据评论,使用 an external formatter 是一个非常明智的想法。
" in after/ftplugin/python.vim
set formatprg=black-3.8\ -q\ -
参见 :help J
、:help gq
。