在Vim中,如何删除双引号中的所有内容?


Answers:


284

请尝试以下顺序,可以将其视为“ d”删除,“ i”旁,引号,因此: di"


10
另请参阅:help text-objects其他"在这种情况下的工作原理。
兰迪·莫里斯

32
@ funk-shun:看看da"您想要什么。助记符将是“删除引号[块]”。我认为,它会删除引号之间的引号,加上引号后的所有空格。
Herbert Sitz 2011年

1
对我来说是di"<spacebar>。对于某些键盘,必须按空格键以发送双引号字符。
安德烈Staltz

2
@ funk-shun如果您想删除引号而将文本保留在里面,请查看Vim-Surround
乔纳森·杜马因

对我来说奇怪的错误(?):如果文本换行为“ on”且引号之间的内容跨越两行,则此操作无效。我不得不调整窗口的大小,以便将它们全部放在一行上。然后工作正常。
nulluser 2013年

27

在正常模式下,以下句子将所有内容都放在引号内:

di"

哪里:

  • d用于删除
  • 我代表“内在”,就在以下标记内。
  • ”用于指定您将引号内的内容删除。

请注意,调用它时不必将其放在引号内,自己的命令会查找当前行中引号内第一个出现的文本并将其删除,因此您可以保存一些按键。

此外,如果您也有兴趣删除引号,请应用以下命令(a表示“及其周围”)

da"
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.