|
VI - God's own EditorVI ist unkomfortabel, kommt ohne bunte Icons daher, hat sogar die Frechheit ohne X Oberfläche existieren zu wollen und VI ist bestimmt einer der am schwierigsten zu erlernenden Editoren überhaupt. Eigentlich ist VI schon gar kein Editor mehr, sondern ein komplettes System, das vom Editieren von Texten bis hin zum kompletten Mailclient, gar zur Benutzeroberfläche, fast alles kann. Wenn man weiß wie. Deswegen erfolgt hier eine, lange versprochene und überfällige Einführung zum VI iMproved, dem Editor, der auf 99 % aller Distributionen dabei ist. Um diesen Editor zu benutzen, sollte man den festen Willen haben, Linux professionell zu nutzen oder zu programmieren. Wer dies nicht will, sollte sich "nedit" installieren. Ein guter X Editor. vim ist definitiv die beste Wahl, erfordert aber Einarbeitung Vielleicht etwas abschreckend - aber Tatsache. Es gibt auch eine X Variante von vim, die aber 'nur' Menues mitbringt, keine Icons. Vielleicht ein guter Mittelweg ?! Grundlage des VIM ist der seit 1984 im Einsatz befindliche VI. Obwohl das nun schon gute 16 Jahre her ist, entwickeln die meisten mir bekannten Programmierer immer noch mit Ihm - und das aus gutem Grunde. Vermutlich werden die meisten Windowsum- oder Linuxeinsteiger dem VI nicht viel abgewinnen, zu umständlich mutet die Bedienung an. Keine Maus, nur das Keyboard wird benutzt - komplizierte Kommandos sind zu benutzen... alles das was heutzutage als Todsünde betrachtet wird. Doch genau das macht aus dem vim die erste Wahl zur Programmentwicklung. Die erste Hürde, an der viele User gefrustet umkehren, sind die Betriebsmodi des vim.
Das klingt auf den ersten Blick vielleicht etwas kompliziert, macht aber beim Arbeiten dann doch Sinn. Die strikte Trennung der Modi ist hier einfach notwendig, weil es keine Menüs gibt. Alle Eingaben erfolgen daher im Programmfenster. Verlaufen ? Kein Problem - einige Male auf die ESC Taste gedrückt und Ihr befindet Euch wieder im Operativmodus. Das wird Euch am Anfang oft, hinterher weniger oft passieren. Vielleicht irgendwann gar nicht mehr. Beginnen wir vorne : Der Programmstart des vim :
All das hat durchaus seinen Sinn. Der letzte Aufruf zum Beispiel ist immer dann nützlich, wenn ich auf der Startseite nur etwas unter "Neues" eintragen will. Ich lande genau da, gebe die neue Seite ein und beende. Ohne scrollen, suchen und andere lästige Dinge. Navigationvim ist ein Multidateieneditor. Das macht sich bei der Entwicklung von Internetprojekten besonders positiv bemerkbar. Man ruft einfach die 3 wichtigsten Dateien auf und kann problemlos zwischen Ihnen wecheln. Dazu gibt es im wesentlichen 3 Möglichkeiten : kurzer Einschub - [ESC]Befehlskürzel bedeutet : 1 x ESC, 1 x Doppelpunkt, Befehl sofern Ihr nicht ohnehin im Kommandomodus seid. Wenn Ihr also mitten im Editieren seid und zur nächsten schließenden Klammer wollt dann müßt Ihr ESC% eingeben.
Bewegen kann man sich im Text mit den Cursortasten oder , falls man sich auf dem Laptop nicht die Finger brechen will, mit :
Das war es ;) Mehr fällt mir im Moment nicht ein, mehr habe ich also auch nie gebraucht. Natürlich lassen sich auch die Befehle h,j,k,l,w und b mit beliebigen Zahlen kombinieren ! So. Bewegen kann man sich, Dateien aufmachen auch, von einer Datei zur anderen springen klappt auch schon... wann zum Geier wird also endlich was geschrieben ? Jetzt ;) TexteingabeZur Texteingabe werden im vim, wie in jedem anderen Editor auch, die Tasten auf dem Keyboard verwendet. Wenn Ihr dort ein "h" antippt, bestehen gute Chancen das eben dieses h auch auf dem Monitor auftaucht. Mehr gibt es eigentlich nicht zu sagen ;) Oder doch... stimmt .... das Ding mit den Modi. Wie bereits gesagt, hat vim verschiedene Betriebsmodi. Um einen Text einzugeben, müsst Ihr erst in den Einfügemodus. Diesen betretet Ihr mit :
Jetzt könnt Ihr anfangen zu tippen, die kleinen Tasten.. remember ? Je nachdem wie gut Ihr seid, kommt es durchaus vor das Ihr Euch verschreibt. Von daher hat vim natürlich jede Menge Befehle zum löschen von Texten.
Die letzten beiden Befehle bedürfen einer Erklärung. vim besitzt sowas wie eine interne Adressierung für Textobjekte. Das Zeichen "^" steht dabei für den Zeilenanfang, "$" für das Ende einer Zeile bzw. Dateiende im Operativmodus (:). Die aktuelle Cursorposition wird, wie in Linux selbst, mit einem . bezeichnet. Der Text von aktueller Position bis zum Dateianfang ist also mit :
adressierbar. d steht für löschen. So das sich das Beispiel wie oben ergibt :
Wenn nichts anderes angegeben wird, bezieht sich jeder Befehl auf die aktuelle Position. Der Punkt ist also optional. So ergibt sich dann 1,d. Eine weitere Bedeutung des Punktes im Operativmodus ist die Befehlswiederholung. Hierfür ist der Punkt ohne weitere Zeichen einzugeben.
Alle Änderungen können auf einfache Weise verworfen werden.
Die Option U scheint nicht immer zu funktionieren ! Andererseits kann u offenbar viel mehr Änderungen rückgängig machen als nur die letzte. Im Original VI war es so, das man sobald die aktuelle Zeile verlassen wurde, nichts mehr verwerfen konnte. vim handhabt das ganze offenbar etwas moderater. Seek and Destroy.. oder suchen und ersetzenWichtig für jeden Programmierer ist die Möglichkeit eingegebenen Text zu suchen, zu ersetzen und auf jede denkbare Weise zu ändern. Hier spielt vim seine ganze Kraft aus. Kaum ein Editor kann soviel mit nur 4 Tastenbefehlen. Wer sich über die kryptische Bedienung des vim beschwert, sollte bedenken : Er selbst macht im normalen Editor nichts anders ! Am Beispiel :htlm statt html getippt
In beiden Fällen verwandelt sich das Wort, mit 4 Aktionen, in "html". Der Umstand existiert meistens nur im Kopf der User. Wörter mit der Maus markieren, im Dateimenü auf Kopieren zu gehen, die neue Stelle zu suchen, auf Einfügen zu gehen - all das sind Befehle. Vorteil der Maus : Intuitiv. Vorteil vim : Die Hände bleiben am Keyboard, ihr seid mit etwas Übung schneller. Widmen wir uns den Fähigkeiten des vim auf diesem Gebiet. Das Entfernen von Vertippern habe ich ja eben kurz beschrieben. Die Befehlsabfolge :
In der Übersicht kurz die wichtigsten Befehle :
d e löscht ein Wort, e springt an das Ende des folgenden Wortes, und p hängt das gelöschte Wort, das ich momentan im Zwischenspeicher befindet, einfach hinten an. Eine gute Gelegenheit den Zwischenspeicher kurz zu erwähnen. Um eine Zeile aus dem Text zu löschen und langfristig in den Zwischenspeicher zu legen, benutzt man folgendes Kommando :
vim stellt Euch 26 derartige Textbuffer zur Verfügung. Diese werden mit den Kleinbuchstaben von a - z angesprochen. Ein bunter Strauss voll Textablage. Windowsuser, afaik, sollen ja noch mit einem Text auskommen müssen... nunja :). Die Ablage existiert nur im Arbeitsspeicher - beendet Ihr vim, gehen die Texte verloren ! Wer suchet, der findet...Eine weitere Stärke von vim ist das Suchen und Ersetzen von Text. Der Suchmodus wird generell durch das Kommando [ESC] / eingeleitet. Daraufhin erfolgt die Eingabe der zu suchenden Zeichenkette. Das Kommando n durchsucht den Text dann weiter nach der Zeichenkette. In 98 % aller Fälle sucht man etwas um es dann, durch etwas anderes, zu ersetzen. Das Ersetzen eines Strings durch einen anderen erfolgt dann wieder im Kommandozeilenmodus :
Das große Plus bei vim ist die Möglichkeit alle regulären Ausdrücke, die auch in Linux selbst vorkommen, verwenden zu können. Reguläre Ausdrücke sind z.B.
So lassen sich sehr komplexe Suchmuster zusammenbasteln. Wenn Ihr, zum Beispiel, HTML Code
in einer HTML Seite anzeigen lassen wollt, muss
Hier noch die fehlenden Übersichten zum Suchen und Ersetzen. Alle Befehle lassen sich natürlich auch hier mit einer Mengenangabe versehen, die dann wieder vor dem eigentlichen Befehl kommt. ([ESC] 3x z.B. löscht 3 Zeichen vom Cursor aus nach rechts) :
Auch hier wieder Mengenangaben : [ESC] 10y , kopiert die nächsten 10 Zeichen
Das erstmal dazu. Die Befehlsübersicht ist definitiv nicht komplett. Einmal ist das auch kaum zumachen, zum zweiten gibt es ein ganz tolles Manual und drittens verkauft Lehmanns Onlinebuchhandlung diese VI Tasten mit einer Befehlsreferenz drauf. Die Teile haben den Vorteil das man auch Kaffee draus trinken kann. Ich find die praktisch und habe 3 Stück. Zusammenarbeit und TextübernahmeEine der Stärken von Linux und allen gut programmierten Applikationen ist Ihr Zusammenspiel untereinander. So ermöglicht es vim natürlich jegliche Art der Ausgabe eines anderen Programmes direkt in einen Text zu schreiben :
und bedeutet übersetzt soviel wie
Setup, Makros und KonfigurationszauberMakros sind etwas wunderbares. Wer beispielsweise viele HTML Seiten mit Hand erstellt, tippelt immer wieder die gleichen Tags. Sei es html, body, head, input type... was auch immer. Dafür bietet es sich doch an die Funktionstasten mit eben diesen Texten zu belegen. Mit vim ist das recht einfach :
legt zum Beispiel die obige Sequenz auf die Taste F1. Wenn man diese jetzt mit [ESC]<F1> aufruft, erhält man dieses : <html> <head> <title></title> </head> <body> </body> </html> Das Grundgerüst einer HTML Datei also. Fertig zum Einsatz. Gleichermaßen kann man mit Meta Tags verfahren oder allen, ständig wiederkehrenden, Texten. Als Makro kann alles eingegeben werden. Wer jetzt den VI beendet wird das Makro allerdings vergeblich suchen. Vim verliert die Einstellungen beim beenden. Damit kommen wir zum Setup und der Datei ".exrc", die man in seinem Homeverzeichnis anlegt. Inhalt könnte sein :
Und so weiter. Eine komplette Liste der Einstellungen im vim bekommt man mit dem Befehl [ESC] : set all. Weitergehende Hilfe für die einzelnen dort gelisteten Befehle mit [ESC] : help Einstellung. Das soll es, erst einmal, gewesen sein. Im Laufe der Zeit folgen noch "Syntaxhighligthing" und eine kurze Liste der wichtigsten Einstellungen in deutsch. Bis dahin, viel Spaß beim vimmen. | |||||||||||||||||||||||||||