---- ===== Utiliser vim : guide avec astuces et commandes de bases ===== Il est possible d’ajouter un alias dans /etc/profile (pour tous les utilisateurs) ou dans ~/.bashrc (pour l’utilisateur courant) pour forcer l’utilisation de vim : alias vi='vim' source ~/.bashrc ==== Commandes de base pour utiliser Vim ==== === Modes commande / insertion === Vim démarre en mode commande lorsqu’on ouvre un fichier. Pour passer du mode commande au mode insertion : a (append un caractère après le curseur) A (pareil en fin de ligne) i (insertion) I (insertion en début de ligne) La touche inser (pareil que i mais en appuyant 2 fois sur cette touche le mode replace est activé). La touche echap permet de revenir au mode commande. === Enregistrer et quitter === :w (enregistrer le fichier en cours d'édition sans quitter) :w /chemin/vers/le/fichier (enregistrer sous ) :x ou :wq (enregistrer et quiter) :q (quitter) :w !sudo tee % (enregistrer après ouverture en RO) Le ! permet de forcer certaines commandes : :q! (quitter en ignorant les modifications) === Se déplacer dans le fichier === On peut utiliser les flèches du clavier, page up/down ou les touches h j k l :1 (aller au début du fichier) :10 (aller à la 10e ligne) :$ (aller à la fin du fichier) $ (place le curseur à la fin d'une ligne) === Copier / couper / coller === Y (copie une ligne) 10Y (copie 10 lignes) dd (coupe ou supprime une ligne) d10 (coupe ou supprime 10 lignes) dw (coupe ou supprime un mot) v (pour sélectionner du texte en mode visuel) Ctrl+v (pour sélectionner un bloc de texte en mode visuel) p (coller) === Annuler / refaire une action === u (annuler) . (refaire) === Rechercher === /test (recherche le texte test) ?test (recherche le texte test en allant vers le haut) n (occurence suivante) ? enter (occurence précédente) ==== Astuces pour utiliser Vim ==== === Souris === Pour les habitués de la souris, il est possible de l’utiliser dans vim : :set mouse=a === Commandes shell === Pour exécuter une commande shell : :!ls Afficher / masquer les numéros de lignes :set nu :set nu! Remplacer du texte On peut utiliser une syntaxe sed. Exemple pour remplacer test par texte : :%s/test/texte/g => %=sur tt le doc; g=sur tte la ligne S’il y a des / dans le texte à remplacer on peut utiliser d’autres séparateurs : :s@/test/test@/texte/texte@g Pour remplacer uniquement entre les lignes 10 et 20 : :10,20 s/test/texte/g Coller du texte en respectant l’indentation :set paste Pour effectuer la même opération sur plusieurs lignes Pratique pour commenter un bloc de texte. Ctrl+v (passer en mode visuel) Shift+I (insertion en début de ligne) Effectuer la modification et appuyer 2 fois sur echap, toutes les lignes sélectionnées dans le bloc visuel seront modifiées. Recharger un fichier :e ou :edit (recharge le fichier) :e! (recharge le fichier en annulant les modifications) Activer la coloration syntaxique :syntax on Changer la couleur de la coloration syntaxique Sur fond noir certaines couleurs comme le bleu foncé sont illisibles. set bg=dark (précise à vim qu'on est sur un fond noir) === Paramètres permanents === Tous les paramètres peuvent être mis dans le fichier de configuration de démarrage /etc/vimrc ou ~/.vimrc Exemple pour le fond noir : echo "set background=dark" >>~/.vimrc ----