l'éditeur vi
pourquoi vi comme éditeur ?
parce qu'il existe de base sur toutes les machines Unix/linux
parce qu'en single user, c'est le seul éditeur disponible
parce qu'il marche même sous dos avec une très petite mémoire
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 :
colorisation syntaxique
langage de script
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
de lignes complétes : avec des marques (commandes m)
irrégulier : commande v
commandes répétitives
2 solutions
les macros : commande :map
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
un par un : on change de fichier par :n (:N pour revenir en arrière)
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
les buffers
pour utiliser un buffer : (ici le buffer a) avec les commandes yYpP
“a cmde
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
folder
a partir de la version 6, cela permet de “compresser” des blocs de code
aide :help folding
indentation
pour re-indenter proprement un texte :
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
les fichiers binaires
pour éditer les fichiers binaires (en hexa) : plusieurs solutions
-
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 :
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:
-
-
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