Comment sélectionner / supprimer jusqu'à la fin du fichier dans vim / gvim?


42

J'ai accidentellement réussi à copier-coller un paragraphe dans vim un zillion de fois. Comment sélectionner et supprimer le texte de ma position actuelle à la fin du fichier?

Sous Windows, il s’agirait de Ctrl-Maj-Fin, suivi de Supprimer.


Vim a annulé. Appuyez sur u.
Kusalananda

Réponses:


49
VGx

Entrez en mode visuel, allez à la fin du fichier, supprimez.

Alternativement, vous pouvez faire:

Vggx

Pour supprimer de la position actuelle au début du fichier.


1
Ugh, je ne me souviendrai jamais de tous ces raccourcis vim. Les raccourcis Windows sont tellement plus intuitifs.
ripper234

Personnellement, je trouve que vim est plus intuitif. V, entrez dans le mode visuel G, presque comme "aller", à la fin du fichier. Et x, enlevez.
Mark Szymanski

10
@ ripper234: n'essayez pas de vous rappeler des "extraits" pour effectuer des tâches spécifiques, concentrez-vous sur les sous-commandes. Cela fait partie de la magie de vim: utiliser ces commandes plus petites pour construire des choses plus grandes et plus complexes. C'est presque infiniment flexible.
Reid

Et cela aide vraiment beaucoup de prendre le temps et de lire les sections connexes de vim-help avec: h command-you-need-help-for
Gjallar le

1
Pour ajouter à cela: exécutez vimtutorla ligne de commande pour vous familiariser avec eux @ ripper234
Bernhard

48

dest effacé et Gva à la fin du fichier, donc dGsera effacé à la fin du fichier. Cela inclut cependant toute la ligne courante; si vous êtes à mi-chemin et que vous souhaitez tout conserver avant la position actuelle, vous devez utiliser la méthode de Mark


+1 L'autre façon de conserver une partie de la ligne actuelle est la suivante D<enter>dG: Dsupprimer dans EOL, <enter>passer à la ligne suivante, dGsupprimer dans EOF.
Jim L.

8

Encore une autre méthode: :.,$d

Cela signifie qu'en mode ex, adresse la ligne en cours à la fin et supprime.


7

Vous pouvez également taper simplement upour annuler les modifications qui ont entraîné un copier-coller erroné.


pas toujours possible, voir le "select". Imaginez que vous ayez écrit du code à la fin du fichier (et que vous le souhaitiez ailleurs), dG vous permet de l'insérer avec p | P
relascope

2
vGx

fonctionne très bien pour la sélection de plusieurs lignes (dans ce cas, le paragraphe), mais si vous voulez sélectionner dans une seule ligne, il agit mystérieusement (sélectionne du curseur jusqu'au début de la ligne).

En cas de sélection dans Single line, vous devez utiliser:

v$x

Qui entre en mode visuel ("v") et va en fin de ligne ("$") et supprime ("x") de la position actuelle jusqu'à la fin de la ligne.


0

Vggx ne fonctionnait pas pour moi, mais vG $ d y travaillait. vG $ sélectionne EOF (dernier caractère de la dernière ligne), puis la commande que vous souhaitez exécuter.

= Cette approche (commande après sélection) semble mieux fonctionner. Bien sûr, j'utilise Vim 8.1 sur Windows 10 et quelques années plus tard.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.