如何剪切/复制Vim中"inner"或"block"文本对象的一半内容
Vim无需数括号精简函数参数的实用技巧
我完全懂你想找高效操作的心情!就像你举的这个场景:
fcn(arg1, arg2, fcn2(x, y), arg4)光标停在第三个参数的起始位置,想直接把它精简成fcn(arg1, arg2),不用手动数括号层数
虽然原生Vim没法把文本对象的全部功能和光标起始位置完美结合,但有两个现成的原生命令可以轻松搞定:
- 用
d])命令:这个命令会直接删除从当前光标位置到**外层未闭合的)**之前的所有内容,一步就能把后面多余的参数都删掉,刚好得到你想要的fcn(arg1, arg2)。 - 重复执行
dt):如果d])的效果不符合你的预期,也可以多次按dt)——这个命令的作用是删除到下一个)的位置,重复两次就能依次删掉嵌套的fcn2(x, y)和最后的arg4,同样能达到精简的目的。
这两个方案都是原生Vim支持的,不用额外安装插件,完美解决手动数括号的麻烦。
内容的提问来源于stack exchange,提问作者Kristoffer Sjöö
相关产品推荐
相关产品推荐

