Dans ce chapitre de l'annexe, nous allons décrire les deux éditeurs de texte les plus communément utilisés sous UNIX :
"vi" est l'éditeur de texte de base sur tout système
UNIX. Il est livré systématiquement et utilise toutes les notions de
syntaxes vues avec les utilitaires comme "sed" et "awk" (cf. sections et
). Il
fonctionnera sur tout type de terminal, même sur un terminal
télétype19.1. "vi" n'est pas réputé pour
sa convivialité. Il demande un certain temps d'adaptation. Une fois que
l'on a réussi à s'y habituer, son utilisation devient aisée et toutes
ses fonctionnalités sont très rapides d'accès.
"emacs" est un éditeur de texte du domaine public, livré maintenant en standard sur certains UNIX (comme "Digital UNIX" 19.2, "LINUX"19.3 "Irix"19.4). Dans le cas contraire, vous devrez aller chercher les sources et les recompiler sur votre machine19.5. Cet éditeur fonctionne aussi sur d'autres systèmes d'exploitation comme MacOS, Windows et OpenVMS. "emacs" est beaucoup plus facile d'approche que "vi". Toutefois, une utilisation poussée de cet éditeur montre que, lui aussi, nécessite un apprentissage d'un nombre impressionnant de séquence de touches19.6
"emacs" est entièrement reprogrammable. En effet, il s'appuie sur un moteur Lisp19.7. On peut donc développer toutes les extensions que l'on désire grâce à ce langage. "emacs" se rapprocherait donc de l'éditeur "LSE"19.8et du langage associé "TPU"19.9. De nombreuses extensions ont été réalisées pour "emacs", à un point tel que certaines personnes s'en servent comme un environnement de travail complet (gestionnaire de fichiers, logiciel de messagerie, navigateur Web, environnement de développement, etc.). Il existe une version allégée d'"emacs" sans le moteur Lisp: "micro-emacs".
Remarque 19..1 :
Il est possible de se programmer un environnement d'édition avec "vi", mais il n'est pas programmable au sens où on l'entend pour l'éditeur "emacs".
Remarque 19..2 :
Il existe d'autres éditeurs de texte sous UNIX, mais moins répandus ou bien spécifique à un constructeur comme :