Gemacht: Die Okt 21 13:00:00 CEST 1997 Letztes Update: Die Okt 21 13:30:00 CEST 1997
Wer sich *nicht* mit dem vim auseinandersetzt, sollte ihn
auf keinen Fall benutzten, weil er groesser als andere
vis ist. Fuer solche Faelles sollte dann elvis 1.0 oder xvi benutzt
werden.
Elvis 1.0 ist wohl der kleinste vi-clone, der vorhanden ist.
ES gab Zeiten, da habe ich zwischen verschiedenen VI -Editoren
hin - und hergewechselt.
Diese Zeiten sind nun bis auf wenige Situationen, wo ich elvis2
benutze (hex-modus, html-modus, man-modus) , nicht mehr vorhanden.
vim schlaegt alle anderen Vi-Clones und das mit riesigem Abstand.
Vim hat unheimlich viele Verbesserungen gegenueber dem vi.
( Der Vim ist ein Super-vi, nicht ein normaler Vi-clone!!!! )
Dazu gehoeren unter anderem:
1. multiple undos voreingestellt. Jedes undo loescht eine
neue Editierung. Zurueck geht es auch wieder mit Control-R.
Jetzt macht suspend erst richtig Spass!
2. riesige Dateien koennen editiert werden!
3. ein Aktions-Recorder, mit dem man Kommandos aufnehmen kann.
4. Perl-Modus einkompilierbar.
5. sehr ausgefeilter highlighting-modus fuer viele Sprachen.
Hier laesst sich detailiert einstellen, welche Farben
man wo will. Auch das normale Schwarz-Weiss-Verhalten
ist problemlos moeglich.
6. auto-Kommandos, d.h Aktionen, die bei bestimmten Dateien
beim Lesen oder Schreiben vorher oder nachher ausgefuehrt werden
koennen.
z.B: au BufRead *.c,*.h 1;/^{ :
Hier wird bei der 1.Funktion (1;/^{) beim Einlesen des
Buffers eines C-Files der Cursor gestartet.
z.B.: das automatische dekomprimieren von Dateien und
abschliessendes Wiederkomprimieren.
und 1000 andere Moeglichkeiten.
: h[elp] au[tocmd] gibt mehr Infos!
7. Vim ergaenzt eigene Kommando-Anfaenge im Ex-modus
durch die TAB- Taste.
8. einen grossen Hilfe-Modus. (Alle nicht-vi-Kommandos sind
gekennzeichnet.)
9. xwindows-Version (Motif/Athena -Version).
10. 'ga' Befehl zeigt den Ascii-Wert , Hex- und Octal-Wert
von dem unter dem Cursor befindlichen Text
11. 'gd' springt an den Anfang von lokal deklarierten
Variablen. (sehr nuetzlich, wenn man nach dem
Initialwert und dem Typen
sucht. Mit 'control-o' gelangt man wieder zurueck dahin,
von wo man gesprungen ist. gD springt an den Anfang von
globlal
deklarierten Variablen
12. vim hat einen sogenannten Quick-fix mode fuer den Kompilier- Edit-Prozess:
Zitat:
"Vim has a special mode to speedup the
edit-compile-edit cycle." "The idea is to save the
error messages from the compiler in a file and use Vim
to jump to the errors one by one. You can then examine
each problem and fix it, without having to remember all
the error messages."
13. vim hat einen select-modus v.
Hiermit kann Text ausgewaehlt werden.
Zusaetzlich kann mit a danach wordweise ausgewaehlt werden.
14. in vim koennen ausser dem control und insert-mode
auch separat der Doppelpunk-modus (ex-modus)
mit Tastatur-Belegungen versehen werden.
Ebenso ist auch der visual Modus v belegbar.
versehbar.
15. vim hat eine Jump-Liste. Man kann sehen, wo der Cursor
gestanden hat mit :ju und mit control-o und control-i kann
man dann bequem hin-und herspringen.
Ebenso existiert eine :map -Liste und eine Register-Liste.
16. vim erlaubt es, durch [I alle Vorkommen eines Wortes
zu zeigen, wenn man auf dem Wort ist, sonst [i fuer das
erste Vorkommen. siehe :h [I und andere solche Features.
( alle Vorkommen faengt bei den header-files an!!!!!!!!!!
Geht also auch in zum Programm gelinkte Teile.
17. Mit 3 K kann man die unter dem Cursor befindlichen
Worte in man 3 nachschlagen. Dazu kann mit `set keywordprg=man' definiert
werden,dass man immer dann aufgerufen werden soll.
18. vim5 laesst das Pipen von Text zu.
`cat * | vim -' geht.( So eine Funktion hat der vile schon
seit 3 Jahren.)
Anwendungsmoeglichkeiten: statt less verwendbar, praktisch,
weil er viele, viele Features hat, die praktisch sein koennen.
Ich verwende vim sogar, um groessere Emails zu lesen, indem
ich von elm aus eine Pipe mache.
Allerdings ist der nvi , was das betrifft ed-maessiger:
`echo "1,4p" | nvi -e' text klappt hier auch.
Finde ich persoenlich nicht wichtig.
Und vim ist noch lange nicht am Ende der Entwicklung.
19. vim erlaubt das Ergaenzen von Worten mittels control-n.
vim fuehrt jetzt durch erneutes Druecken von control-n
jeweils die naechste Ergaenzung auf.
Mit control-p kann man wieder zurueck zur vorigen Ergaenzung
gelangen. Somit werden bequem ausfuehrliche Variablennamen
moeglich, was anderen das Lesen von Source-code erheblich
erleichtern kann.
Ebenso lassen sich Wortanfaenge als Dateien ergaenzen mittels
Control-xf.
20. vim hat eine :ex -history, eine Search-history.
Also kann man wunderbar alte Kommandos verbessern.
21. vim kann man entweder als x-windows-gui-version oder
als Text-Version normal kompilieren.
22. vim kennt Variablen und kann rechnen.
23. vim kennt einen Sleep-Befehl und pausiert dann x Sek.
Es ist einfach voellig unmoeglich, alle Befehle aufzufuehren.
Fazit: vim wird zur kleinen Konkurrenz von Emacs. Wenn man den vim
benutzten will, sollte man auf jeden Fall den REFERENCE-guide *lesen*.
Sonst lernt man diese tollen Moeglichkeiten niemals kennen.
Allerdings kann der Emacs wohl auf absehbare Zeit immer noch mehr :)
(Aber auch oft ueber Klammer-griffe. Da ist der Vim bequemer.)
Vorsicht:
VIM MACHT SUECHTIG!
Wer einmal mit ihm anfaengt, benutzt viele andere
VIs -wenn ueberhaupt noch- leicht mit Features, die normale VIs nicht
haben und auch sehr wahrscheinlich nicht haben werden.
(der vim Ref-guide fuehrt 317 mal allein "not in Vi" auf)
So sollte man, um den Standard-VI kennenzulernen, lieber einen ganz
kleinen VI nehmen wie elvis1. Aber der vim ist auch als vim -v aufrufbar
und verhaelt sich dann kompatibel oder laesst sich sogar als kompatibler
vi kompilieren. Der groesste Charm des Standard -vi ist wahrscheinlich
seine Groesse. Die vielen Unannehmlichkeiten, die er aufweist, sind
ja vielleicht auch nicht wichtig, aber der vim ist vielfach einfach
logischer, viel bequemer und viele wollen normalerweise nichts anderes
mehr. Wichtigstes Feature bleibt fuer mich multiple undo, aber auch viele andere
Features benutzte ich immerzu. (Natuerlich ist dieser Text mit dem vim
geschrieben. )
Copyright © 1997: Wuehlmaus FunProductions