如何将文本对象命令应用于一个级别的上层?

时间:2017-05-23 08:49:15

标签: vim

我的HTML中有一个模板标签,如下所示:

<span>Hello, {{ customer.name| truncatewords: 1, "" | capitalize }}</span>

我想剪标签。如果我在模板标签内部使用da{,它看起来像这样:

<span>Hello, {}</span>

这就是我想要的:

<span>Hello, </span>

当然,{{ customer.name| truncatewords: 1, "" | capitalize }}部分必须被拉扯。

我尝试了da{{,但它不起作用。我是怎么做到的?

ps:我当然也遇到y cv命令的问题。

3 个答案:

答案 0 :(得分:4)

您可以在文本对象之前使用计数:

d2a{

或者,在大多数情况下,在运营商之前:

2da{

来自:help a{

a}                          *v_a}* *a}* *a{*
a{                          *v_aB* *v_a{* *aB*
aB          "a Block", select [count] Blocks, from "[count] [{" to
            the matching '}', including the '{' and '}' (see
            |[{|).
            When used in Visual mode it is made characterwise.

答案 1 :(得分:3)

除了接受的答案之外,值得注意的是,如果您选择使用可视模式的对象,您可以随时重复它以选择下一级别。在你的情况下, v a {会选择{}的内部集合,但重复 a {会扩展它以包括外部集合。

答案 2 :(得分:-1)

您也可以将光标移动到外部{}并使用da{