Ich habe mich auch im Anfang schwer getan mich von meiner heimeligen Bash zu trennen, aber jetzt nach ein paar Wochen kann ich sagen daß ich den Umstieg nicht bereue: Ich benutze jetzt die Z-Shell, oder kurz: die zsh.
Auf die Idee bin ich gekommen nachdem ich bei der letzten Server-Umrüstung einige Male von einer GRML-CD (übrigens auch einen Blick wert!) booten mußte. In GRML findet man sich per Default in einer zsh innerhalb einer screen-Session wieder. Alles ist prächtig vorkonfiguriert, und die Features die ich auf den ersten Blick sehen konnte haben mich neugierig gemacht.
Mein Tip zum Überzeugen:
zstyle ':completion:*' menu yes select
Mit einem solchen Eintrag in der Konfigurationsdatei bewirkt man, daß bei einer Completion (Druck auf die [TAB]-Taste, ähnlich wie in der Bash) die möglichen Einträge nicht nur aufgelistet werden, sondern quasi in einem Textmenü zur Auswahl stehen. Den gewünschten Eintrag sucht man sich mittels der Pfeiltasten aus. Die herkömmliche Completion (weitere Zeichen eintippen, nochmal auf [TAB] drücken, usw.) funktioniert natürlich nach wie vor.
Und damit nicht genug: in der zsh werden nicht nur Kommandos, Verzeichnis- und Dateinamen vervollständigt. Auch Hostnamen, Benutzernamen und (was ich gerade erst festgestellt habe — daher jetzt der enthusiastische Artikel ) Parameter für Kommandos! Wenn man also die Dateien in seinem Verzeichnis der Größe nach aufgelistet haben will, einem aber natürlich der entsprechende Parameter entfallen ist, tippt man einfach
ls -[TAB]
Daraufhin werden alle Optionen von ls samt einer Kurzbeschreibung aufgelistet, natürlich kann man dann in der Liste interaktiv -S aussuchen.
Dankenswerter- und zufälligerweise hat ziemlich zeitgleich mit meinem aufflammenden Interesse an der zsh Frank Terbeck eine Artikelserie zu dem Thema in seinem Blog begonnen. Ich empfehle jedem Shell-Hacker die Lektüre, und ein paar Probestunden in der zsh. Danach kann dann ja immer noch jeder für sich entscheiden…
@Frank, falls Du das hier liest: Als nächstes hätte ich gerne eine solche Einführung für screen…