Comment puis-je supprimer dans VIM tout le texte de la ligne actuelle à la fin du fichier?
213
J'ai de très gros fichiers (plus de 10 Go). Je n'ai besoin que de quelques lignes en haut du fichier. Est-il possible (dans vim) de supprimer le reste du fichier (de la ligne courante à la fin du fichier)?
Je sais que vous voulez utiliser Vim, mais je ferais une commande shell comme: head -n <number_of_lines> <filename> > <truncated_filename> Où -nest le paramètre pour le nombre de lignes que vous voulez à partir du haut
EhevuTov
Réponses:
365
dG supprimera de la ligne actuelle à la fin du fichier
dCtrl+ Endsupprimera du curseur jusqu'à la fin du fichier
Mais si ce fichier est aussi volumineux que vous le dites, vous feriez mieux de lire les premières lignes headplutôt que de modifier et d'enregistrer le fichier.
head hugefile > firstlines
(Si vous êtes sous Windows, vous pouvez utiliser le port Win32 de head)
Cela supprimera tout le contenu de la ligne actuelle jusqu'à la fin du fichier. Ceci est très utile lorsque vous traitez avec la génération ou la suppression de vecteurs de test.
Je préfère avoir plus de contrôle sur la ligne de départ, donc j'utilise: :<line number>,$dpar exemple: :3,$dsupprimera de la ligne 3 jusqu'à la fin du fichier
emont01
0
Ajoutez simplement une autre façon, en mode normal, tapez ctrl+vensuite G, sélectionnez le reste, puis D, je ne pense pas que ce soit efficace, vous devriez faire comme @Ed Guiness, head -n 20> filename in linux.
head -n <number_of_lines> <filename> > <truncated_filename>
Où-n
est le paramètre pour le nombre de lignes que vous voulez à partir du hautRéponses:
dG supprimera de la ligne actuelle à la fin du fichier
dCtrl+ Endsupprimera du curseur jusqu'à la fin du fichier
Mais si ce fichier est aussi volumineux que vous le dites, vous feriez mieux de lire les premières lignes
head
plutôt que de modifier et d'enregistrer le fichier.(Si vous êtes sous Windows, vous pouvez utiliser le port Win32 de
head
)la source
head
fournies avec par exemple:head -n20 hugefile
pour les 20 premières lignes. n par défaut à 10.head
? L'utilisation de dG sur un fichier volumineux (1G +) prend beaucoup de temps (par exemple, 5 minutes).dgg
supprimera de la ligne actuelle au début du fichier.Accédez à la première ligne de laquelle vous souhaitez supprimer et appuyez sur les touches dG
la source
:.,$d
Cela supprimera tout le contenu de la ligne actuelle jusqu'à la fin du fichier. Ceci est très utile lorsque vous traitez avec la génération ou la suppression de vecteurs de test.
la source
:<line number>,$d
par exemple::3,$d
supprimera de la ligne 3 jusqu'à la fin du fichierAjoutez simplement une autre façon, en mode normal, tapez
ctrl+v
ensuiteG
, sélectionnez le reste, puisD
, je ne pense pas que ce soit efficace, vous devriez faire comme @Ed Guiness, head -n 20> filename in linux.la source