在Vim中,如何删除引号之间的所有内容,包括引号?

时间:2016-04-25 14:12:24

标签: vim

例如,在以下内容中:

Testing "deleting" within quotes

如果光标位于删除范围内,如何删除引号内的文本并包含引号,请离开:

Testing within quotes

3 个答案:

答案 0 :(得分:27)

您可以使用以下顺序:

da"

请记住,这仅适用于一行,并会在最后一次引用后删除任何尾随空格。

答案 1 :(得分:9)

正如Kent指出的那样,最好从文本对象开始。写作完整性的答案。 摘自:h text-objects,如下所示,建议使用两种表单ia

  

这是一系列只能在可视模式下使用的命令   经营者之后。以“a”开头的命令选择“a”n对象   包括空格,以“i”开头的命令选择“内部”对象   没有白色空间,或只有白色空间。因此,“内部”命令总是选择比“a”命令更少的文本。

文字对象对其他字符对有用,例如(), {}, etc 。例如,在更改

时很有用
if ( i == true ) {
}

if (_) {
}

使用ci(ci)

无论如何,我们可以像你一样正确使用

da"

di"仅删除“。

内的内容

答案 2 :(得分:1)

将光标置于第一个引号并按d,然后键入/“/ e 它应该删除双引号和引号之间的内容。 这也适用于多线。

另一种方式: 将光标保持在第一个引号中并键入df“ 它也会删除引号和引号内的文字!不适用于多行。

在这两种方式中,您都可以在正常模式下执行命令。