Recherche sur le site Web

8 conseils et astuces intéressants de l’éditeur « Vi/Vim » pour chaque administrateur Linux - Partie 2


Dans l’article précédent de cette série, nous avons passé en revue 7 conseils et astuces à ajouter à votre ensemble de compétences vi/m. Outre les raisons données précédemment, apprendre à utiliser efficacement un éditeur de texte sous Linux dans une capacité essentielle pour un administrateur système ou un ingénieur et est une compétence requise pour réussir tout programme de certification Linux majeur (tel que LFCS, LFCE, RHCSA et RHCE).

Cela dit, commençons.

CONSEIL #8 : Créez des fenêtres horizontales ou verticales

Cette astuce a été partagée par Yoander, l’un de nos lecteurs, dans la partie 1. Vous pouvez lancer vi/m avec plusieurs divisions horizontales ou verticales pour modifier des fichiers distincts dans la même fenêtre principale :

Lancez vi/m avec deux fenêtres horizontales, avec test1 en haut et test2 en bas

vim -o test1 test2 

Lancez vi/m avec deux fenêtres verticales, avec test3 à gauche et test4 à droite :

vim -O test3 test4 

Vous pouvez passer le curseur d’une fenêtre à une autre avec la routine de mouvement vi/m habituelle (h : droite, l : gauche, j : bas, k : haut) :

  1. Ctrl+w k – haut
  2. Ctrl+w j – bas
  3. Ctrl+w l – gauche
  4. Ctrl+w h – droite

ASTUCE #9 : Changez les lettres, les mots ou les lignes entières en MAJUSCULES ou en minuscules

Veuillez noter que cette astuce ne fonctionne qu’en vim. Dans les exemples suivants, X est un nombre entier.

  1. Pour changer une série de lettres en majuscules, positionnez le curseur sur la première lettre, puis tapez gUX en mode ex, et enfin appuyez sur la flèche droite sur le clavier.
  2. Pour modifier X nombre de mots, placez le curseur au début du mot et tapez gUXw en mode ex.
  3. Pour changer une ligne entière en majuscules, placez le curseur n’importe où sur la ligne et tapez gUU en mode ex.

Par exemple, pour convertir une ligne minuscule entière en majuscules, vous devez placer le curseur n’importe où sur la ligne et taper gUU :

Par exemple, pour convertir 2 mots majuscules en minuscules, vous devez placer le curseur au début du premier mot et taper gu2w :

ASTUCE #10 : Supprimer les caractères, les mots ou au début d’une ligne en mode INSERT

Bien que vous puissiez supprimer des caractères ou plusieurs mots à la fois en mode ex (c’est-à-dire dw pour supprimer un mot), vous pouvez également le faire en mode Insertion comme suit :

  1. Ctrl + h : supprimez le caractère précédent à l’endroit où se trouve actuellement le curseur.
  2. Ctrl + w : supprimez le mot précédent à l’endroit où se trouve actuellement le curseur. Pour que cela fonctionne correctement, le curseur doit être placé dans un espace vide après le mot que vous devez supprimer.
  3. Ctrl + u : supprimez la ligne actuelle commençant au caractère immédiatement à gauche de l’endroit où se trouve le curseur.

CONSEIL #11 : Déplacez ou copiez des lignes existantes vers une autre ligne du document

S’il est vrai que vous pouvez utiliser les commandes dd, yy et p bien connues en mode ex pour supprimer, tirer (copier) et coller des lignes, respectivement, cela ne fonctionne que lorsque le curseur est placé à l’endroit où vous souhaitez effectuer ces opérations. La bonne nouvelle est qu’avec les commandes copier et déplacer, vous pouvez faire de même quel que soit l’endroit où le curseur est actuellement placé.

Pour l’exemple suivant, nous utiliserons un court poème intitulé « Forever » de Terri Nicole Tharrington. Pour commencer, nous aurons vim afficher les numéros de ligne ( :set nu en mode commande - considérez cela comme un conseil supplémentaire). Nous utiliserons :3copy5 (également en mode Commande) pour copier la ligne 3 sous la ligne 5 :

Maintenant, annulez le dernier changement (Esc + u - un autre conseil bonus !) et tapez :1move7 pour remplacer la ligne 7 par la ligne 1. Veuillez noter que les lignes 2 à 7 sont déplacées vers le haut et que l’ancienne ligne 1 occupe maintenant la ligne 7 :

CONSEIL #12 : Comptez les correspondances résultant d’une recherche par modèle et déplacez-vous d’une occurrence à une autre

Cette astuce est basée sur la commande de substitution (pointe #7 dans la partie 1 de cette série), à l’exception qu’elle ne supprimera rien puisque le comportement de substitution est remplacé par l’option n, ce qui entraîne le nombre d’occurrences du modèle spécifié :

Assurez-vous de n’omettre aucune des barres obliques !

:%s/pattern//gn 

Par exemple

:%s/libero//gn

Pour passer d’une occurrence du motif à l’autre en mode ex, appuyez sur n (N minuscule). Pour passer à l’instance précédente, appuyez sur N.

CONSEIL #13 : Ouvrez directement vi/m dans une ligne spécifiée

Par défaut, lorsque vous lancez vi/m, le curseur est initialement placé dans la dernière ligne qui a été modifiée. Si vous souhaitez ouvrir le programme et que le curseur soit placé directement sur une ligne spécifiée, vous pouvez utiliser l’astuce suivante :

vim filename +line_number

Par exemple, ouvrez forever.txt et placez le curseur à la ligne 6 :

vim forever.txt +6

Modifions un peu cet exemple. Supposons que nous voulions ouvrir le fichier sur la ligne où la 3ème occurrence du modèle apparaît :

vim filename +$(grep -in pattern filename | sed -n 3p | cut -d: -f1)

Examinons de plus près ce que fait la commande ci-dessus :

  1. grep -in pattern filename – affiche toutes les lignes du nom de fichier où le modèle se produit, avec le numéro de ligne au début de chaque ligne en sortie.
  2. sed -n 3p – affiche la 3ème ligne de la sortie du pipeline précédent.

Enfin,

  1. cut -d : -f1 renvoie le premier champ du pipeline précédent avec les deux-points (:) est le séparateur de champ.
grep -in forever forever.txt
grep -in forever forever.txt | sed -n 3p
grep -in forever forever.txt | sed -n 3p | cut -d: -f1

Le résultat de la commande précédente est ensuite passé à vi/m pour ouvrir le programme à la ligne spécifiée.

CONSEIL #14 : Personnalisation de votre environnement vi/m

Si vous utilisez vi/m pour modifier des fichiers de configuration ou pour écrire du code, vous voudrez pouvoir afficher les numéros de ligne lorsque vous ouvrez le programme pour la première fois et définir l’indentation automatique de sorte que lorsque vous appuyez sur la touche Entrée, le curseur sera automatiquement placé à la position appropriée. En outre, vous pouvez personnaliser le nombre d’espaces blancs qu’un onglet occupe.

Bien que vous puissiez le faire chaque fois que vous lancez vi/m, il est plus facile de définir ces options dans ~/ .vimrc afin qu’elles soient automatiquement appliquées :

set number
set autoindent
set shiftwidth=4
set softtabstop=4
set expandtab

Pour d’autres options de personnalisation de votre environnement vi/m, vous pouvez vous référer à la documentation vim en ligne.

CONSEIL #15 : Obtenez l’aide générale Vim/Options avec vimtutor

Si à tout moment vous avez besoin de rafraîchir vos compétences générales vi/m, vous pouvez lancer vimtutor à partir de la ligne de commande qui affichera une aide vi/m complète à laquelle vous pouvez vous référer aussi souvent que vous le souhaitez sans avoir besoin de lancer un navigateur Web pour rechercher comment accomplir une certaine tâche en vi/m.

vimtutor

Notez que vous pouvez naviguer ou rechercher le contenu de vimtutor comme si vous naviguiez dans un fichier régulier dans vi/m.

Résumé

Dans cette série de 2 articles, j’ai partagé plusieurs conseils et astuces vi/m qui devraient vous aider à être plus efficace lorsqu’il s’agit de modifier du texte à l’aide d’outils de ligne de commande. Je suis sûr que vous devez en avoir d’autres - alors n’hésitez pas à les partager avec le reste de la communauté en utilisant le formulaire ci-dessous. Comme toujours, les questions et les commentaires sont également les bienvenus.

Articles connexes: