Ja , ich benutze vi, das geb ich ja zu. Aber ich zumindest bin nicht so bloed, diesen bloeden Streit zwischen vi- und emacs-Anhaengern anzuhaengen. Beide Editoren haben verschiedene Ziele und deshalb ist ein Vergleich sowieso problematisch. Es gab einmal Zeiten, da machte das Sinn, da war der Gnu-Emacs so riesig im Verhaeltnis zum internen Speicher, dass es oft problematisch war, ihn zu benutzen, vor allem 3mal auf dem selben Rechner eine Katastrophe. Heutzutage ist die Situation anders: Viele Computer werden so schnell und haben so viel internen Speicher, dass "Emacs constantly swapping" einfach keinen Sinn mehr macht, es sei denn, man hat einen sehr langsamen Computer und sehr wenig internen Speicher. Probleme gibt es allerdings, wenn mehrere Nutzer auf dem selben Rechner arbeiten. Als ich vor 10 Jahren den micro-emacs auf dem Atari ST kennenlernte, wusste ich nichts vom gnu-emacs. Aber, dass der emacs ausser Kaffekochen so ziemlich alles kann, das wurde mir auch schnell klar, als ich ihn dann 1994 entdeckte. Emacs nicht zu kennen, bedeutet, eines der groessten Reservate an Problemloesealgorithmen beim Editieren von Dateien nicht zu kennen. Insofern rate ich jedem, zumindest einmal einen laengeren Blick auf ihn zu werfen. Der Author des Emacs ist der Gruender der Gnu-Bewegung, welcher wir einen Grossteil aller Software fuer Linux und den Erfolg von Linux verdanken. ( Es gibt allerdings auch noch die Berkley-Distribution, die einen grossen Teil von freier Software beisteuert!) Er hat ausserdem den Gnu-C-Compiler , make, cat und ls geschrieben. Allein das sollte ein Anlass sein, sich den Emacs auch anzusehen. Dabei scheint mir eine Vorueberlegung wichtig zu sein. Den Emacs ruft man einmal auf und behaelt dann immer offen, da das einmalige Laden des Emacs Zeit dauert. Er ist halt einfach riesig, kann aber auch riesig viel! Dagegen ist der vi wirklich ein kleiner Editor, der deshalb auch in den Situationen angebracht ist, wo man nur kurz etwas machen will. Da man den Emacs wie einen vi benutzen kann, eruebrigen sich auch fuer die vi-User lange Ueberlegungen, wie man editieren kann. Schwierig ist nur das Anlegungen von Abkuerzungen. Hier ist der viper- mode leider ueberhaupt nicht vi-maessig :(. ESC-x viper-mode ruft den vi im Emacs auf. Dabei kann man alle Emacs-Kommandos zusaetzlich weiterbenutzen! Man schaltet einfach mit Control-z um. Man hat also ueberhaupt keine Einbussen an der Maechtigkeit von Emacs !!!! Warum plaediere ich fuer den Emacs, wenn ich den vim und den Elvis2 mag: Ganz einfach: Viele Progammiersprachen werden mit Emacs unterstuetzt. Unter vi gibt es da erst einmal kaum Unterstuetzung, man muss sich alles muehsam aus dem Internet zusammensuchen. Nicht zu verachten ist die Moeglichkeit, unter Emacs alles unter einem Dach zu haben, es entfaellt also die Noetigkeit, staendig neue Anwendungen zu erlernen. Auch unbequeme Programme ohne History wie ftp, wish, gs koennen unter Emacs mit einer History aufgerufen werden. Emacs erklaert sich selbst, das ist eine Eigenschaft, die der vi-clone so nach und nach lernt, aber nicht von Anfang an mitgebracht hat. Emacs bringt auch ein Tutorial mit. Der Emacs enthaelt alle Befehle in verstaendlichem Englisch. Beim vi muss man alle Befehle auswendig wissen. (Allerdings sind die vim und elvis2.0 -Programmierer dabei, sich immermehr in dieser Hinsicht dem Emacs anzupassen. Aber das wird noch Jahre dauern, der Emacs hat schon mehr als 15 Jahre hinter sich) Was kann der Emacs? Gegenfrage: Was kann er nicht? Emacs kann in komprimierten Dateien editieren und dabei die Dateien lesen, als seien sie entpackt. Er kann in getarten und gezippten Dateien arbeiten, als seien sie schon entpackt, d.h. man kann sogar darin schreiben. Unglaublich!!!. Man kann mit ihm Shell-Programmierung machen und er kommt einem dabei sehr entgegen. Man kann tcl mit ihm programmieren, perl, python, natuerlich c, fortran, pascal,java,tex,latex. Emacs ermoeglicht das konfortable Lesen von unterschiedlichen Dateien mit ediff. Man kann unter ihm die Shell laufen lassen. Web-Browsen geht mit Xemacs. Ebenso Newsgroups lesen, Email lesen. Und sicher tausend andere Sachen. Sogar Sprachsteuerung geht mit Emacs. Emacs unterstuetzt auch auslaendische Schriften. Vermutlich ist Emacs eines der gigantischsten Progamme, das jemals entwickelt wurde unter der Gnu-Bewegung. Man muss den Emacs ja nicht immer nehmen, mach ich auch selten. Aber irgendwann will man dann halt doch das eine oder andere, was auf gar keinen Fall mit den sehr guten vim/vile/elvis2 geht oder aber erst langes Nachdenken erfordert. Also: Wer den Emacs ueberhaupt nicht ernst nimmt, der hat einfach keine Ahnung, was der Emacs alles kann. Emacs ist unglaublich: Waehrend der Vi langsam moderniesiert wird, ist der Emacs seiner Zeit wahrscheinlich um Jahre voraus gewesen und dieser Vorsprung ist nicht aufholbar. Es gibt ausserdem immer die Moeglichkeit, Emacs -artige Editoren zu benutzen, die viel kleiner sind als der Gnu-Emacs. Ich nenne hier nur mal microemacs (hat ungefaehr die Groesse von elvis1) , jed und joe. Auch pico, aXe und viele anderen Editoren benutzen Emacs-Kommandos. IRC arbeitet mit Emacs-Kommandos. Wahrscheinlich hunderte von anderen Programmen der Gnu-Bewegung wie z.B info, das oft eine wichtige Ergaenzung von man ist. Ausserdem auch pine und mc! Zum Schluss: set -o emacs unter der bash oder bindkey -e unter der zsh und der tcsh ermoeglicht es auch, die wichtigsten Emacs-Kommandos zu lernen. Ausserdem verfuegt der emacs-mode in der Grund- einstellung ueber viel mehr Belegungen, die man sich im vi-mode erst selbst belegen muss. z.B: control-_ ermoeglicht ein multiple-undo. das u vom vi dagegen ist nur ein Schalter zwischen 2 Zustaenden. Alle Tastatur-Kommandos sind beim Emacs im Gegensatz zum vi in keiner Weise festgelegt, alles laesst sich umdefinieren. In dieser Hinsicht ist emacs also auch wesentlich flexibler als der vi. Alle Kommandos lassen sich automatisch ergaenzen. ESC-x TAB zeigt alle Funktionen auf. TAB ergaenzt wie in der bash Kommandos. Fazit: Emacs ist ein gross(artig)er Editor und ihn gegen den vi ausspielen ist albern und unfair zugleich, da beide verschiedene Vorteile haben. Emacs wurde meines Wissens aber auch erst in den 80er Jahren programmiert. vi stammt dagegen aus dem Jahr '76 und die Tradition geht noch laenger zurueck, weil der Ex-modus auf dem Ed-modus aufbaut. Nachtraege: Emacs kennt seit 1992 (!) die Moeglichkeit, Namen zu ergaenzen. Dies geschieht mittels ESC-x hippie-expand. z.B kann man so muehelos den Anfang von einer Zeile ergaenzen, den man schon einmal irgendwo geschrieben hat. Aus einer Liste von Worten lassen sich auch Worte ergaenzen. Der 'Donaudampfschiffartskapitaen' ist also nur beim ersten Mal ein Problem, dann kann man hippie-expand anwenden. Dieses Kommando wurde in neuerer Zeit auf aehnliche Weise im vim implementiert, aber Emacs kennt diese Moeglichkeit seit '92!