Dans Vim, comment supprimer tout ce qui se trouve entre les guillemets?

Réponses:

284

Essayez la séquence suivante, qui peut être considérée comme "d" elete, "i" nside, quotes, donc: di"

Herbert Sitz
la source
10
Consultez également les :help text-objectsautres éléments qui fonctionnent de la même manière que "dans cette situation.
Randy Morris
32
@ funk-shun: voyez si da"fait ce que vous voulez. Le mnémonique serait "supprimer un guillemet [bloc]". Il supprime de la citation à la citation plus, je crois, tout espace après la citation de clôture.
Herbert Sitz
1
Pour moi c'est di"<spacebar>. Pour certains claviers, il est nécessaire d'appuyer sur la barre d'espace pour envoyer le caractère guillemet double.
André Staltz
2
@ funk-shun Si vous essayez de supprimer les guillemets tout en laissant le texte à l'intérieur, consultez Vim-Surround .
Jonathan Dumaine
Étrange bogue (?) Pour moi: cela ne fonctionnait pas si l'habillage de texte était 'on' et le contenu entre les guillemets coulait sur deux lignes. J'ai dû redimensionner la fenêtre pour qu'elle soit sur une seule ligne. Ensuite, cela a bien fonctionné.
nulluser
27

La phrase suivante laisse tout tomber entre guillemets tout en étant en mode normal:

di"

où:

  • d est pour supprimer
  • i est pour "intérieur", juste à l'intérieur du marqueur suivant.
  • "est pour spécifier que vous allez supprimer à l'intérieur des guillemets.

Notez qu'il n'est pas nécessaire d'être à l'intérieur des guillemets lorsque vous l'appelez, la propre commande recherche la première occurrence de texte entre guillemets dans la ligne courante et la supprime, vous pouvez donc enregistrer quelques touches.

De plus, si vous souhaitez également supprimer les guillemets, appliquez la commande suivante (un signifie «et autour»)

da"
aturegano
la source