删除Vim中两个括号之间的所有内容,包括换行符
假设我有以下python数组文字:删除Vim中两个括号之间的所有内容,包括换行符,vim,vi,Vim,Vi,假设我有以下python数组文字: def f(): arr = [ 1, 2, 3 ] 我想删除括号中的所有内容,使其成为: def f(): arr = [] 如何在vim中使用最少的命令来实现这一点 以下是我的一些尝试: 使用di]将删除文本,但不会删除空换行符,留下大量空白,我必须删除: def f(): arr = [ ] 使用da]将删
def f():
arr = [
1,
2,
3
]
我想删除括号中的所有内容,使其成为:
def f():
arr = []
如何在vim中使用最少的命令来实现这一点
以下是我的一些尝试:
- 使用
将删除文本,但不会删除空换行符,留下大量空白,我必须删除:di]
def f(): arr = [ ]
- 使用
将删除换行符和括号:da]
def f(): arr =
v
),然后使用J
删除换行符。然后使用di[
或者,如果有许多行,
di[
首先,然后将光标移动到顶行,然后再移动到J
。这可能会在括号之间留下一个空间,必须使用x
将光标移到第一个开口括号([/code>),按V
,然后按%
。这将选择您可以加入的块J
,然后按di[
,您只需执行以下操作:
ca[[]<Esc>
ca[]
或:
ca][]
请参见:帮助文本对象
。
我发现使用代码格式化程序快捷方式可以节省大量时间
如果安装,您可以执行di[p
例如,在JS中使用格式化程序意味着我不必删除额外的空格,跳转到行尾插入;
,或修复缩进等,这很好。我可以va]
选择括号之间的每一行,J
加入,然后di]
删除数组内容。因此va]Jdi]
总的来说。这也是一个很好的方法。只做ci[对我更有效。左括号。
ca][]<Esc>