Recherche de site Web

LFCS #2 : Comment installer et utiliser Vi/Vim sous Linux


Il y a quelques mois, la Linux Foundation a lancé la certification LFCS (Linux Foundation Certified Sysadmin) afin d'aider les individus du monde entier à vérifier qu'ils sont capables d'effectuer des tâches d'administration système de base à intermédiaires sur les systèmes Linux.

Les tâches d'administration Linux impliquent un dépannage et une maintenance de première main, ainsi qu'une prise de décision intelligente pour savoir quand il est temps de signaler des problèmes aux équipes de support supérieures.

La série s'intitulera Préparation à la LFCS (Linux Foundation Certified Sysadmin), parties 1 à 33 et couvrira les sujets suivants :

Part 1

Comment utiliser la commande « Sed » pour manipuler des fichiers sous Linux

Part 2

Comment installer et utiliser Vi/Vim sous Linux

Part 3

Comment compresser des fichiers et des répertoires et rechercher des fichiers sous Linux

Part 4

Partitionnement des périphériques de stockage, formatage des systèmes de fichiers et configuration de la partition d'échange

Part 5

Monter/démonter les systèmes de fichiers locaux et réseau (Samba et NFS) sous Linux

Part 6

Assemblage de partitions en tant que périphériques RAID – Création et gestion des sauvegardes système

Part 7

Gestion des processus et services de démarrage du système (SysVinit, Systemd et Upstart)

Part 8

Comment gérer les utilisateurs et les groupes, les autorisations de fichiers et l'accès Sudo

Part 9

Gestion des packages Linux avec Yum, RPM, Apt, Dpkg, Aptitude et Zypper

Part 10

Apprentissage des scripts Shell de base et du dépannage du système de fichiers

Part 11

Comment gérer et créer LVM à l'aide des commandes vgcreate, lvcreate et lvextend

Part 12

Comment explorer Linux avec les documentations et outils d'aide installés

Part 13

Comment configurer et dépanner Grand Unified Bootloader (GRUB)

Part 14

Surveiller l'utilisation des ressources des processus Linux et définir les limites des processus par utilisateur

Part 15

Comment définir ou modifier les paramètres d'exécution du noyau dans les systèmes Linux

Part 16

Implémentation du contrôle d'accès obligatoire avec SELinux ou AppArmor sous Linux

Part 17

Comment définir des listes de contrôle d'accès (ACL) et des quotas de disque pour les utilisateurs et les groupes

Part 18

Installation des services réseau et configuration du démarrage automatique au démarrage

Part 19

Un guide ultime pour configurer le serveur FTP pour autoriser les connexions anonymes

Part 20

Configurer un serveur DNS de mise en cache récursive de base et configurer des zones pour le domaine

Part 21

Comment installer, sécuriser et optimiser les performances du serveur de base de données MariaDB

Part 22

Comment installer et configurer le serveur NFS pour le partage du système de fichiers

Part 23

Comment configurer Apache avec un hébergement virtuel basé sur le nom avec un certificat SSL

Part 24

Comment configurer un pare-feu Iptables pour activer l'accès à distance aux services sous Linux

Part 25

Comment transformer un Linux en routeur pour gérer le trafic de manière statique et dynamique

Part 26

Comment configurer des systèmes de fichiers cryptés et les échanger à l'aide de l'outil Cryptsetup

Part 27

Comment surveiller l'utilisation du système, les pannes et dépanner les serveurs Linux

Part 28

Comment configurer un référentiel réseau pour installer ou mettre à jour des packages

Part 29

Comment auditer les performances, la sécurité et le dépannage du réseau

Part 30

Comment installer et gérer des machines virtuelles et des conteneurs

Part 31

Apprenez les bases de Git pour gérer des projets efficacement

Part 32

Guide du débutant pour configurer les adresses IPv4 et IPv6 sous Linux

Part 33

Guide du débutant pour créer des liaisons et des ponts réseau dans Ubuntu

Cet article est la Partie 2 d'une série de 33 didacticiels. Dans cette partie, nous couvrirons les opérations de base d'édition de fichiers et la compréhension des modes dans l'éditeur Vi/Vim, qui sont requis pour l'examen de certification LFCS.

Effectuer des opérations d'édition de fichiers de base dans Vi Editor

Vi a été le premier éditeur de texte plein écran écrit pour Unix. Bien qu'il ait été conçu pour être petit et simple, il peut s'avérer un peu difficile pour les personnes habituées exclusivement aux éditeurs de texte à interface graphique, tels que NotePad++ ou gedit, pour n'en nommer que quelques-uns. exemples.

Pour utiliser Vi, nous devons d'abord comprendre les 3 modes dans lesquels ce puissant programme fonctionne, afin de commencer à apprendre plus tard ses puissantes procédures d'édition de texte.

Veuillez noter que la plupart des distributions Linux modernes sont livrées avec une variante de vi connue sous le nom de vimVi amélioré »), qui prend en charge plus de fonctionnalités que la le vi original le fait. Pour cette raison, tout au long de ce didacticiel, nous utiliserons vi et vim de manière interchangeable.

Si Vim n'est pas installé sur votre distribution, vous pouvez l'installer comme suit.

sudo apt install vim         [On Debian, Ubuntu and Mint]
sudo yum install vim         [On RHEL/CentOS/Fedora and Rocky/AlmaLinux]
sudo emerge -a sys-apps/vim  [On Gentoo Linux]
sudo apk add vim             [On Alpine Linux]
sudo pacman -S vim           [On Arch Linux]
sudo zypper install vim      [On OpenSUSE]    

Pourquoi devrais-je vouloir apprendre Vi ?

Il y a au moins 2 bonnes raisons d’apprendre l’éditeur vi.

  1. vi est toujours disponible (quelle que soit la distribution que vous utilisez) car il est requis par POSIX.
  2. vi ne consomme pas une quantité considérable de ressources système et nous permet d'effectuer n'importe quelle tâche imaginable sans lever les doigts du clavier.

De plus, vi dispose d'un manuel intégré très complet, qui peut être lancé à l'aide de la commande :help juste après le démarrage du programme. Ce manuel intégré contient plus d'informations que la page de manuel de vi/m.

Lancement de l'éditeur Vi

Pour lancer vi, tapez vi dans votre invite de commande.

vi

Appuyez ensuite sur i pour passer en mode Insertion et vous pourrez commencer à taper.

Une autre façon de lancer vi/m est.

vi filename

Cela ouvrira un nouveau tampon (plus d'informations sur les tampons plus tard) nommé filename, que vous pourrez ensuite enregistrer sur le disque.

Comprendre les modes Vi

L'éditeur Vi dispose de plusieurs modes, chacun servant un objectif distinct et permettant aux utilisateurs d'effectuer des actions spécifiques.

Voici les principaux modes que vous devez connaître :

Mode ligne de commande Vi

En mode commande, vi permet à l'utilisateur de naviguer dans le fichier et de saisir des commandes vi, qui sont de brèves combinaisons sensibles à la casse d'un ou plusieurs plus de lettres. Presque tous peuvent être préfixés par un nombre pour répéter la commande autant de fois.

Par exemple, yy (ou Y) copie la totalité de la ligne actuelle, tandis que 3yy (ou 3Y) copie la ligne actuelle. toute la ligne actuelle ainsi que les deux lignes suivantes (3 lignes au total).

Nous pouvons toujours entrer en mode commande (quel que soit le mode sur lequel nous travaillons) en appuyant sur la touche Echap. Le fait qu'en mode commande, les touches du clavier soient interprétées comme des commandes plutôt que comme du texte a tendance à prêter à confusion pour les débutants.

Mode Vi-Ex

En mode ex, nous pouvons manipuler des fichiers (y compris enregistrer un fichier actuel et exécuter des programmes extérieurs). Pour entrer dans ce mode, il faut taper deux points (:) depuis le mode commande, directement suivis du nom de la commande ex-mode qui doit être utilisée. Après cela, vi revient automatiquement en mode commande.

Mode d'insertion Vi

En mode insertion (la lettre i est couramment utilisée pour entrer dans ce mode), nous saisissons simplement du texte. La plupart des frappes font apparaître du texte à l'écran (une exception importante est la touche Esc, qui quitte le mode insertion et revient au mode commande).

Utilisation des commandes Vi

Le tableau suivant présente une liste des commandes vi couramment utilisées. Les commandes d'édition de fichiers peuvent être appliquées en ajoutant le signe d'exclamation à la commande (par exemple, :q! impose de quitter sans enregistrer).

 Key Command

 Description

 h or left arrow

Allez d'un personnage vers la gauche

 j or down arrow

Descendez d'une ligne

 k or up arrow

Remonter d'une ligne

 l (lowercase L) or right arrow

Allez d'un caractère vers la droite

 H

Allez en haut de l'écran

 L

Allez en bas de l'écran

 G

Aller à la fin du fichier

 w

Déplacer un mot vers la droite

 b

Déplacer un mot vers la gauche

 0 (zero)

Aller au début de la ligne actuelle

 ^

Aller au premier caractère non vide de la ligne actuelle

 $

Aller à la fin de la ligne actuelle

 Ctrl-B

Revenir en arrière d'un écran

 Ctrl-F

Avancer d'un écran

 i

Insérer à la position actuelle du curseur

 I (uppercase i)

Insérer au début de la ligne courante

 J (uppercase j)

Rejoindre la ligne actuelle avec la suivante (déplacer la ligne suivante)

 a

Ajouter après la position actuelle du curseur

 o (lowercase O)

Crée une ligne vide après la ligne actuelle

 O (uppercase o)

Crée une ligne vide avant la ligne actuelle

 r

Remplacer le caractère à la position actuelle du curseur

 R

Écraser à la position actuelle du curseur

 x

Supprimer le caractère à la position actuelle du curseur

 X

Supprimer le caractère immédiatement avant (à gauche) la position actuelle du curseur

 dd

Couper (pour coller plus tard) toute la ligne actuelle

 D

Couper depuis la position actuelle du curseur jusqu'à la fin de la ligne (cette commande est équivalente à d$)

 yX

Donnez une commande de mouvement X, copiez (tirez) le nombre approprié de caractères, de mots ou de lignes à partir de la position actuelle du curseur.

 yy or Y

Tirer (copier) toute la ligne actuelle

 p

Coller après (ligne suivante) la position actuelle du curseur

 P

Coller avant (ligne précédente) la position actuelle du curseur

 . (period)

Répétez la dernière commande

 u

Annuler la dernière commande

 U

Annulez la dernière commande de la dernière ligne. Cela fonctionnera tant que le curseur sera toujours sur la ligne.

 n

Trouver le prochain match dans une recherche

 N

Trouver la correspondance précédente dans une recherche

 :n

Fichier suivant ; lorsque plusieurs fichiers sont spécifiés pour l'édition, cette commande charge le fichier suivant.

 :e file

Chargez le fichier à la place du fichier actuel.

 :r file

Insérez le contenu du fichier après (ligne suivante) la position actuelle du curseur

 :q

Quittez sans enregistrer les modifications.

 :w file

Écrivez le tampon actuel dans un fichier. Pour ajouter à un fichier existant, utilisez :w >> file.

 :wq

Écrivez le contenu du fichier actuel et quittez. Équivalent à x ! et ZZ

 :r! command

Exécutez la commande et insérez la sortie après (ligne suivante) la position actuelle du curseur.

Options Vi

Les options suivantes peuvent s'avérer utiles lors de l'exécution de vim (nous devons les ajouter dans notre fichier ~/.vimrc).

echo set number >> ~/.vimrc
echo syntax on >> ~/.vimrc
echo set tabstop=4 >> ~/.vimrc
echo set autoindent >> ~/.vimrc

  • set number affiche les numéros de ligne lorsque vi ouvre un fichier existant ou un nouveau fichier.
  • syntaxe activée active la coloration syntaxique (pour plusieurs extensions de fichiers) afin de rendre le code et les fichiers de configuration plus lisibles.
  • set tabstop=4 définit la taille de la tabulation sur 4 espaces (la valeur par défaut est 8).
  • set autoindent reporte le retrait précédent à la ligne suivante.

Rechercher et remplacer du texte dans Vi

vi a la capacité de déplacer le curseur vers un certain emplacement (sur une seule ligne ou sur un fichier entier) en fonction des recherches. Il peut également effectuer des remplacements de texte avec ou sans confirmation de l'utilisateur.

Recherche dans une ligne

La commande f recherche une ligne et déplace le curseur vers l'occurrence suivante d'un caractère spécifié dans la ligne actuelle.

Par exemple, la commande fh déplacerait le curseur vers l'instance suivante de la lettre h dans la ligne actuelle. Notez que ni la lettre f ni le caractère que vous recherchez n'apparaîtront nulle part sur votre écran, mais le caractère sera mis en surbrillance après avoir appuyé sur Entrée.

Par exemple, c'est ce que j'obtiens après avoir appuyé sur f4 en mode commande.

Recherche d'un fichier entier

Utilisez la commande /, suivie du mot ou de l'expression à rechercher. Une recherche peut être répétée en utilisant la chaîne de recherche précédente avec la commande n, ou la suivante (en utilisant la commande N). C'est le résultat de la saisie de /Jane en mode commande.

Rechercher et remplacer du texte

Vi utilise une commande (similaire à celle de sed) pour effectuer des opérations de substitution sur une plage de lignes ou sur un fichier entier.

Pour changer le mot « old » en « young » pour l'ensemble du fichier, nous devons entrer la commande suivante.

 :%s/old/young/g 

Remarque : Les deux points au début de la commande.

Les deux points (:) démarrent la commande ex, s dans ce cas (pour substitution), % est un raccourci signifiant de la première ligne à la dernière ligne (la plage peut également être spécifiée comme n,m qui signifie « de la ligne n à la ligne m  », old est le modèle de recherche, tandis que young est le texte de remplacement et g indique que la substitution doit être effectuée à chaque occurrence. de la chaîne de recherche dans le fichier.

Alternativement, un c peut être ajouté à la fin de la commande pour demander une confirmation avant d'effectuer toute substitution.

:%s/old/young/gc

Avant de remplacer le texte original par le nouveau, vi/m nous présentera le message suivant.

  • o : effectuer la substitution (oui)
  • n : ignorer cette occurrence et passer à la suivante (non)
  • a : effectuez la substitution dans cette instance et dans toutes les instances suivantes du modèle.
  • q ou Esc : quittez la substitution.
  • l (L minuscule) : effectuez cette substitution et quittez (en dernier).
  • Ctrl-e, Ctrl-y : faites défiler vers le bas et vers le haut, respectivement, pour afficher le contexte de la substitution proposée.

Modification de plusieurs fichiers dans Vi

Tapons vim file1 file2 file3 dans notre invite de commande.

vim file1 file2 file3

Tout d'abord, vim ouvrira le file1. Pour passer au fichier suivant (file2), nous devons utiliser la commande :n. Lorsque nous voulons revenir au fichier précédent, :N fera le travail.

Afin de passer du fichier1 au fichier3.

a). La commande :buffers affichera une liste du fichier en cours d'édition.

:buffers

b). La commande :buffer 3 (sans les s à la fin) ouvrira le fichier3 pour l'éditer.

Dans l'image ci-dessus, un signe dièse (#) indique que le fichier est actuellement ouvert mais en arrière-plan, tandis que %a marque le fichier en cours de modification.

En revanche, un espace vide après le numéro de fichier (3 dans l'exemple ci-dessus) indique que le fichier n'a pas encore été ouvert.

Tampons Vi temporaires

Pour copier quelques lignes consécutives (disons 4, par exemple) dans un tampon temporaire nommé a (non associé à un fichier) et placer ces lignes dans une autre partie du fichier plus tard dans le vi actuel section, nous devons…

  • Appuyez sur la touche ESC pour être sûr que nous sommes en mode Commande vi.
  • Placez le curseur sur la première ligne du texte que nous souhaitons copier.
  • Tapez « a4yy » pour copier la ligne actuelle, ainsi que les 3 lignes suivantes, dans un tampon nommé a. Nous pouvons continuer à éditer notre fichier – nous n’avons pas besoin d’insérer immédiatement les lignes copiées.
  • Lorsque nous atteignons l'emplacement des lignes copiées, utilisez « a avant les commandes p ou P pour insérer les lignes copiées dans le tampon nommé < b>une :

    1. Tapez « ap pour insérer les lignes copiées dans le tampon après la ligne actuelle sur laquelle repose le curseur.
    2. Tapez « aP pour insérer les lignes copiées dans le tampon a avant la ligne actuelle.

Si nous le souhaitons, nous pouvons répéter les étapes ci-dessus pour insérer le contenu du tampon à plusieurs endroits de notre fichier. Un tampon temporaire, tel que celui de cette section, est supprimé lorsque la fenêtre actuelle est fermée.

Résumé

Comme nous l'avons vu, vi/m est un éditeur de texte puissant et polyvalent pour CLI. N'hésitez pas à partager vos propres astuces et commentaires ci-dessous.

Mise à jour : Si vous souhaitez étendre vos compétences en matière d'éditeur VI, je vous suggère de lire les deux guides suivants qui vous guideront vers certaines trucs et astuces utiles pour l'éditeur de VI.

Le livre électronique LFCS est disponible dès maintenant à l'achat. Commandez votre copie aujourd'hui et commencez votre parcours pour devenir un administrateur système Linux certifié !

Product Name Price Buy
The Linux Foundation’s LFCS Certification Preparation Guide $19.99 [Buy Now]

Enfin, pensez à acheter votre bon d'examen en utilisant les liens suivants pour nous gagner une petite commission, qui nous aidera à maintenir ce livre à jour.