Parfois, vous vous retrouverez dans une situation où vous souhaitez apporter des modifications à plusieurs fichiers. Ou vous voudrez peut-être copier le contenu d'un fichier dans un autre. Si vous êtes en mode graphique, vous pouvez simplement ouvrir les fichiers dans n'importe quel éditeur de texte graphique, comme gedit, et utiliser CTRL+C et CTRL+V pour copier/coller le contenu. En mode CLI, vous ne pouvez pas utiliser de tels éditeurs. Pas de soucis! Là où il y a un éditeur vim, il y a un moyen ! Dans ce tutoriel, nous allons apprendre à éditer plusieurs fichiers en même temps à l'aide de l'éditeur Vim. Croyez-moi, c'est une fonctionnalité très intéressante de Vim !
Installer Vim sur Linux
L'éditeur Vim est disponible dans les dépôts officiels de la plupart des distributions Linux. Vous pouvez donc l'installer à l'aide du gestionnaire de packages par défaut.
Par exemple, sur Arch Linux et ses variantes, vous pouvez l'installer à l'aide de la commande :
$ sudo pacman -S vim
Sur Debian , Ubuntu :
$ sudo apt-get install vim
Sur RHEL , CentOS :
$ sudo yum install vim
Sur Fedora :
$ sudo dnf install vim
Sur openSUSE :
$ sudo zypper install vim
Modifiez plusieurs fichiers à la fois à l'aide de l'éditeur Vim sous Linux
Il peut y avoir plusieurs façons d'éditer des multiples avec l'éditeur Vim. Je connais deux méthodes.
Méthode 1
J'ai deux fichiers à savoir file1.txt et file2.txt , avec un tas de mots aléatoires. Jetons-y un coup d'œil.
$ cat file1.txt ostechnix open source technology linux unix
$ cat file2.txt line1 line2 line3 line4 line5
Maintenant, éditons ces deux fichiers à la fois en utilisant l'éditeur Vim. Pour ce faire, exécutez :
$ vim file1.txt file2.txt
Vim affichera le contenu des fichiers dans un ordre. Le contenu du premier fichier sera affiché en premier, puis le deuxième fichier et ainsi de suite.
Modifier plusieurs fichiers à l'aide de l'éditeur Vim
Basculer entre les fichiers
Pour passer au fichier suivant, tapez :
:n
Basculer entre les fichiers dans l'éditeur Vim
Pour revenir au fichier précédent, tapez :
:N
Ici, N est majuscule (Tapez SHIFT+n).
Commencez à éditer les fichiers comme vous le faites avec l'éditeur Vim. Appuyez sur 'i' pour passer en mode interactif et modifier le contenu selon vos envies. Une fois terminé, appuyez sur ESC pour revenir au mode normal.
Vim ne vous permettra pas de passer au fichier suivant s'il y a des modifications non enregistrées. Pour enregistrer les modifications dans le fichier actuel, tapez :
ZZ
Veuillez noter qu'il s'agit de lettres majuscules doubles ZZ (SHIFT+zz).
Pour abandonner les modifications et passer au fichier précédent, tapez :
:N!
Pour afficher les fichiers en cours d'édition, tapez :
:buffers
Afficher les fichiers dans le tampon dans VIm
Vous verrez la liste des fichiers chargés en bas.
Liste des fichiers en mémoire tampon dans Vim
Pour passer au fichier suivant, tapez :buffer suivi du numéro de tampon. Par exemple, pour passer au premier fichier, tapez :
:buffer 1
Ou faites simplement :
:b 1
Passer au fichier suivant dans Vim
N'oubliez pas ces commandes pour passer facilement d'un tampon à l'autre :
:bf # Go to first file. :bl # Go to last file :bn # Go to next file. :bp # Go to previous file. :b number # Go to n'th file (E.g :b 2) :bw # Close current file.
Ouverture de fichiers supplémentaires pour modification
Nous éditons actuellement deux fichiers à savoir file1.txt, file2.txt. Vous voudrez peut-être ouvrir un autre fichier nommé file3.txt pour l'édition. Que vas-tu faire? C'est facile! Tapez simplement :e suivi du nom du fichier comme ci-dessous.
:e file3.txt
Ouvrir des fichiers supplémentaires pour les éditer dans Vim
Vous pouvez maintenant modifier file3.txt.
Pour afficher le nombre de fichiers en cours de modification, saisissez :
:buffers
Afficher tous les fichiers dans les tampons dans Vim
Veuillez noter que vous ne pouvez pas basculer entre les fichiers ouverts avec :e en utilisant soit :n ou :N . Pour passer à un autre fichier, tapez :buffer suivi du numéro de tampon du fichier.
Copier le contenu d'un fichier dans un autre
Vous savez comment ouvrir et modifier plusieurs fichiers en même temps. Parfois, vous voudrez peut-être copier le contenu d'un fichier dans un autre. C'est possible aussi. Basculez vers un fichier de votre choix. Par exemple, disons que vous voulez copier le contenu de file1.txt dans file2.txt.
Pour ce faire, passez d'abord au fichier1.txt :
:buffer 1
Placez le curseur de déplacement devant une ligne à copier et tapez yy pour copier la ligne. Ensuite, déplacez-vous vers file2.txt :
:buffer 2
Placez le curseur de la souris à l'endroit où vous souhaitez coller les lignes copiées à partir de file1.txt et tapez p . Par exemple, vous souhaitez coller la ligne copiée entre line2 et line3. Pour ce faire, placez le curseur de la souris avant la ligne et tapez p .
Exemple de sortie :
line1 line2 ostechnix line3 line4 line5
Copier le contenu d'un fichier dans un autre fichier à l'aide de Vim
Pour enregistrer les modifications apportées au fichier en cours, tapez :
ZZ
Encore une fois, veuillez noter qu'il s'agit d'un double ZZ majuscule (SHIFT+z).
Pour enregistrer les modifications dans tous les fichiers et quitter l'éditeur vim. saisissez :
:wq
De même, vous pouvez copier n'importe quelle ligne de n'importe quel fichier vers d'autres fichiers.
Copier le contenu entier du fichier dans un autre
Nous savons comment copier une seule ligne. Qu'en est-il de l'intégralité du contenu du fichier ? C'est aussi possible. Supposons que vous souhaitiez copier tout le contenu de file1.txt dans file2.txt.
Pour ce faire, ouvrez d'abord le fichier2.txt :
$ vim file2.txt
Si les fichiers sont déjà chargés, vous pouvez basculer vers file2.txt en tapant :
:buffer 2
Déplacez le curseur à l'endroit où vous vouliez copier le contenu de file1.txt. Je veux copier le contenu de file1.txt après la ligne5 dans file2.txt, j'ai donc déplacé le curseur sur la ligne 5. Ensuite, tapez la commande suivante et appuyez sur la touche ENTRÉE :
:r file1.txt
Copier tout le contenu d'un fichier dans un autre fichier
Ici, r signifie lire .
Vous verrez maintenant que le contenu de file1.txt est collé après la ligne 5 dans file2.txt.
line1 line2 line3 line4 line5 ostechnix open source technology linux unix
Copier le contenu entier du fichier dans un autre fichier à l'aide de Vim
Pour enregistrer les modifications dans le fichier actuel, tapez :
ZZ
Pour enregistrer toutes les modifications dans tous les fichiers chargés et quitter l'éditeur vim, tapez :
:wq
Méthode 2
L'autre méthode pour ouvrir plusieurs fichiers à la fois consiste à utiliser soit -o ou -O drapeaux.
Pour ouvrir plusieurs fichiers dans des fenêtres horizontales, exécutez :
$ vim -o file1.txt file2.txt
Ouvrir plusieurs fichiers à la fois dans Vim
Pour basculer entre les fenêtres, appuyez sur CTRL-w w (par exemple, appuyez sur CTRL+w et appuyez à nouveau sur w ). Ou utilisez les raccourcis suivants pour vous déplacer entre les fenêtres.
- CTRL-w k - fenêtre supérieure
- CTRL-w j - fenêtre du bas
Pour ouvrir plusieurs fichiers dans des fenêtres verticales, exécutez :
$ vim -O file1.txt file2.txt file3.txt
Ouvrir plusieurs fichiers dans des fenêtres verticales dans Vim
Pour basculer entre les fenêtres, appuyez sur CTRL-w w (par exemple, appuyez sur CTRL+w et appuyez à nouveau sur w ). Ou utilisez les raccourcis suivants pour vous déplacer entre les fenêtres.
- CTRL-w l - fenêtre de gauche
- CTRL-w h - fenêtre de droite
Tout le reste est identique à celui décrit dans la méthode 1.
Par exemple, pour lister les fichiers actuellement chargés, exécutez :
:buffers
Pour passer d'un fichier à l'autre :
:buffer 1
Pour ouvrir un fichier supplémentaire, tapez :
:e file3.txt
Pour copier tout le contenu d'un fichier dans un autre :
:r file1.txt
La seule différence dans la méthode 2 est une fois que vous avez enregistré les modifications dans le fichier actuel en utilisant ZZ , le fichier se fermera automatiquement. De plus, vous devez fermer les fichiers un par un en tapant :wq . Mais, si vous aviez suivi la méthode 1, en tapant :wq toutes les modifications seront enregistrées dans tous les fichiers et tous les fichiers seront fermés en même temps.
Pour plus de détails, consultez les pages de manuel.
$ man vim
Suggestion de lecture :
- Comment commenter plusieurs lignes à la fois dans l'éditeur Vim
- Comment gérer les plugins Vim à l'aide de Vundle sous Linux
- Comment utiliser la fonctionnalité de vérification orthographique dans l'éditeur de texte Vim
Vous savez maintenant comment éditer plusieurs fichiers à l'aide de l'éditeur vim sous Linux. Comme vous pouvez le voir, éditer plusieurs fichiers n'est pas si difficile. L'éditeur Vim a des fonctionnalités plus puissantes.
Nous écrirons plus de conseils Vim dans les jours à venir. Restez à l'écoute !