假设我有以下内容:
text function(contents) text
我希望它是
text function() text
将光标放在左括号之后,我认为以下命令可以使用df)
;然而,我最终得到的是以下
text function( text
因此,我需要某种方法来指定我想要的字符刚好在右括号之前,但我不确定如何做到这一点。也许还有更好的方法可以做到这一点。
对此,最好的方法是什么?
你很接近!您需要dt)
,如d
删除t
或)
f
动作将光标放在)
上(记住它就像f
ind一样(
至于"最好"的方法,至少有一种更通用的方法:光标位于(
和)
中间的某个位置(或在其中一个位置上(可以执行di)
(或等效di(
(到d
删除i
和)
如果执行da)
(或等效da(
(到d
删除a
循环)
,则删除括号之间的内容。
di[
、di{
、di<
、di'
、di"
等也是如此。使用这些所谓的与d{motion}
方式相反,文本对象的优势在于在其他方括号/引号对上重复编辑,而无需使用光标完全在同一个地方——它只需要在它们之间。
在下文中,您可以将光标定位在例如中"initial"的"i"上第一行,执行di)
删除单词"一些初始文本",然后移动将光标移到第二行"more"中的"e",然后执行.
即可删除单词"更多文本"(:
(some initial text)
(some more text)
当括号(或引号(位于不同的行时,这种方式也适用。对于例如,当光标位于{}
之间时,执行di}
将发生变化这个:
function( args ) {
body of function
}
到此:
function( args ) {
}