J'ai un tas de lignes que je veux écrire dans un fichier différent.
Comment puis je faire ça?
30
Tu peux faire
:100,200w filename
Bien sûr, 100 200 est la plage de lignes que vous souhaitez écrire.
Le plus général:
Déplacez le curseur sur la première ligne du groupe que vous souhaitez écrire. Frappez
m
eta
séquentiellement. C'est "définir la marque nommée 'a'".Déplacez le curseur sur la dernière ligne du groupe, appuyez sur «m» et «b». »
Passez en mode commande hit: comme une séquence,
:'a,'b w filename
puis appuyez sur retour.Cela fonctionnera dans vi, nvi et vim.
Une autre méthode, fonctionne dans vim plus moderne:
Placez le curseur sur la première ligne du groupe de lignes que vous souhaitez écrire. Appuyez sur
V
, pour "démarrer le bloc visuel de lignes".Déplacez le curseur en bas du groupe de lignes. Vim mettra en évidence avec la vidéo inverse chaque ligne.
Rédiger. Appuyez sur
:
pour passer en mode ligne de commande. Cela vous donnera une invite au bas de l'écran qui ressemble à ceci::'<,'>
Cela signifie du début du bloc visuel à la fin. Tapezw
et le nom de fichier et appuyez sur retour.Vous pouvez ajouter des lignes simples à la fin du fichier selon vos besoins en plaçant votre curseur sur la ligne que vous souhaitez écrire, puis en tapant:
:.w >> filename
et en appuyant sur retour.Les commandes "écrire un groupe de lignes" fonctionnent également avec ">> nom de fichier" au lieu de "nom de fichier". Le ">>" fait que vi ou vim s'ajoute au fichier, plutôt que de simplement l'écrire.
la source
Pour compléter la réponse de Bernhard, vous pouvez également sélectionner une région à l'aide du mode visuel, puis entrer
:w filename
.la source
Si vous connaissez les numéros de ligne que vous souhaitez écrire, vous pouvez le faire à partir de la ligne de commande:
la source
une petite astuce consiste à utiliser le numéro de ligne relatif. Par exemple:: + 0, + 99w filename écrivez les 100 lignes suivantes dans filename.
la source