如何切割/猛击一个Vim"内部"或"块"对象的一半

Kri*_*jöö 2 vim

我敢肯定必须有一些简单的方法,例如只用一个以光标开头但没有找到任何东西的内部上下文部分.例如

fcn(arg1, arg2, fcn2(x, y), arg4)
              ^-cursor here
Run Code Online (Sandbox Code Playgroud)

我该如何减少它

fcn(arg1, arg2)
Run Code Online (Sandbox Code Playgroud)

在一个命令中,无需计算干预括号?

编辑:接受的答案建立了一些很好的替代方式来做我想做的事情,通过使用"d])"模式,或重复"dt]",但似乎没有办法(香草)Vim利用Text对象的全部功能与起始光标位置的组合.

Mar*_*rth 6

使用]).来自:h ]):

                        ])
])          go to [count] next unmatched ')'.
            |exclusive| motion.
Run Code Online (Sandbox Code Playgroud)

所以y])要猛拉并c])削减.

其他感兴趣的动作将是[((之前无法比拟的(),]}(下一个无与伦比的}),......


编辑:错过了关于句子和段落的部分.

您可以使用)转到句子的结尾并(转到它的开头,因此d)从光标删除到下一个句子.
{/ }对段落做同样的事情.


至于去下一个方括号,我你可以使用matchit.vim,但是自从我上次使用它以来已经有一段时间了.不知何故,其他人可能会对此有所了解.

  • @KristofferSjöö可能会有更好的样本.我使用`dt]来解决这种问题,并在需要的时候用`.`重复它.但是这个解决方案是大多数用例的方法. (2认同)