In Vim, how can I delete everything between quotes including the quotes?

You can use the following sequence to delete everything including the quotes:

da"

Keep in mind this only works on a single line, and will remove any trailing spaces after the last quote.

As pointed out by @James in the comments below, you can also use the delete inside sequence to delete the characters within the quotes without deleting the quotes:

di"

You can also use the change inside sequence to remove the characters and switch to insert mode, allowing you to easily replace text within quotes:

ci"

We can use

da"

for your case or di" to delete ONLY the contents inside of ".

It is better to start with text-objects. Writing as an answer for completeness. Excerpt from :h text-objects, given below, suggest two forms i and a

This is a series of commands that can only be used while in Visual mode or after an operator. The commands that start with "a" select "a"n object including white space, the commands starting with "i" select an "inner" object without white space, or just the white space. Thus the "inner" commands always select less text than the "a" commands.

text-objects are useful to other character pair like (), {}, etc. For example, it is useful while changing

if ( i == true ) {
}

to

if (_) {
}

by using ci( or ci).

Tags:

Vim