Commandes de base

Guide de SUR-VI (Utilisation de vi)

Cet article a été mis à jour, vous consultez ici une archive de cet article!
Table des matières



Introduction



L’éditeur de texte vi permet d’éditer les fichiers de configuration des différents programmes et fonctionnalités. Il fonctionne en mode texte, son fonctionnement peut paraître déroutant au premier abord…

Voici un petit guide de sur-vi :happy1: qui est loin de présenter toutes les fonctionnalités de vi mais permet néanmoins d’éditer les fichiers dans de bonnes conditions.

Sous vi, il faut distinguer 2 modes : le mode commandes et le mode édition.

Le mode commandes



C’est le mode par défaut lorsque vi s’ouvre. Ce mode ne permet pas de taper du texte. Pour entrer dans le mode commande, appuyer sur la touche Echap.

Le déplacement



  • Aller en début de ligne → 0
  • Aller en fin de ligne → $
  • Ligne précédente (ou monter) → k
  • Ligne suivante (ou descendre) → j
  • Caractère précédent (ou aller à gauche) → h
  • Caractère suivant (ou aller à droite) → l
  • Mot précédent → b
  • Mot suivant → w
  • Page précédente → Ctrl+B (ou Page précédente avec vim)
  • Page suivante → Ctrl+F(ou Page suivante avec vim)
  • Aller à la ligne n → ngg ou nG (où n est le numéro de ligne)
  • Aller à la première ligne : gg
  • Aller à la dernière ligne → G


Quitter / Enregistrer



  • Enregistrer SANS quitter → :w
  • Quitter en enregistrant les modifications → :wq ou:x
  • Quitter sans enregistrer les modifications → :q!



Copier / Couper / Coller



  • Copier la ligne courante → yy
  • Copier n lignes à partir de la ligne courante → nyy (Remplacer n par un nombre)
  • Coller → p
  • Couper la ligne courante → dd
  • Couper n lignes à partir de la ligne courante → ndd (Remplacer n par un nombre)


Effacer




  • Effacer le caractère courant → x
  • Effacer la ligne courante → dd
  • Effacer n lignes à partir de la ligne courante → ndd (Remplacer n par un nombre)




Rechercher



  • Appuyer sur la touche / puis taper la chaîne à rechercher. Appuyer sur la touche Entrée. Appuyer sur la touche n pour aller à l’occurrence suivante, N pour l’occurrence précédente.
  • Recherche en avant du mot texte → /texte
  • Recherche en arrière du mot texte → ?texte
  • Aller à l'occurrence suivante → n
  • Aller à l'occurrence précédente → N



Divers



  • Annuler la dernière action → u
  • Modifier la casse du caractère → ~




Le mode édition



Le mode édition permet de taper du texte et d’effacer le caractère sous le curseur avec la touche Suppr.

Pour entrer dans le mode édition, deux choix possibles :

  • Appuyer sur i pour insérer du texte (le texte tapé sera alors inséré au niveau du curseur)
  • Appuyer sur a pour ajouter du texte (le texte tapé sera alors inséré juste après le curseur)



Pour quitter le mode édition, appuyer sur la touche Echap. On se retrouve alors en mode commandes.



Commandes utiles utilisables dans vim



vim est un éditeur de texte similaire à vi mais présente plus de fonctionnalités, comme la coloration syntaxique, ou le déplacement dans l'éditeur avec les flèches directionnelles au lieu de hjkl

Les commandes avancées du mode commandes



  • Afficher les numéros de ligne → :set number ( pour désactiver → :set nonumber )
  • Afficher la coloration syntaxique → :syntax on ( pour désactiver → :syntax off )



Quelques commandes complexes




Supprimer le caractère ^M avec vi



Lorsqu’un fichier est édité sur un système Windows/DOS à la fin de chaque ligne le caractère « ^M » apparait.
Si vous souhaitez supprimer ce caractère sur l’ensemble du fichier avec l’éditeur vi voici la commande à utiliser:

Code BASH :
:%s/^M/\r/g


Il ne faut pas saisir ^M mais procéder ainsi :
Code BASH :
:%s/[ctrl+V][ctrl+M]/\r/g


/* Vrac à ranger */




Code TEXT :
Commande pour mettre du texte devant chaque ligne
:1,$,s /^/texte_a_ajouter/g
 
 
Importer plein de SQL dans sa base en créant un script
 
cd repertoire_de_sql
 
ls -c1X > script.sh
 
vi script.sh
 
:1,$,s /^/mysql -u user -ppassword base < /g
 
 
Copier coller VIM
 
Copier : "ayy
 
Coller : "ap
 
Enregistrer un fichier systeme si on n'a pas les droits root : :w !sudo tee %
 
Colorer toutes les occurences d'un mot : * dessus
Y enlever : :noh
 
Fichier de conf : ~/.vimrc 
 
Exécuter un script bash dans vim :    :! ./%
 
--