我确信我会因为提出重复的问题而受到嘲笑;有人必须先问过这个问题!但在一个小时的搜索中,我还没有找到它。我一定在寻找错误的东西。
在Vi(或Vim)中,如果我想删除括号,我可以通过键序列}
(或dt}
)删除最多df}
个字符的所有字符)。
但是,仅当}
字符位于当前行时才有效。我想要做的是删除下一个}
的所有内容,即使它首次出现在后续行上。
我在想d/}
之类的东西(其中任何其他上下文中的斜杠/}<enter>
会将我带到下一次出现的}
)。由于显而易见的原因,这不起作用,但我希望目的很明确。
==编辑==
好的没关系...抱歉。你没事,它确实有效(在我的清洁安装机器上)。可能是配置文件中的一些混乱的映射,但它不适用于我的另一个。
羞愧地抬头
答案 0 :(得分:15)
d/}<cr>
有效。这是一种规范的删除方法,直到下一个}
不在同一行。顺便说一句,d?{<cr>
做同样的事情,但方向相反。
答案 1 :(得分:3)
这个plugin可以为您节省一些按键。它扩展了fFtT的功能,所以他们跨界工作。
答案 2 :(得分:1)
如果字符位于行的开头}
或{
,则一种方法可能是使用文本对象动作,因此像{{1}这样的命令也可能有用。