Vim est un éditeur de texte très puissant que l'on utilise dans une fenêtre de commande. Pour cela il suffit de taper vim dans cette fenêtre.
En exécutant la commande vimtutor au lieu de vim on aura accès à son tutoriel.
Vim possède 3 modes différents de travail :
<Echap>.Les touches h(gauche) j(bas) k(haut) l(droit) permet de se déplacer dans le fichier. On peut aussi utiliser les flèches.
Pour insérer du texte on utilise la commande i ou la commande a pour ajouter du texte.
Lorsque l'on est en mode insertion, pour quitter ce mode, ce qui permet de passer en mode interactif ou en mode commande, on utilise la touche <Echap>
Pour quitter l'éditeur sans sauvegarder, on utilise la commande :!q.
Si l'on veut enregistrer le fichier on utilise la commande :w et si on veut enregistrer et quitter l'éditeur on exécute la commande :wq.
Pour exécuter le fichier sous un autre nom on utilise la commande :w nouveauNomFichier.
La touche 0 déplace le curseur en début de ligne, la touche $ en fin de ligne et la touche w permet de se déplacer de mot en mot.
Pour retourner sur la première ligne on exécute la commande gg et pour atteindre la dernière ligne on utilise la commande G. La commande xG, x étant un nombre, permet d'atteindre la ligne x.
La commande r permet de remplacer un caractère par un autre. Cette commande doit être suivi par le caractère de remplacement (ex : ra remplace le caractère qui est sous le curseur par la lettre "a").
La commande R fait basculer dans le mode remplacement du texte qui se trouve sous le curseur.
La commande x supprime le caractère qui se trouve sous le curseur. Si on veut supprimer plusieurs caractères à la fois il suffit de précéder la commande x par le nombre de caractères que l'on veut supprimer (ex : 5x).
La commande dd supprime une ligne et si on veut supprimer plusieurs lignes, il suffira de précéder la commande par le nombre de lignes que l'on veut supprimer (ex : 5dd).
Dans les faits, la ligne est supprimée et mise en mémoire et peut-être collé ailleurs dans le texte.
La commande dw supprimera le mot si le curseur se trouve sur la première lettre du mot ou supprimera les caractères à partir du curseur jusqu'à la fin du mot.
la commande d$ permet de supprimer une fin de ligne à partir du curseur et la commande d0 permet de supprimer le début de ligne jusqu'au curseur. Comme précédemment, le texte est mis en mémoire pour être coller éventuellement ailleurs.
yy. yw pour copier un mot, y0 pour copier du début de ligne jusqu'au curseur et y$ pour copier du curseur jusqu'à la fin de ligne.
La commande p permet de coller le texte qui a été coupé avec les commandes dd ou yy (ou leurs équivalents). Le texte sera collé sur la ligne situé après le curseur. Comme précédemment, si on précède la commande avec un nombre, on collera le texte autant de fois qu'indique ce nombre (ex : 2p colle le texte 2 fois)
Pour annuler la dernière modification, on utilise la commande u. Si la commande est précédé d'un nombre, il annulera les x modifications.
Pour passer en mode recherche, on utilise la commande /. Le curseur se place en bas de l'écran. Ensuite on écrit le mot recherché et on appuie sur Entrée pour valider.
Pour continuer la recherche vers le bas, on utilise la touche n ou vers le haut N.
Pour rechercher et remplacer du texte, il existe plusieurs façons d'effectuer le remplacement. Voici toutes les méthodes :
:s/ancien/nouveau : remplace la première occurrence de la ligne où se trouve le curseur.:s/ancien/nouveau/g : remplace toutes les occurrences de la ligne où se trouve le curseur.:#,#s/ancien/nouveau/g : remplace toutes les occurrences dans les lignes n°# à # du fichier.:%s/ancien/nouveau/g : remplace toutes les occurrences du fichier.
Pour Pour insérer un fichier à la position du curseur on utilise la commande :r suivi du fichier à insérer. (ex: :r unFichier).
Dans vim on peut découper un écran verticalement avec la commande :vsp ou horizontalement avec la commande :sp. Si on veut ouvrir un autre fichier dans un écran ou ajoute le nom du fichier à la suite de la commande (ex: :sp autreFichier).
Pour changer d'écran on utilisa la commande Crtl+w w, fermer un écran la commande Crtl+w q.
Vim permet d’exécuter des commandes externes en utilisant la commande :!. Par exemple :!ls affiche le contenu du répertoire courant.
On peut personnaliser vim soit en activant ou en désactivant des options soit en installant des plugins que nous pouvons trouver sur le site officiel.
Les options peuvent être activés dans vim en exécutant des commandes. Ces options seront perdus lorsqu'on fermera le programme. Pour que ces options soient permanentes il faut les déclarer dans le fichier de configuration .vimrc. Ce fichier est à créer dans le répertoire personnel.
Pour activer l'option que l'on nommera "option", on utilise la commande :set option. Pour la désactiver on exécutera la commande :set nooption.
Certaines options possèdent des valeurs qui seront ajouté dans la commande comme ceci :set option=valeur.
La commande :set option? permet de connaître son état.
Dans ce fichier pour activer ou désactiver une option, on ajoute cette option sur une ligne en commençant par set suivi du nom de l'option puis de sa valeur set option=valeur.
Dans ce fichier les commentaires commencent par ".
Voici quelques options :
set nocompatible : Désactive la compatibilité avec vi.set background=dark : adapte les couleurs pour un fond noirsyntax on : Active la coloration syntaxique.set number : Affiche les numéros de lignes.set tabstop=4 : Indentation toutes les quatre colonnes.set expandtab : Conversion des tabulations en espaces.set shiftwidth=4 : Indentation de quatre colonnes.set smartindent : Indentation "intelligents".set autoindent : Conserve l'indentation courante sur les nouvelles lignes.set backspace=indent,eol,start : retours arrières intelligents.set shiftround : Indentation à la marque de Tab la plus proche.set ignorecase : Ignore la casse lors de recherche.set showmode : affiche le mode d'édition.set ruler : affiche la position du curseur.set showcmd : affiche la commande en cours.set mouse=a : active l'utilisation de la souris dans le terminal.colorscheme nom_du_thème : Utilise le thème "nom_du_thème"