说我有以下python数组文字:
def f():
arr = [
1,
2,
3
]
我想删除括号中的所有内容,使其成为:
def f():
arr = []
如何在vim中使用最少的命令来做到这一点?
这些是我的一些尝试:
使用di]
会删除文字,但不会删除空的换行符,留下很多空格我不得不删除:
def f():
arr = [
]
使用da]
将删除换行符,但也会删除括号:
def f():
arr =
答案 0 :(得分:4)
将光标放在第一个左括号([
)上,按V
,然后按%
。这将选择您可以加入J
的块,然后选择di[
。
答案 1 :(得分:4)
您可以这样做:
ca[[]<Esc>
或:
ca][]<Esc>
请参阅:help tex-objects
。
答案 2 :(得分:2)
以可视模式选择行(v
)并使用J
删除换行符。然后使用di[
。
或者,如果有多行,di[
先行,之后将光标移动到顶行,然后J
。这可能会在括号之间留出一个空格,必须用x
删除。
答案 3 :(得分:0)
我发现使用代码格式化程序快捷方式可以节省大量时间
如果您安装 vim prettier,您可以执行 di[ <leader>p
例如在 JS 中使用格式化程序意味着我不必删除额外的间距、跳到行尾以插入 ;
或修复缩进等