251 votes

Comment puis-je supprimer dans le VIM tout le texte de la ligne actuelle à la fin du fichier ?

J'ai des fichiers très volumineux (plus de 10 Go). Je n'ai besoin que de quelques lignes du début du fichier. Est-il possible (dans vim) de supprimer le reste du fichier (de la ligne actuelle à la fin du fichier) ?

15 votes

Je sais que vous voulez utiliser Vim, mais je ferais une commande shell comme : head -n <number_of_lines> <filename> > <truncated_filename>-n est le paramètre pour le nombre de lignes que vous voulez à partir du sommet

427voto

Ed Guiness Points 21866

dG effacera de la ligne courante jusqu'à la fin du fichier

dCtrl + End effacera du curseur à la fin du fichier

Mais si ce fichier est aussi volumineux que vous le dites, vous feriez mieux de lire les premières lignes avec head plutôt que d'éditer et d'enregistrer le fichier.

head hugefile > firstlines

(Si vous êtes sur Windows vous pouvez utiliser le port Win32 de head )

19 votes

Vous pouvez spécifier combien de lignes head les fournitures avec eg : head -n20 hugefile pour les 20 premières lignes. n est égal à 10 par défaut.

4 votes

Besoin d'une motivation pour head ? L'utilisation de dG sur un gros fichier (1G+) prend beaucoup de temps (par exemple, 5 minutes).

4 votes

Pour ceux qui cherchent l'inverse, dgg supprimera la ligne en cours jusqu'au début du fichier.

84voto

James Mathew Points 383

Allez à la première ligne que vous souhaitez supprimer et appuyez sur les touches dG

44 votes

N'appuyez pas sur " :" avant de taper dG

38voto

Chakravarthi Points 311

:.,$d

Cela supprimera tout le contenu de la ligne actuelle jusqu'à la fin du fichier. Ceci est très utile lorsque vous avez affaire à la génération ou au dépouillement de vecteurs de test.

3 votes

Je préfère avoir plus de contrôle sur la ligne de départ, donc je l'utilise : :<line number>,$d par exemple : :3,$d supprimera de la ligne 3 à la fin du fichier

5voto

Prakhar anand Points 31

J'utilise les étapes suivantes pour faire le même

  1. Assurez-vous que vous êtes en mode normal en appuyant sur Esc .
  2. Entrez dans le mode visuel en appuyant sur V .
  3. Appuyez sur G i.e Shift + g pour sélectionner le texte depuis le curseur jusqu'à la fin du fichier .
  4. Maintenant, appuyez sur x pour supprimer le texte sélectionné .

3voto

Jun Points 56

N'utilise pas VIM, mais essayez quand même.

echo "" > theFile

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X