VIM(1) General Commands Manual VIM(1) BEZEICHNUNG vim - Vi IMproved, ein Text-Editor fur Programmierer UBERSICHT vim [Optionen] [Datei ...] vim [Optionen] - vim [Optionen] -t Tag vim [Optionen] -q [Fehlerdatei] ex view gvim gview evim eview rvim rview rgvim rgview BESCHREIBUNG Vim ist ein Text-Editor, der aufwartskompatibel zu Vi ist. Er kann verwendet werden, um alle Arten von Klartext zu bearbeiten. Er ist besonders nutzlich, um Programme zu bearbeiten. Vim hat eine Menge an Erweiterungen gegenuber Vi, z.B.: Mehrstufiges Ruckgangigmachen, mehrere Fenster und Puffer, Syntax-Hervorhebung, Bearbeiten der Befehlszeile, Dateinamenerganzung, eingebaute Hilfe, visuelle Auswahl, usw. ... Siehe >>:help vi_diff.txt<< fur eine Ubersicht der Unterschiede zwischen Vim und Vi. Im laufenden Vim kann mit dem Befehl >>:help<< viel Hilfe durch das eingebaute Hilfesystem erlangt werden. Siehe den Abschnitt EINGEBAUTE HILFE weiter unten. Meistens wird Vim zum Bearbeiten einer einzigen Datei mit dem folgenden Befehl gestartet: vim Datei Allgemeiner betrachtet, wird Vim folgendermassen gestartet: vim [Optionen] [Dateiliste] Bei einer fehlenden Dateiliste startet der Editor mit einem leeren Puffer. Andernfalls werden eine oder mehrere Dateien mit einer der folgenden vier Optionen bearbeitet: Datei ... Eine Liste von Dateinamen. Die erste Datei wird in den Puffer geladen und zur aktuellen. Der Cursor wird auf der ersten Zeile des Puffers platziert. Zu den anderen Dateien kann mit dem Befehl >>:next<< gelangt werden. Falls einer der Dateinamen mit einem Bindestrich beginnt, stellen Sie der Dateiliste >>--<< voran. - Die zu bearbeitende Datei wird von der Standardeingabe gelesen. Befehle werden von der Standardfehlerausgabe gelesen, die ein Text-Terminal sein sollte. -t {Tag} Die zu bearbeitende Datei und die anfangliche Cursor-Position hangen von einem >>Tag<< ab, einer Art Sprungmarke. {Tag} wird in der Tag-Datei nachgeschlagen, die zugehorige Datei wird zur aktuellen und der zugehorige Befehl wird ausgefuhrt. Dies wird meistens fur Programme in der Sprache >>C<< benutzt, wobei {Tag} ein Funktionsname sein konnte. Die Wirkung dieses Befehls ist, dass die Datei, die die Funktion enthalt, als aktuelle im Editor geoffnet und angezeigt wird und der Cursor auf dem Beginn der Funktion positioniert wird. Siehe >>:help tag-commands<<. -q [Fehlerdatei] Startet im QuickFix-Modus. Die Datei [Fehlerdatei] wird gelesen und der erste Fehler wird angezeigt. Falls [Fehlerdatei] ausgelassen wird, wird der Dateiname aus der Option >>Fehlerdatei<< ermittelt (auf dem Amiga ist dies standardmassig >>AztecC.Err<<, sowie >>errors.err<< bei anderen). Weitere Fehler konnen mit dem >>:cn<<-Befehl angesprungen werden. Siehe >>:help quickfix<<. Vim reagiert in Abhangigkeit vom benutzten Programmnamen unterschiedlich (die ausfuhrbare Datei kann dieselbe sein). vim Der >>normale<< Weg, alles ist standardmassig. ex Startet im Ex-Modus. Mit dem Befehl >>:vi<< gelangen Sie in den normalen Modus. Funktioniert auch mit dem Argument -e. view Startet im schreibgeschutzten Modus. Die Datei wird vor dem Uberschreiben geschutzt. Dasselbe wird mit dem Argument -R erreicht. gvim gview Startet die grafische Version. Offnet ein neues Fenster. Dasselbe wird mit dem Argument -g erreicht. evim eview Startet die grafische Version im einfachen Modus. Offnet ein neues Fenster. Dasselbe wird mit dem Argument -y erreicht. rvim rview rgvim rgview Wie die obigen, aber mit Beschrankungen. Es ist nicht moglich, Shell-Befehle aufzurufen oder Vim zu suspendieren. Dasselbe wird mit dem Argument -Z erreicht. OPTIONEN Die Optionen konnen in beliebiger Reihenfolge vor oder nach den Dateinamen angegeben werden. Optionen ohne Argument konnen hinter einem einzigen Bindestrich gruppiert werden. +[Nummer] In der ersten Datei wird der Cursor auf die Zeile [Nummer] gesetzt. Falls [Nummer] nicht angegeben wird, wird der Cursor in die letzte Zeile der Datei gesetzt. +/{Suchmuster} In der ersten Datei wird der Cursor auf das erste Auftreten von {Suchmuster} gesetzt. Siehe >>:help search-pattern<< fur die verfugbaren Suchmuster. +{Befehl} -c {Befehl} {Befehl} wird nach dem Lesen der ersten Datei ausgefuhrt. Als {Befehl} wird ein Ex-Befehl erwartet. Sind in {Befehl} Leerzeichen vorhanden, muss er in Anfuhrungszeichen gesetzt werden (hangt von der verwendeten Shell ab). Beispiel: >>vim "+set si" main.c<< Anmerkung: Sie konnen bis zu zehn +c- oder -c-Befehle verwenden. -A Falls Vim mit Unterstutzung fur das Schreiben von rechts nach links und arabischer Tastaturbelegung compiliert wurde (ARABIC), startet dieser Parameter den Modus furs Arabische (:set arabic). Anderenfalls beendet sich Vim mit einer Fehlermeldung. -b Binarer Modus: Es werden einige Variablen gesetzt, sodass es moglich ist, eine binare oder ausfuhrbare Datei zu bearbeiten. -C Kompatibler Modus: Setzt die Option >>compatible<<. Das macht Vim im Verhalten sehr ahnlich zu Vi, selbst wenn eine .vimrc-Datei existiert. -d Diff-Modus: Es sollten von zwei bis zu acht Dateinamen als Argumente ubergeben werden. Vim offnet sie alle und zeigt deren die Unterschiede an. Arbeitet wie vimdiff(1). -d {Gerat}, -dev {Gerat} Offnet das {Gerat}, um es als Terminal zu nutzen. Nur auf dem Amiga. Beispiel: >>-d con:20/30/600/150<<. -D Debug-Modus: Vim geht in den Modus zur Fehlersuche, wenn der erste Befehl aus einem Skript ausgefuhrt wird. -e Ex-Modus: Startet Vim als wurde die ausfuhrbare Datei ex lauten. -E Verbesserter Ex-Modus: Startet Vim als wurde die ausfuhrbare Datei exim lauten. -f Vordergrund: Bei der GUI-Version erzeugt Vim keinen neuen Prozess und lost sich nicht von der Shell, in der er aufgerufen wurde. Auf dem Amiga wird kein neues Fenster geoffnet. Dieser Parameter wird benutzt, damit das aufrufende Programm auf das Beenden der Bearbeitungssitzung wartet (z.B. mail). Auf dem Amiga funktionieren die Befehle >>:sh<< und >>:!<< nicht. -F Wenn Vim mit FKMAP-Unterstutzung fur das Schreiben von rechts nach links und Farsi-Tastatur-Belegung kompiliert wurde, startet Vim im Farsi-Modus, d.h. die Optionen >>fkmap<< und >>rightleft<< werden gesetzt. Andernfalls bricht Vim mit einer Fehlermeldung ab. Hinweis: Die Unterstutzung von Farsi wurde im Patch 8.1.0932 entfernt. -g Falls Vim mit GUI-Unterstutzung kompiliert wurde, wird die GUI aktiviert. Falls keine GUI-Unterstutzung einkompiliert wurde, wird Vim mit einer Fehlermeldung abgebrochen. -H Falls Vim mit RIGHTLEFT-Unterstutzung fur das Schreiben von rechts nach links und hebraischer Tastaturbelegung kompiliert wurde, startet Vim im hebraischen Modus und die Optionen >>hkmap<< und >>rightleft<< werden gesetzt. Andernfalls beendet sich Vim mit einer Fehlermeldung. -i {VimInfo} Verwendet zum Lesen und Schreiben die angegebene Datei anstatt der Vorgabe >>~/.viminfo<<. Es ist auch moglich, die Verwendung einer .viminfo-Datei durch Angabe des Dateinamens >>NONE<< zu verhindern. -l Lisp-Modus: Aktiviert die Optionen >>lisp<< und >>showmatch<<. -L Dasselbe wie -r. -m Deaktiviert das Verandern von Dateien, indem die Option >>write<< zuruckgesetzt wird. Der Puffer kann verandert werden, nur das Schreiben einer Datei ist nicht moglich. -M Keine Veranderungen erlaubt. Die Optionen >>modifiable<< und >>write<< werden zuruckgesetzt, so dass Anderungen nicht erlaubt sind und Dateien nicht geschrieben werden konnen. Beachten Sie, dass diese Optionen dennoch nachtraglich zum Erlauben von Anderungen gesetzt werden konnen. -n Verwendet keine Auslagerungsdatei. Eine Wiederherstellung nach einem Absturz ist nicht moglich. Auf einem langsamen Medium (z.B. Diskette) kann diese Einstellung nutzlich sein. Kann auch mit >>set uc=0<< erreicht werden; kann mit >>set uc=200<< aufgehoben werden. -N Nicht-kompatibler Modus: Setzt die Option >>compatible<< zuruck. Dies veranlasst Vim, sich ein wenig besser, aber weniger Vi-kompatibel zu verhalten, selbst wenn es keine .vimrc-Datei gibt. -nb Vim fungiert als Editor-Server fur NetBeans. Details siehe Dokumentation. -o[N] Offnet N Fenster ubereinander. Wenn keine Zahl angegeben wird, offnet ein Fenster pro Datei. -O[N] Offnet N Fenster nebeneinander. Wenn keine Zahl angegeben wird, offnet ein Fenster pro Datei. -p[N] Offnet N Reiterseiten. Wenn keine Zahl angegeben wird, offnet eine Reiterseite pro Datei. -P {Eltern-Titel} Nur Win32-GUI: Gibt den Titel der Elternapplikation an. Wenn moglich lauft Vim in einem MDI-Fenster innerhalb der Applikation. {Eltern-Titel} muss im Fenstertitel der Elternapplikation vorkommen. Stellen Sie sicher, dass er spezifisch genug ist. Beachten Sie, dass die Implementierung immer noch primitiv ist. Sie wird nicht mit allen Applikationen funktionieren und das Menu funktioniert nicht. -r Listet die Auslagerungsdateien auf und gibt Informationen zu ihrer Verwendbarkeit zur Wiederherstellung aus. -r {Datei} Wiederherstellungsmodus: Die Auslagerungsdatei wird zur Wiederherstellung einer abgesturzten Bearbeitungssitzung verwendet und hat denselben Dateinamen wie die Textdatei mit angehangtem >>.swp<<. Siehe >>:help recovery<<. -R Schreibgeschutzter Modus: Die Option >>readonly<< wird gesetzt. Der Puffer kann noch bearbeitet werden, aber es wird verhindert, eine Datei aus Versehen zu uberschreiben. Wenn Sie wirklich eine Datei uberschreiben wollen, fugen Sie dem Ex-Befehl ein Ausrufezeichen hinzu (wie in >>:w!<<). Die Option -R bedingt die Option -n (siehe oben). Die Option >>readonly<< kann durch >>:set noro<< zuruckgesetzt werden. Siehe >>:help readonly<<. -s Stiller Modus: Nur wenn die ausfuhrbare Datei als ex aufgerufen wird oder vor -s die Option -e angegeben wird. -s {Eingabeskript} Die Skriptdatei {Eingabeskript} wird gelesen und ausgefuhrt, als wurden Sie die Zeichen eingeben. Dasselbe kann mit dem Befehl >>:source! {Eingabeskript}<< erreicht werden. Wird das Ende der Datei vor dem Beenden des Editors erreicht, werden weitere Zeichen von der Tastatur gelesen. -S {Datei} {Datei} wird nach dem Lesen der ersten Datei ausgefuhrt. Dies entspricht >>-c "source {Datei}"<<. {Datei} darf nicht mit einem Bindestrich (-) anfangen. Wenn kein Dateiname angegeben wird, wird >>Session.vim<< verwendet (Funktioniert nur, wenn -S als letztes Argument steht). -T {Terminal} Setzt den Namen des benutzten Terminals. Nur erforderlich, wenn die Automatik nicht funktioniert. Sollte ein Vim bekanntes (eingebautes) oder in einer Termcap- oder Terminfo-Datei definiertes Terminal sein. -u {vimrc} Verwendet zur Initialisierung die Befehle in der Datei {vimrc}. Alle anderen Initialisierungen werden ubersprungen. Benutzen Sie dies, um eine besondere Art von Dateien zu bearbeiten. Dies kann auch benutzt werden, um alle Initialisierungen zu uberspringen, indem der Name >>NONE<< angegeben wird. Fur weitere Einzelheiten siehe >>:help initialization<< innerhalb von Vim. -U {gvimrc} Benutzt die Befehle in der Datei {gvimrc} fur die Initialisierung der grafischen Oberflache. Alle anderen GUI-Initialisierungen werden ubersprungen. Dies kann ebenfalls benutzt werden, um alle GUI-Initialisierungen zu uberspringen, indem der Name >>NONE<< angegeben wird. Siehe >>:help gui-init<< innerhalb von Vim fur weitere Einzelheiten. -v Vi-Modus: Startet Vim als wurde die ausfuhrbare Datei mit vi aufgerufen. Dies wirkt sich nur aus, wenn die ausfuhrbare Datei als ex aufgerufen wird. -V[N] Ausfuhrlich (verbose): Gibt Meldungen daruber, welche Befehlsdateien ausgefuhrt werden, und uber das Lesen und Schreiben einer viminfo-Datei. Die optionale Zahl N ist der Wert fur >>verbose<<. Vorgabe ist 10. -V[N]{Dateiname} Wie -V und setzt >>verbosefile<< auf {Dateiname}. Das Ergebnis besteht darin, dass Meldungen nicht angezeigt werden, sondern in die Datei {Dateiname} geschrieben werden. {Dateiname} darf nicht mit einer Ziffer anfangen. -w{Nummer} Setzt die Option >>window<< auf {Nummer}. -w {Ausgabeskript} Alle Zeichen, die eingegeben werden, werden in der Datei {Ausgabeskript} aufgezeichnet, solange bis Sie Vim beenden. Dies ist nutzlich, falls Sie eine Skript-Datei zum Benutzen mit >>vim -s<< oder >>:source!<< erzeugen wollen. Falls die Datei {Ausgabeskript} vorhanden ist, werden die Zeichen angehangt. -W {Ausgabeskript} Wie -w, aber eine bereits vorhandene Datei wird uberschrieben. -x Benutzt beim Schreiben von Dateien eine Verschlusselung, falls Vim mit Unterstutzung von Verschlusselung kompiliert worden ist. Fragt nach dem Schlussel. -X Verbindet nicht mit dem X-Server. Dadurch verkurzt sich die Startzeit in einem Terminal, aber der Fenstertitel und die Zwischenablage werden nicht verwendet. -y Einfacher Modus: Startet Vim als wurde die ausfuhrbare Datei evim oder eview heissen. Vim verhalt sich dann wie ein Editor zum Klicken und Tippen. -Z Eingeschrankter Modus: Funktioniert, als wurde der Name der ausfuhrbaren Datei mit >>r<< beginnen. -- Markiert das Ende der Optionen. Argumente, die folgen, werden als Dateinamen behandelt. Dies kann benutzt werden, um einen Dateinamen mit >>-<< am Anfang zu verwenden. --clean Verwendet keine personlichen Einstellungen (vimrc, plugins, usw,). Hilfreich, um festzustellen, ob ein Problem mit einer sauberen Vim-Konfiguration reproduzierbar ist. --cmd {Befehl} Wie -c, aber dieser Befehl wird vor allen vimrc-Dateien ausgefuhrt. Sie konnen unabhangig von den -c-Befehlen bis zu zehn dieser Befehle verwenden. --echo-wid Nur GTK-GUI: Schreibe die Fenster-ID auf die Standardausgabe. --gui-dialog-file {Name} Schreibt bei der Verwendung der GUI den Titel und die Meldung des Dialogs in die Datei {Name}, anstatt sie als Dialog anzuzeigen. Die Datei wird entweder erzeugt oder erweitert. Dies ist nur fur Testzwecke hilfreich, um zu verhindern, dass Tests bei einem nicht sichtbaren Dialog hangen bleiben. Ohne Verwendung der GUI wird dieses Argument ignoriert. --help, -h, -? Gibt eine kleine Hilfe fur die Befehlszeilenparameter und Optionen aus. Danach beendet sich Vim. --literal Nimmt die Dateinamen so wie sie sind und vervollstandigt sie nicht unter Berucksichtigung von Metazeichen. Dies wirkt sich nicht unter Unix aus, wo die Shell die Metazeichen expandiert. --log {Dateiname} Wenn Vim mit dem Eval- und dem Channel-Feature kompiliert worden ist, wird das Protokollieren gestartet. Eintrage werden nach {Dateiname} geschrieben. Dies funktioniert wie das Aufrufen von ch_logfile({Dateiname}, 'ao') sehr fruh wahrend des Programmstarts. --nofork Vordergrund: Bei der GUI-Version erzeugt Vim keinen neuen Prozess und lost sich nicht von der Shell, in der er aufgerufen wurde. --noplugin Ladt keine Erweiterungen. Impliziert durch >>-u NONE<<. --not-a-term Teilt Vim mit, dass dem Benutzer klar ist, dass Eingabe und/oder Ausgabe nicht mit einem Terminal verbunden sind. Das vermeidet die entsprechende Warnung und eine Verzogerung von zwei Sekunden. --remote Verbindet mit einem Vim-Server und lasst ihn die in den restlichen Argumenten angegeben Dateien editieren. Wenn kein Server gefunden wird, fuhrt dies zu einer Warnmeldung und die Dateien werden im gegenwartigen Vim zum Bearbeiten geoffnet. --remote-expr {Ausdruck} Verbindet mit einem Vim-Server, wertet dort {Ausdruck} aus und zeigt das Ergebnis auf der Standardausgabe an. --remote-send {Zeichen} Verbindet mit einem Vim-Server und sendet ihm {Zeichen}. --remote-silent Wie --remote, aber ohne Warnung, wenn kein Server gefunden wird. --remote-wait Wie --remote, aber Vim beendet sich nicht, bis die Dateien bearbeitet wurden. --remote-wait-silent Wie --remote-wait, aber ohne Warnung, wenn kein Server gefunden wird. --serverlist Listet die Namen aller gefundenen Vim-Server auf. --servername {Name} Benutzt {Name} als Server-Namen. Wird fur den gegenwartigen Vim benutzt, ausser es wird mit einem der --remote-Argumente benutzt, dann ist es der Name des zu kontaktierenden Servers. --socketid {ID} Nur GTK-GUI: Benutzt den GtkPlug-Mechanismus, um gVim in einem anderen Fenster laufen zu lassen. --startuptime {Datei} Schreibt wahrend des Programmstarts Meldungen zu Zeitmessungen in die Datei {Datei}. --ttyfail Beendet das Programm sofort, wenn Standardeingabe oder Standardausgabe keine Terminals (tty) sind. --version Versionsinformation anzeigen und beenden. --windowid {ID} Nur Win32-GUI: Veranlasst, dass gVim versucht, das Fenster {ID} als Eltern zu verwenden, so dass es in diesem Fenster ablauft. EINGEBAUTE HILFE Geben Sie in Vim >>:help<< ein, um eine Einstiegshilfe zu erhalten. Geben Sie >>:help Begriff<< ein, um Hilfe uber ein bestimmtes Thema zu bekommen. Zum Beispiel >>:help ZZ<< fur Hilfe uber den Befehl >>ZZ<<. Benutzen Sie und STRG-D, um Begriffe zu vervollstandigen (>>:help cmdline-completion<<). Tags sind vorhanden, um von einem Ort zum anderen zu springen (eine Art Hypertext-Verknupfungen, siehe >>:help<<). Auf diese Weise konnen alle Dokumentations-Dateien aufgerufen werden, zum Beispiel >>:help syntax.txt<<. DATEIEN /usr/local/share/vim/vim??/doc/*.txt Dokumentations-Dateien fur Vim. Verwenden Sie >>:help doc-file-list<<, um die gesamte Liste zu bekommen. vim?? ist die verkurzte Versionsnummer, wie vim91 von Vim 9.1 /usr/local/share/vim/vim??/doc/tags >>Tag<<-Datei zum Auffinden von Informationen in der Dokumentation. /usr/local/share/vim/vim??/syntax/syntax.vim Systemweite Einrichtung der Syntaxhervorhebung. /usr/local/share/vim/vim??/syntax/*.vim Syntaxdateien fur verschiedenen Sprachen. /usr/local/share/vim/vimrc Systemweite Einstellungsdatei fur Vim. ~/.vimrc, ~/.vim/vimrc, $XDG_CONFIG_HOME/vim/vimrc Personlichen Einstellungen fur Vim. /usr/local/share/vim/gvimrc Systemweite Einstellungsdatei fur gVim. ~/.gvimrc, ~/.vim/gvimrc, $XDG_CONFIG_HOME/vim/gvimrc Personlichen Einstellungen fur gVim. /usr/local/share/vim/vim??/optwin.vim Script zur Verwendung von dem Befehl >>:options<<. Eine schone Moglichkeit, um Optionen zu betrachten und zu setzen. /usr/local/share/vim/vim??/menu.vim Systemweite Einstellungsdatei fur das Menu von gVim. /usr/local/share/vim/vim??/bugreport.vim Script zum Generieren eines Fehlerberichts. Siehe >>:help bugs<<. /usr/local/share/vim/vim??/filetype.vim Script zur Erkennung des Typs einer Datei anhand ihres Dateinamens. Siehe >>:help filetype<<. /usr/local/share/vim/vim??/scripts.vim Script zur Erkennung des Typs einer Datei anhand ihres Inhalts. Siehe >>:help filetype<<. /usr/local/share/vim/vim??/print/*.ps Dateien zum Drucken von PostScript. Fur die neuesten Informationen lesen Sie die Vim-Homepage: SIEHE AUCH vimtutor(1) AUTOR Vim wurde grosstenteils von Bram Moolenaar erstellt, mit viel Hilfe von anderen Leuten. Siehe >>:help credits<< in Vim. Vim basiert auf Stevie, der von Tim Thompson, Tony Andrews und G.R. (Fred) Walter geschrieben wurde. Es ist jedoch kaum etwas vom ursprunglichen Code ubrig geblieben. FEHLER Die sind moglich. Siehe >>:help todo<< fur eine Liste bekannter Probleme. Beachten Sie, dass gewisse Dinge, die manche Leute als Fehler betrachten mogen, in Wirklichkeit durch zu getreue Nachbildung des Vi-Verhaltens verursacht werden. Und falls Sie denken, dass andere Dinge Fehler sind, >>weil Vi es anders tut<<, sollten Sie einen genaueren Blick auf die Datei vi_diff.txt werfen (oder in Vim >>:help vi_diff.txt<< eingeben). Sehen Sie sich auch die Optionen >>compatible<< und >>cpoptions<< an. 28. November 2024 VIM(1)