我确定必须有一些简单的方法,例如只抓住以光标开头的内部上下文部分,但没有发现任何东西。 例如
fcn(arg1, arg2, fcn2(x, y), arg4)
^-cursor here
如何将其减少到
fcn(arg1, arg2)
在一个命令中,无需例如计算干预括号?
编辑: 通过使用" d])"接受的答案建立了一些好的替代方式来做我想做的事情。模式,或重复" dt]",但是(vanilla)Vim似乎没有办法利用Text对象的全部功能和起始光标位置。
答案 0 :(得分:6)
使用])
。来自:h ])
:
])
]) go to [count] next unmatched ')'.
|exclusive| motion.
所以y])
要猛拉,c])
要削减。
其他感兴趣的动作是[(
(之前无法匹配的(
),]}
(下一个无与伦比的}
),...
编辑:错过了关于句子和段落的部分。
您可以使用)
转到s句子的末尾,(
转到它的开头,因此d)
会从光标删除到下一个句子。
{
/ }
对段落执行相同的操作。
至于进入下一个方括号我想你可以使用matchit.vim,但是自从我上次使用它已经有一段时间了。其他人可能会对此有更多了解。