[ précédent ] [ Table des matières ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ] [ 10 ] [ 11 ] [ 12 ] [ 13 ] [ 14 ] [ 15 ] [ A ] [ suivant ]


Guide de référence pour Debian
Chapitre 11 - Editeurs


11.1 Editeurs populaires

Linux offre plusieurs solutions comme éditeurs en mode texte. Parmi eux :

Utilisez update-alternatives --config editor pour changer d'éditeur par défaut. De plus, beaucoup de programmes utilisent les variables d'environnement EDITOR ou VISUAL pour décider quel éditeur utiliser. Voir Éditeur de MC, Section 4.2.5.

Il existe aussi quelques éditeurs de texte pour X :

Ces commandes xclient prennent des options standard comme -fn a24 qui rendent les choses faciles pour les plus vieux comme moi :-) Voir Clients X, Section 9.4.4.


11.2 Editeurs de sauvetage

Il y a quelques éditeurs dans /bin. L'un d'eux doit être installé pour faciliter l'édition de fichiers quand /usr n'est pas accessible.


11.3 Emacs et Vim


11.3.1 Conseils pour Vim

Lisez la page « VIM - main help file » en tapant <F1> dans le programme.

     <F1>     Aide
     <esc>    Retour au mode normal
     V              Mode visuel
     i              Mode insertion
     :              Commandes en ligne
     :set tw=72     Paramètre la largeur du texte à 72
     <F11>    Mode Insertion (collage)
     :r! date -R    Insertion de la date selon RFC-822
     qa  Enregistre la frappe dans le registre a
     q              Arrête l'enregistrement de la frappe
     @a  Exécute la frappe enregistrée dans le registre a
     :edit foo.txt Edite un autre fichier en chargeant
     foo.txt
     :wnext         Enregistre le fichier courant et édite le fichier suivant

q et @ peuvent être utilisés pour enregistrer et exécuter de simples macros. Par exemple, pour créer une macro qui insère des balises HTML pour l'italique autour du mot sur lequel se trouve le curseur, vous pourriez taper qii<i>^[ea</i>^[q (où ^[ est la touche ESC). Taper @i au début d'un mot ajoute les balises <i> et </i>.

Voir aussi Utiliser GnuPG avec Vim, Section 14.4.2.


11.3.2 Conseils pour Emacs

     <F1>          Aide
     <F10>         Menu
     C-u M-! date -R     Insertion de la date selon RFC-822

11.3.3 Démarrer l'éditeur

     démarrer l'éditeur :            emacs nom_de_fichier    vim nom_de_fichier
     démarrage en compatibilité vi :                         vim -C
     démarrage en non-compatible vi :                        vim -N
     démarrage en mode par défaut :  emacs -q                vim -N -u NONE

11.3.4 Résumé des commandes de l'éditeur (Emacs, Vim)

     Sortie :                    C-x C-c         :qa /:wq /:xa /:q!
     Retour/mode commande :    C-g             <esc>
     Retour(gauche) :          C-b             h
     Après(droite) :           C-f             l
     Suivant(en bas) :         C-n             j
     Précédent(en haut) :      C-p             k
     Début de ligne(^) :       C-a             0
     Fin de ligne($) :         C-e             $
     Commandes mUltiples :     C-u nnn cmd     :count cmd
     Commandes Multiples :     M-digitkey cmd
     Sauvegarder le fichier :  C-x C-s         :w file
     Début du tampon :         M-<          1G
     Fin du tampon :           M->           G
     Écran suivant :           C-v             ^F
     1/2 écran suivant :                       ^D
     Ligne suivante :                          ^E
     Revenir d'1 écran :       M-v             ^B
     Revenir d'1/2 écran :                     ^U
     Ligne précédente :                        ^Y
     Avance l'autre fenêtre :  M-C-v
     Effacer sous le curseur : C-d             x
     Effacer à partir du curseur 
     jusqu'à la fin de ligne : C-k             D
     iRecherche en avant :     C-s
     iRecherche en arrière :   C-r
     Chercher en avant :       C-s enter       /
     Chercher en arrière :     C-r enter       ?
     iRecherche avec
     expression rationnelle :  M-C-s
     iRecherche en arrière avec
     expression rationnelle :  M-C-r
     Chercher avec
     expression rationnelle :  M-C-s enter     /
     Chercher en arrière avec
     expression rationnelle :  M-C-r enter     ?
     Aide :                    C-h C-h         :help
     Aide Apropos :            C-h a
     Aide sur les liens :      C-h b           :help key
     Aide Info :               C-h i
     Help mode Majeur :        C-h m
     Aide tutorial :           C-h t           :help howto
     Annulation :              C-_             u
     Refaire :                 C-f             ^R
     Marquer la position
     du curseur :              C-@             m{a-zA-Z}
     Échange Marque
     et position :             C-x C-x
     Aller à la marque dans
     le fichier actuel :                       '{a-z}
     Aller à la marque dans
     n'importe quel fichier :                  '{A-Z}
     Copier région :           M-w             {visual}y
     Tuer région :             C-w             {visual}d
     Copier et garder tampon : C-y             
     Copier depuis le tampon : M-y             p
     Conversion d'une zone
     en majuscules :           C-x C-u
     Conversion d'une zone
     en minuscules :           C-x C-l
     Insère un caractère
     spécial :                 C-q octalnum/keystroke  ^V decimal/keystroke
     Remplace :                M-x replace-string      :%s/aaa/bbb/g
     Remplace regexp :         M-x replace-regexp      :%s/aaa/bbb/g
     Recherche et remplace :   M-%                     :%s/aaa/bbb/gc
     Recherche et remplace :   M-x query-replace
     Recherche et remplace avec
     expression rationnelle :  M-x query-replace-regexp
     Ouvre un fichier :        C-x C-f         :r file
     Sauvegarde le fichier :   C-x C-s         :w
     Sauve tous les tampons :  C-x s           :wa
     Sauvegarde sous :         C-x C-w file    :w file
     Demande un tampon :       C-x b
     Liste le tampon :         C-x C-b         :buffers
     Commute en lecture seule :C-x C-q         :set ro
     Demande et tue le tampon :C-x k
     Scinde verticalement :    C-x 2           :split
     Scinde horizontalement :  C-x 3           :vsplit (ver. 6)
     Va à une autre fenêtre :  C-x o           ^Wp
     Efface cette fenêtre :    C-x 0           :q
     Efface autre fenêtre :    C-x 1
     Lance un shell
     en arrière-plan :         M-x compile
     Tue un shell lancé
     en arrière-plan :         M-x kill-compilation
     Lance make :                              :make Makefile
     Inspecte les messages d'erreur : C-x` 
     Lance un shell et enregistre :   M-x shell       :!script -a tmp
     ...clean BS, ...                                :!col -b <tmp >record
     sauve/rappelle le shell/enregistre : C-x C-w record  :r record
     Lance shell :                    M-! sh          :sh
     Lance une commande :             M-! cmd         :!cmd
     Lance une commande et insère :   C-u M-! cmd     :r!cmd
     Lance un filtre :                M-| file        {visual}:w file
     Lance un filtre et insère :      C-u M-| filter  {visual}:!filter
     Montre une option                               :se[t] {option}?
     relance l'option                                :se[t] {option}&
     relance une option booléenne                    :se[t] no{option}
     commute une option booléenne                    :se[t] inv{option}
     met le texte sur 72 colonnes                    :se tw=72
     pas d'organisation du texte                     :se tw=0
     autoindentation                                 :se ai
     étend la tabulation                             :se et
     spécifie un commentaire (courrier)              :se comments=n:>,n:\|
     
     Lance GDB                       M-x gdb                        
     décrit le mode GDB              C-h m                          
     saute une ligne                 M-s
     va à la ligne suivante          M-n
     saute une instruction (stepi)   M-i                            
     Finit le cadre de la pile courante      C-c C-f                        
     continue                        M-c                            
     up arg frames                   M-u                            
     down arg frames                 M-d                            
     copie le numéro à partir du point, insère à la fin 
                                     C-x &                          
     positionne un point d'arrêt     C-x SPC

11.3.5 Configuration de Vim

Afin de mettre en surbrillance les spécificités et la syntaxe avec Vim, ajoutez les lignes suivantes dans ~/.vimrc ou /etc/vimrc :

     set nocompatible
     set nopaste
     set pastetoggle=<f11>
     syn on

Le mode paste permet d'éviter que l'autoindentation n'interfère avec le couper/coller en mode console/terminal. C'est mieux que faire un simple ":set noai".

Voir Utiliser GnuPG avec Vim, Section 14.4.2 pour l'intégration de GnuPG.


11.3.6 Ctags

apt-get install exuberant-ctags et lancez ctags dans les fichiers source. Taper :tag function_name dans vim pour aller à la ligne qui commence function_name. Les balises marchent pour C, C++, Java, Python, beaucoup d'autres langages.

Emacs a les mêmes possibilités avec les ctags.


11.3.7 Convertir un écran avec syntaxe en surbrillance en un source HTML

so \$VIMRUNTIME/syntax/2html.vim avec Vim en mode commande convertira le texte en texte html. Sauvegarder avec :w file.html et :q. Très utile pour du code C, etc.


11.3.8 Ecran scindé avec vim

vim peut éditer plusieurs fichiers dans un environnement multi-fenêtré en scindant l'écran. Tapez :help usr_08.txt pour plus de détails.

Pour scinder l'écran pour afficher différents fichiers, tapez à l'invite de commande de vi :

     :split another-file
     :vsplit another-file

Ou à l'invite du shell :

     $ vi -o file1.txt file2.txt   # Séparation horizontale
     $ vi -O file1.txt file2.txt   # Séparation verticale

lancera vi en mode multi-fenêtré.

     $ vimdiff file.txt~ file.txt         # donne les changements récents
                                            de file.txt
     $ vimdiff file.en.sgml file.fr.sgml  # donne les changements dans la
                                            traduction
     $ gvimdiff file.txt~ file.txt        # sous X

fournit une vue sympa des différences entre un original et un fichier de sauvegarde. En SGML, cela fait la correspondance des balises, donc comparer les traductions dans ce mode marche très bien.

Mouvements spéciaux du curseur avec CTRL-W :

     CTRL-W +      augmente la taille d'une fenêtre
     CTRL-W -      réduit la taille d'une fenêtre
     CTRL-W h      se déplace vers la fenêtre de gauche
     CTRL-W j      se déplace vers la fenêtre en dessous
     CTRL-W k      se déplace vers la fenêtre au dessus
     CTRL-W l      se déplace vers la fenêtre de droite
     ...

Les commandes suivantes permettent de contrôler le défilement de l'écran :

     :set scrollbind
     :set noscrollbind

[ précédent ] [ Table des matières ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ] [ 10 ] [ 11 ] [ 12 ] [ 13 ] [ 14 ] [ 15 ] [ A ] [ suivant ]


Guide de référence pour Debian

CVS, jeu 18 jan 2007 11:52:23 UTC

Osamu Aoki osamu#at#debian.org
Traduction en Français : Guillaume Erbs gerbs#at#free.fr
Auteurs, Section A.1