GNU/Linux >> Tutoriels Linux >  >> Linux

Comment éditer plusieurs fichiers à l'aide de l'éditeur Vim

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 !


Linux
  1. Comment éditer plusieurs fichiers et basculer entre ceux de VIM à l'aide de tampons

  2. Comment compresser plusieurs fichiers sous Linux

  3. Vim :Comment ouvrir plusieurs fichiers dans différents onglets ?

  4. Comment renommer plusieurs fichiers ensemble sous Linux en utilisant 3 méthodes

  5. Comment copier plusieurs fichiers simultanément à l'aide de scp

Comment protéger les fichiers par mot de passe dans l'éditeur Vim

Comment modifier les fichiers de configuration dans Ubuntu

Comment quitter Vim ? Plusieurs façons de quitter l'éditeur Vim

Comment commenter plusieurs lignes à la fois dans l'éditeur vim en utilisant 3 méthodes

Comment installer Vim sur Ubuntu

Comment protéger les fichiers par mot de passe à l'aide de l'éditeur Vim dans Ubuntu