Vim Editor Basics in Linux

Vim Editor Basics in Linux

VIM n'a pas besoin de présentations: c'est probablement l'éditeur de texte le plus aimé par les administrateurs du système, également en raison du fait qu'il s'agit d'un clone et d'une amélioration du VI d'origine, qui est inclus par défaut dans pratiquement tous les systèmes d'exploitation basés sur Linux et Unix. VIM peut être assez intimidant au début, et il a une courbe d'apprentissage abrupte; Apprendre à l'utiliser, cependant, peut vraiment augmenter notre productivité. Dans cet article, nous apprendrons les bases VIM.

Dans ce tutoriel, vous apprendrez:

  • Comment installer VIM
  • Pourquoi Vim est un éditeur de texte «modal» et quelles sont les modes VIM
  • Comment modifier l'aspect et la sensation de vim en utilisant le ~ /.vimrc fichier de configuration

Exigences et conventions logicielles utilisées

Exigences logicielles et conventions de ligne de commande Linux
Catégorie Exigences, conventions ou version logicielle utilisée
Système Distribution indépendante
Logiciel vigueur
Autre Aucune autre exigence nécessaire
Conventions # - nécessite que les commandes Linux sont exécutées avec des privilèges racine soit directement en tant qu'utilisateur racine, soit par l'utilisation de Sudo commande
$ - Exige que les commandes Linux sont exécutées en tant qu'utilisateur non privilégié régulier

Installation

Vous pouvez être assuré que VIM, s'il n'est pas installé par défaut, est disponible dans vos référentiels de distribution préférés, par conséquent, pour l'installer, tout ce que vous avez à faire est d'utiliser votre gestionnaire de packages préféré. Sur Debian et Debian
Distributions, entre autres, nous pouvons utiliser apt-get:

$ sudo apt-get update && sudo apt-get install vim 

Sur Fedora, et plus généralement sur toute la famille de distributions de Red Hat, nous pouvons utiliser le DNF Gestionnaire de package pour effectuer la tâche:

$ sudo dnf install vim 

Courir sur Arch Linux? Dans ce cas, puisque VIM est inclus dans le Supplémentaire Référentiel, l'installation n'est qu'une question d'exécuter la commande suivante:

$ sudo pacman -s vim 

Un éditeur de texte «modal»

Vous constaterez que VIM est assez différent des éditeurs de texte auquel vous pourriez être habitué; C'est parce que c'est un modal éditeur de texte. Qu'est-ce que ça veut dire? VIM a un tas de modes de travail différents:

  • Mode normal
  • Mode insérer
  • Mode visuel
  • Mode de commande

Voyons-les en bref.

Mode normal

Le normal Le mode est la valeur par défaut. Quand à normal Mode, nous pouvons facilement naviguer et apporter des modifications à un document. Voyons quelques exemples. Supposons que le texte suivant soit ouvert dans l'éditeur:

Comme vous pouvez le voir, le curseur est positionné au début de la première ligne. Supposons que nous voulons le déplacer au début du deuxième mot («anneaux» dans ce cas). Tout ce que nous avons à faire, c'est d'appuyer sur le w clé (abréviation de mot); Cela avancera (vers la droite) jusqu'au début d'un mot:



Le mouvement «inverse» est obtenu en appuyant b Clé - Cette action déplacera le curseur au début du mot précédent.

Et si nous voulons répéter le mouvement X nombre de fois? Tout ce que nous avons à faire est de saisir le nombre de mouvements que nous voulons effectuer, avant d'appuyer sur la touche correspondant au mouvement que nous voulons faire. Par exemple, pour faire avancer le curseur, nous appuyons sur deux mots, nous appuyons 2W. En supposant que le curseur est actuellement sur le mot «anneaux» sur la première ligne, nous obtiendrions ce résultat:

Pour déplacer le curseur au début de la ligne actuelle, nous pouvons appuyer sur le 0 clé; le $ La clé nous permettra d'obtenir l'effet inverse, de sorte que le curseur sera déplacé vers la fin de la ligne.

Pour passer à la dernière ligne d'un document ouvert, nous pouvons appuyer sur g, Pendant que pour passer à la première ligne, nous pouvons appuyer gg.

Ceux ci-dessus ne sont que quelques exemples de la façon dont nous pouvons facilement naviguer dans le document lorsque vous normal mode. Dans le tableau ci-dessous, nous pouvons voir un petit nombre de clés dont nous voulons peut-être nous souvenir et leur effet:

CLÉ EFFET
H Déplacer le curseur à gauche
J Déplacez le curseur
k Déplacez le curseur
l Déplacez le curseur à droite
w Aller au début d'un mot
W Aller au début d'un mot (ponctuation considérée comme faisant partie du mot)
b Reculer jusqu'au début d'un mot
B Reculer jusqu'au début d'un mot (ponctuation considérée comme faisant partie du mot)
e Aller vers la fin d'un mot
E Avancez à la fin d'un mot (ponctuation considérée comme faisant partie du mot)
0 Déplacez-vous au début de la ligne
$ Déplacez-vous à la fin de la ligne
gg Passez à la première ligne du document
g Passez à la dernière ligne du document
f char Passez à la première occurrence du caractère spécifié
UN Passez au-delà de l'extrémité de la ligne et entrez le «mode d'insertion»

Quand à normal mode Nous ne sommes pas limités à effectuer uniquement des mouvements, il y a aussi les opérateurs qui effectuons certaines actions, comme par exemple d (supprimer) ou c (changement). Ces opérateurs, combinés à des mouvements, effectuons des actions de masse.

Voyons un exemple: nous savons que le w Key fait avancer le curseur jusqu'au début du mot suivant; Si nous le combinons avec le d opérateur, nous pouvons supprimer un mot entier avec une seule commande. En supposant que le curseur est au début de la première ligne de notre texte, si nous appuyons dwing Nous obtiendrions le résultat suivant:

Comme vous pouvez le voir, le premier mot de la ligne («trois») a été supprimé. De la même manière que nous pouvions supprimer du texte de la position actuelle du curseur à la fin de la ligne en appuyant d $, et ainsi de suite.

Le mode «insert» (et «remplacer»)

Le insérer Le mode est pratiquement le mode de travail standard de tous les éditeurs de texte les plus courants. Lorsque dans ce mode, nous pouvons insérer du texte comme nous le ferions normalement avec d'autres éditeurs. Comment entrons-nous ce mode? Lorsque vous travaillez dans normal Mode, nous pouvons, par exemple, appuyer sur l'une des clés suivantes:

CLÉ EFFET
je Insérer du texte avant le curseur
je Insérer du texte au début de la ligne
un Insérer du texte après le curseur
UN Ajouter le texte à la fin d'une ligne


Comment effectuer le processus inverse et passer de insérer pour normal mode? Tout ce que nous avons à faire est d'appuyer sur le clé ou .

Le remplacer Le mode est vraiment similaire à insérer Mode, la seule différence est que le texte que nous entrons écrase un écrasant existant au lieu d'étendre la longueur de la ligne. Nous pouvons entrer remplacer mode en utilisant le R quand à
normal mode.

Le mode «visuel»

En mode «visuel», nous pouvons sélectionner une partie du texte et effectuer certaines opérations dessus. Le mode visuel peut fonctionner à trois niveaux différents:

  • Personnage
  • Doubler
  • Bloc

Pour entrer à l'échelle du caractère " visuel mode, quand normal mode que nous pouvons appuyer sur le V clé; Pour activer le mode virtuel «en ligne», nous pouvons plutôt utiliser V (majuscule). Enfin, pour entrer le mode visuel «en bloc», nous pouvons appuyer sur .

Ligne visuelle vim

Dans l'image ci-dessus, vous pouvez voir à quoi ressemble l'éditeur, lorsque le mode visuel «en ligne» est activé. Les mêmes touches dont nous avons discuté ci-dessus peuvent être utilisées pour basculer entre les modes visuels; De plus, si nous sommes déjà dans un mode visuel spécifique et que nous appuyons sur la touche qui l'active, nous reviendrons à normal mode:

Mode visuel actuel Clé Effet
en termes de personnage V Passez en mode normal
en termes de personnage V Passez en mode visuel en ligne
en termes de personnage \ Passer en mode visuel sur blocage
à la ligne V Passez au mode visuel par caractère
à la ligne V Passez en mode normal
à la ligne \ Passer en mode visuel sur blocage
bloc V Passez au mode visuel par caractère
bloc V Passez en mode visuel en ligne
bloc \ Passez en mode normal

Les touches de mouvement que nous avons vues en mode normal peuvent également être utilisées dans mode visuel. Par exemple, lorsque nous travaillons en mode visuel par caractère et que nous voulons sélectionner parmi un certain point à la première occurrence d'une lettre que nous pouvons utiliser
f char.

Lorsqu'une partie du texte est sélectionnée, nous pouvons, par exemple, le couper en appuyant sur le d mot-clé ou le copier en utilisant y.

Le «mode de ligne de commande»

Pour entrer dans le mode de ligne de commande Nous pouvons appuyer sur le : clé ou / / Pour commencer une recherche de texte en mode normal. Lorsque nous sommes dans ce mode, nous pouvons saisir des commandes à exécuter après avoir appuyé sur (la clé «retour»). L'une des commandes la plus simples que nous pouvons exécuter lorsque vous mode de ligne de commande est:

:aider 

Lorsque la commande est exécutée, un nouveau tampon sera ouvert affichant la page d'aide principale VIM:

La page d'aide VIM dans les versions récentes de VIM, nous pouvons utiliser le Terminal commande pour ouvrir un émulateur de terminal directement dans l'éditeur de texte:
:Terminal 

Le résultat de l'exécution de la commande est:

Le terminal intégré VIM

Comme nous l'avons déjà dit, pour effectuer une recherche de texte, nous pouvons appuyer / / et tapez le texte que nous voulons trouver dans le document. Par défaut, la recherche est sensible à la casse (cela peut être modifié via le fichier de configuration VIM à l'aide du Définir IgnoreCase directif). À titre d'exemple, supposons que nous voulons trouver le mot «anneau» dans le texte de notre exemple. Nous écrivons la commande suivante en appuyant sur «Entrée»:

/Anneau 

Pour parcourir les résultats mis en évidence, nous pouvons appuyer n, et pour supprimer la mise en évidence des mots, nous pouvons exécuter le noh commande:

: Noh 

On peut utiliser mode de ligne de commande Pour effectuer également le remplacement de texte. Supposons par exemple que nous voulons remplacer toutes les occurrences de «Ring» par «bijou». Ce que nous ferions, dans ce cas, c'est utiliser le remplaçant commande: s. Le
Commande que nous aurions besoin d'exécuter est:

:% s / ring / bijou / g 

Le % symbole que nous avons utilisé avant la commande de la commande afin que l'opération soit effectuée dans l'ensemble du document, tandis que le g Annexe après que la substitution est utilisée pour effectuer la substitution sur toutes les occurrences trouvées sur une ligne (vs seulement la première).

Lorsque nous utilisons le remplaçant Commande Nous pouvons également utiliser d'autres «modificateurs». Par exemple, si nous ajoutons un c Après le modèle de substitution, nous serons invités à confirmer chaque substitution; je, fera plutôt le remplacement insensible à la cas.

La plage d'action d'une commande peut être limitée à certaines lignes spécifiques. Pour effectuer le remplacement de texte uniquement sur les lignes du premier au sixième (inclus) du document, nous écrivions:

: 1,6s / anneau / bijou / g 

La même plage pourrait être utilisée, par exemple, avec le d (supprimer) Commande pour supprimer les lignes susmentionnées:

: 1,6d 

Quand à commande Mode ligne, nous pouvons également invoquer externe Programmes dans le shell: Tout ce que nous avons à faire est de constituer de telles commandes avec le ! symbole. Par exemple, pour jeter un œil aux fichiers (non cachés) dans le répertoire de travail actuel, nous pourrions utiliser le ls -l commande:

:!ls -l 

Nous obtiendrions le résultat suivant:

total 36 drwxr-xr-x. 2 Egdoc Egdoc 4096 31 octobre 12:45 DRWXR-XR-X. 2 Egdoc Egdoc 4096 31 octobre 12:45 Documents DRWXR-XR-X. 2 egdoc egdoc 4096 nov 2 10:37 Téléchargements -rw-r - r--. 1 egdoc egdoc 373 nov 3 11:30 LOTR.txt drwxr-xr-x. 2 Egdoc Egdoc 4096 31 octobre 12:45 Musique DRWXR-XR-X. 2 egdoc egdoc 4096 nov 4 08:19 images drwxr-xr-x. 2 egdoc egdoc 4096 31 octobre 12:45 public drwxr-xr-x. 2 Egdoc Egdoc 4096 31 oct. 2 Egdoc Egdoc 4096 31 oct 

Comme suggéré par le message, pour revenir à l'éditeur, nous devons appuyer sur ENTRER. Ce ne sont que quelques exemples de base des commandes que nous pouvons utiliser dans VIM.

Personnalisation de VIM

Vim Look and Feel peut être personnalisé via son fichier de configuration: ~ /.vimrc. Par défaut, l'interface de l'éditeur est vraiment minime: même les numéros de ligne ne sont pas affichés! Que ce soit la première chose que nous changerons.

Affichage des numéros de ligne

Nous ouvrons le fichier de configuration et écoutons la directive suivante

Numéro de réglage 

Normalement, pour voir l'effet des changements que nous apportons, nous devons fermer et rouvrir VIM; Nous pouvons cependant émettre le : donc ~ /.vimrc commande pour trouver le fichier de configuration et rendre les modifications immédiatement efficaces. En raison de
Directive que nous avons utilisée, les numéros de ligne sont maintenant affichés:

Mettre en surbrillance une colonne et une longueur de ligne limite

Une autre fonctionnalité commune que nous voulons utiliser, surtout lors de l'écriture de code, est de mettre en surbrillance une certaine colonne. Lors de l'écriture d'un programme Python ou d'un script shell, par exemple, nous ne voulons généralement pas dépasser le 80 colonne; Pour mettre en surbrillance la colonne, nous devons ajouter la directive suivante dans le fichier de configuration:

Définir ColorColumn = 80 

Dans l'image ci-dessous, vous pouvez voir le résultat du changement. La colonne que nous avons spécifiée est maintenant mise en évidence:

Si nous voulons réellement appliquer une règle sur le nombre maximum de caractère qui peut être inséré sur une ligne, nous devons utiliser le largeur de texte directive à la place:

Définir TextWidth = 79 

En raison du changement ci-dessus, si un nouveau mot ne correspond pas au nombre de caractères spécifié, il sera automatiquement inséré dans une nouvelle ligne.

Utilisez des espaces au lieu des onglets

Un autre changement assez courant que nous pouvons vouloir effectuer est d'utiliser un certain nombre d'espaces à la place d'un LANGUETTE Caractère lorsque la touche correspondante est appuyée sur le clavier. Pour réaliser la configuration souhaitée, nous voulons utiliser les directives suivantes:

set tabstop = 2 set softTabstop = 2 set ExpandTab set shiftwidth = 2 

Dans la configuration ci-dessus, nous définissons le tablate Directive pour définir la taille d'un «réel» LANGUETTE personnage. Le softtabstop, La directive est plutôt utilisée pour spécifier le nombre d'espaces qui doivent être utilisés pour remplacer un LANGUETTE quand le se détendre La directive est utilisée. Dans ce cas, chaque fois que nous appuyons sur le Languette Clé du clavier, VIM insérera la quantité d'espaces que nous avons spécifiés avec softtabstop. Finalement, le diffamation de shift L'option est utilisée pour spécifier le niveau d'indentation utilisé pour l'indelliation automatique et pour les commandes de changement.

Paramètres spécifiques à FileType

Et si nous voulons spécifier certains paramètres à appliquer uniquement à des types spécifiques de fichiers? Dans ce cas, nous devons activer le Plugin FileType. Pour ce faire, nous ajoutons la ligne suivante dans le fichier de configuration:

Plugin FileType sur 

À ce stade, à l'intérieur du ~ /.vim / après / ftplugin Répertoire (nous devons le créer s'il n'existe pas déjà), nous devons créer un fichier nommé d'après le type de fichier pour lequel nous souhaitons spécifier les paramètres et utiliser le ".extension VIM ".

Par exemple, pour spécifier des paramètres pour les fichiers Python, nous créons le ~ /.vim / after / ftplugin / python.vigueur déposer et mettre nos instructions à l'intérieur. La seule chose recommandée est d'utiliser le setlocal instruction dans le fichier au lieu de ensemble, Afin de rendre les modifications valides uniquement pour le tampon ouvert, et non global. Disons par exemple que nous voulons remplacer un LANGUETTE caractère 4 espaces uniquement dans les scripts python. Dans le ~ /.vim / after / ftplugin / python.vigueur fichier que nous écrivions:

setLocal softTabStop = 4 setLocal shiftwidth = 4 

Ce que nous avons utilisé ici n'est qu'un très petit sous-ensemble des options que nous pouvons utiliser dans le fichier de configuration VIM pour modifier l'apparence de l'éditeur; Ce que nous voulons montrer ici, c'est le mécanisme de base.

Conclusions

Dans cet article, nous avons commencé notre première approche avec ce qui est probablement l'éditeur de texte le plus célèbre et le plus aimé sur les plateformes basées sur Linux et Unix: VIM. Nous avons vu comment Vim a été créé comme un clone de l'original Vi éditeur, qui est installé par défaut sur presque toutes les distributions, nous avons vu pourquoi il est appelé un modal Éditeur de texte, et quels sont les modes que nous pouvons utiliser.

Enfin, nous avons vu comment modifier l'aspect et ressentir l'éditeur en écrivant des directives dans le ~ /.vimrc fichier de configuration. Nous rayons à peine la surface de ce que nous pouvons accomplir en utilisant VIM, car cela était signifié comme un premier guide dans le monde VIM. Nous parlerons de fonctionnalités spécifiques plus en profondeur dans les futurs tutoriels. Restez à l'écoute!

Tutoriels Linux connexes:

  • Choses à installer sur Ubuntu 20.04
  • Une introduction à l'automatisation Linux, des outils et des techniques
  • Comment cloner un système Linux
  • Choses à faire après l'installation d'Ubuntu 20.04 Focal Fossa Linux
  • Masterring Bash Script Loops
  • Mint 20: Mieux que Ubuntu et Microsoft Windows?
  • Clone partition sur Linux
  • Téléchargement Linux
  • Journalisation et audit avancés sur Linux
  • Comment doubler Kali Linux et Windows 10