如何切割/抽出一半Vim"内部"或"阻止"宾语

时间:2018-01-09 12:43:34

标签: vim

我确定必须有一些简单的方法,例如只抓住以光标开头的内部上下文部分,但没有发现任何东西。 例如

fcn(arg1, arg2, fcn2(x, y), arg4)
              ^-cursor here

如何将其减少到

fcn(arg1, arg2)

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

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

1 个答案:

答案 0 :(得分:6)

使用])。来自:h ])

                        ])
])          go to [count] next unmatched ')'.
            |exclusive| motion.

所以y])要猛拉,c])要削减。

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

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

您可以使用)转到s句子的末尾,(转到它的开头,因此d)会从光标删除到下一个句子。
{ / }对段落执行相同的操作。

至于进入下一个方括号我你可以使用matchit.vim,但是自从我上次使用它已经有一段时间了。其他人可能会对此有更多了解。