Outils pour utilisateurs

Outils du site


vi

l'éditeur vi

pourquoi vi comme éditeur ?

  1. parce qu'il existe de base sur toutes les machines Unix/linux
  2. parce qu'en single user, c'est le seul éditeur disponible
  3. parce qu'il marche même sous dos avec une très petite mémoire
  4. parce que l'on peut se débrouiller pour commencer avec 10 commandes

en fait je recommande vim (Vi Improved) plutôt que le vi de base pour x raisons :

  1. colorisation syntaxique
  2. langage de script
  3. completion

remarque : emacs est peut-être (troll !) plus puissant, mais aussi beaucoup plus lourd

installation

vim est distribue dans la distribution Redhat en 4 packages

  • vim-common : indispensable
  • vim-minimal : indispensable (le vi de base)
  • vim-enhanced : les fonctionnalités intéressantes
  • vim-X11 : la version X (gvim)

les fichiers dos

pour passer un fichier dos (crlf) au format unix, 3 solutions :

  • il suffit de taper dans vi :set fileformat=unix, puis de sauvegarder
  • supprimer les ^M de fin de ligne avec la commannde :%s!^V^M$!!
  • utiliser le logiciel dos2unix (package dos2unix)

sélection d'un bloc

  1. de lignes complétes : avec des marques (commandes m)
  2. irrégulier : commande v

commandes répétitives

2 solutions

  1. les macros : commande :map
  2. enregistrer une séquence (commande q0) puis la rejouer (commande @0)

complétion

en mode insertion, CTRL P fait des propositions à partir du texte déjà saisi


travail sur plusieurs fichiers

  1. un par un : on change de fichier par :n (:N pour revenir en arrière)
  2. plusieurs a la fois: CTRL W s (split) pour découper l'écran, CTRL W w pour changer

aide :help windows


importer le résultat d'une commande

:r !commande


les buffers

pour utiliser un buffer : (ici le buffer a) avec les commandes yYpP
“a cmde


utiliser les tags

pour les programmeurs, permet de se déplacer de fonction en fonction sans avoir a connaître le fichier et la ligne ou elles sont.
aide :help tags


undo/redo

  • pour supprimer une modification : :u
  • pour la remettre : :redo ou Ctrl-R

folder

a partir de la version 6, cela permet de “compresser” des blocs de code

  • zfap : pour créer un folder
  • zo : pour l'ouvrir
  • zc : pour le fermer

aide :help folding


indentation

pour re-indenter proprement un texte :

  • le marquer en passant en mode visuel (commande v)
  • touche ”=“

vimdiff

vim -d ou vimdiff est un mode pour montrer les différences entre fichiers et permet les merges (:help diff)
2 commandes pour transférer les modifs d'un fichier sur l'autre

  • do (diff obtain) : transfert vers la fenetre courante
  • dp ( diff put ) : transfert depuis la fenêtre courante

les fichiers binaires

pour éditer les fichiers binaires (en hexa) : plusieurs solutions

  • bview : pas mal du tout
  • fb: trés puissant en ligne de commande

astuces

  • effacer les 4 premiers caractères d'un fichier : :%s!^….!!
  • basculer de less vers vi : commande v
  • afficher les tabulations : set list

plugin

vim peut être amélioré/étendu a l'aide de plugins (il y en a des centaines sur vim.org), qui peuvent être installés :

  • soit pour tous (/usr/share/vim/plugin/)
  • soit pour un usager seulement (~/.vim/plugin)

astuce : pour prendre en compte la documentation locale : “vim -c “helptags ~/.vim/doc” -c “q””


développer

des conseils pour faire du perl avec vim


liens

quelques sites sur vi:

  1. le site de vim
  2. le site de Luc Hermitte : par un Toulousain, en anglais, pour les pro

articles

  • linux magazine 14, p24
  • linux magazine 25, p92
  • linux magazine 26, p96

eric gerbier 2009/09/15 13:53

vi.txt · Dernière modification: 2012/02/05 16:43 (modification externe)