web-dev-qa-db-fra.com

vi raccourci pour supprimer "jusqu'au prochain caractère X"

Je comprends que vi a des raccourcis clavier pour supprimer des caractères, des mots et des lignes avec diverses options.

Cependant, je n'ai pas pu trouver ceci:

  • supprimer du curseur jusqu'au prochain caractère spécifié

Par exemple, je pourrais saisir du" en supposant que l'éditeur "supprime jusqu'au prochain caractère "".

Le plus proche que je connaisse est d9w9 est le nombre de mots à supprimer.

Est-ce que quelqu'un sait si c'est possible?

182
kctang

Utilisation dtc, où c est un caractère quelconque, par ex. pour toi tu veux dt"

Cela supprimera jusqu'à mais pas y compris c .

Si tu avais:

delete until exclamation point!

Et le curseur était au premier espace et vous avez tapé dt!, vous auriez:

delete!

Également dfc.

Cela supprimera jusqu'à et, y compris c .

En utilisant df! sur le même exemple ci-dessus vous donnerait:

delete

À peu près n'importe quel "mouvement" peut être utilisé pour les commandes d, c, y et des commandes similaires.

289
Arcege
  • Pour supprimer le type de caractère 'X' dtX

  • Pour supprimer un caractère de type 'X' dfX

  • Pour supprimer en arrière jusqu'au caractère 'X' dTX

  • Pour supprimer le caractère 'X' en arrière dFX

51
Mark Wong

L'entrée dt # (pas une commande:, utilisez-la comme un mouvement comme G)

supprimera du curseur jusqu’à ce que le # ne soit pas inclus. Vous pouvez remplacer n'importe quel caractère par #.

29
Jessie

On dirait que @Arcege a déjà répondu à la question, mais j'ai d/l supprimé jusqu'au caractère l; d'autres personnages fonctionneraient aussi bien.

17
zpletan

wse déplace vers le mot suivant. lse déplace vers le caractère suivant.

Donc, c'est d9l pour supprimer les 9 caractères suivants.

6
Shun Zhang