vim - Vi IMproved, ein Text-Editor für Programmierer
ÜBERSICHT
vim [Optionen] [Datei ...]
vim [Optionen] -
vim [Optionen] -t Tag
vim [Optionen] -q [Fehlerdatei]
ex
view
gvim gview evim eview
rvim rview rgvim rgview
Vim ist ein Text-Editor, der aufwärtskompatibel zu
Vi ist. Er kann verwendet werden, um alle Arten von Klartext zu bearbeiten.
Er ist besonders nützlich, um Programme zu bearbeiten.
Vim hat eine Menge an Erweiterungen gegenüber Vi,
z.B.: Mehrstufiges Rückgängigmachen, mehrere Fenster und
Puffer, Syntax-Hervorhebung, Bearbeiten der Befehlszeile,
Dateinamenergänzung, eingebaute Hilfe, visuelle Auswahl, usw. ...
Siehe »:help vi_diff.txt« für eine Übersicht 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 folgendermaßen
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 anfängliche Cursor-Position
hängen von einem »Tag« ab, einer Art Sprungmarke.
{Tag} wird in der Tag-Datei nachgeschlagen, die zugehörige Datei
wird zur aktuellen und der zugehörige Befehl wird
ausgeführt. Dies wird meistens für Programme in der Sprache
»C« benutzt, wobei {Tag} ein Funktionsname sein
könnte. Die Wirkung dieses Befehls ist, dass die Datei, die die
Funktion enthält, als aktuelle im Editor geöffnet 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 standardmäßig »AztecC.Err«,
sowie »errors.err« bei anderen). Weitere Fehler
können mit dem »:cn«-Befehl angesprungen werden.
Siehe »:help quickfix«.
Vim reagiert in Abhängigkeit vom benutzten
Programmnamen unterschiedlich (die ausführbare Datei kann dieselbe
sein).
- vim
- Der »normale« Weg, alles ist
standardmäßig.
- ex
- Startet im Ex-Modus. Mit dem Befehl »:vi« gelangen Sie in
den normalen Modus. Funktioniert auch mit dem Argument -e.
- view
- Startet im schreibgeschützten Modus. Die Datei wird vor dem
Überschreiben geschützt. Dasselbe wird mit dem Argument
-R erreicht.
- gvim gview
- Startet die grafische Version. Öffnet ein neues Fenster. Dasselbe
wird mit dem Argument -g erreicht.
- evim eview
- Startet die grafische Version im einfachen Modus. Öffnet ein neues
Fenster. Dasselbe wird mit dem Argument -y erreicht.
- rvim rview rgvim
rgview
- Wie die obigen, aber mit Beschränkungen. Es ist nicht
möglich, Shell-Befehle aufzurufen oder Vim zu suspendieren.
Dasselbe wird mit dem Argument -Z erreicht.
Die Optionen können in beliebiger Reihenfolge vor oder nach
den Dateinamen angegeben werden. Optionen ohne Argument können 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«
für die verfügbaren Suchmuster.
- +{Befehl}
- -c {Befehl}
- {Befehl} wird nach dem Lesen der ersten Datei ausgeführt. Als
{Befehl} wird ein Ex-Befehl erwartet. Sind in {Befehl} Leerzeichen
vorhanden, muss er in Anführungszeichen gesetzt werden
(hängt von der verwendeten Shell ab). Beispiel: »vim
"+set si" main.c«
Anmerkung: Sie können bis zu zehn +c- oder -c-Befehle
verwenden.
- -A
- Falls Vim mit Unterstützung für das Schreiben von
rechts nach links und arabischer Tastaturbelegung compiliert wurde
(ARABIC), startet dieser Parameter den Modus fürs Arabische (:set
arabic). Anderenfalls beendet sich Vim mit einer
Fehlermeldung.
- -b
- Binärer Modus: Es werden einige Variablen gesetzt, sodass es
möglich ist, eine binäre oder ausführbare Datei zu
bearbeiten.
- -C
- Kompatibler Modus: Setzt die Option »compatible«. Das macht
Vim im Verhalten sehr ähnlich zu Vi, selbst wenn eine
.vimrc-Datei existiert.
- -d
- Diff-Modus: Es sollten von zwei bis zu acht Dateinamen als Argumente
übergeben werden. Vim öffnet sie alle und zeigt deren
die Unterschiede an. Arbeitet wie vimdiff(1).
- -d {Gerät},
-dev {Gerät}
- Öffnet das {Gerät}, 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 ausgeführt wird.
- -e
- Ex-Modus: Startet Vim als würde die ausführbare Datei
ex lauten.
- -E
- Verbesserter Ex-Modus: Startet Vim als würde die
ausführbare Datei exim lauten.
- -f
- Vordergrund: Bei der GUI-Version erzeugt Vim keinen neuen Prozess
und löst sich nicht von der Shell, in der er aufgerufen wurde. Auf
dem Amiga wird kein neues Fenster geöffnet. 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-Unterstützung für 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 Unterstützung von Farsi wurde im Patch 8.1.0932
entfernt.
- -g
- Falls Vim mit GUI-Unterstützung kompiliert wurde, wird die
GUI aktiviert. Falls keine GUI-Unterstützung einkompiliert wurde,
wird Vim mit einer Fehlermeldung abgebrochen.
- -H
- Falls Vim mit RIGHTLEFT-Unterstützung für das
Schreiben von rechts nach links und hebräischer Tastaturbelegung
kompiliert wurde, startet Vim im hebräischen 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 möglich, 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 Verändern von Dateien, indem die Option
»write« zurückgesetzt wird. Der Puffer kann
verändert werden, nur das Schreiben einer Datei ist nicht
möglich.
- -M
- Keine Veränderungen erlaubt. Die Optionen
»modifiable« und »write« werden
zurückgesetzt, so dass Änderungen nicht erlaubt sind und
Dateien nicht geschrieben werden können. Beachten Sie, dass diese
Optionen dennoch nachträglich zum Erlauben von Änderungen
gesetzt werden können.
- -n
- Verwendet keine Auslagerungsdatei. Eine Wiederherstellung nach einem
Absturz ist nicht möglich. Auf einem langsamen Medium (z.B.
Diskette) kann diese Einstellung nützlich sein. Kann auch mit
»set uc=0« erreicht werden; kann mit »set
uc=200« aufgehoben werden.
- -N
- Nicht-kompatibler Modus: Setzt die Option »compatible«
zurück. 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 für NetBeans. Details siehe
Dokumentation.
- -o[N]
- Öffnet N Fenster übereinander. Wenn keine Zahl angegeben
wird, öffnet ein Fenster pro Datei.
- -O[N]
- Öffnet N Fenster nebeneinander. Wenn keine Zahl angegeben wird,
öffnet ein Fenster pro Datei.
- -p[N]
- Öffnet N Reiterseiten. Wenn keine Zahl angegeben wird,
öffnet eine Reiterseite pro Datei.
- -P {Eltern-Titel}
- Nur Win32-GUI: Gibt den Titel der Elternapplikation an. Wenn
möglich läuft 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 Menü 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 abgestürzten Bearbeitungssitzung verwendet und hat denselben
Dateinamen wie die Textdatei mit angehängtem ».swp«.
Siehe »:help recovery«.
- -R
- Schreibgeschützter Modus: Die Option »readonly« wird
gesetzt. Der Puffer kann noch bearbeitet werden, aber es wird verhindert,
eine Datei aus Versehen zu überschreiben. Wenn Sie wirklich eine
Datei überschreiben wollen, fügen 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«
zurückgesetzt werden. Siehe »:help readonly«.
- -s
- Stiller Modus: Nur wenn die ausführbare Datei als ex
aufgerufen wird oder vor -s die Option -e angegeben
wird.
- -s
{Eingabeskript}
- Die Skriptdatei {Eingabeskript} wird gelesen und ausgeführt, als
würden 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 ausgeführt. 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 übersprungen. Benutzen Sie dies,
um eine besondere Art von Dateien zu bearbeiten. Dies kann auch benutzt
werden, um alle Initialisierungen zu überspringen, indem der Name
»NONE« angegeben wird. Für weitere Einzelheiten siehe
»:help initialization« innerhalb von Vim.
- -U {gvimrc}
- Benutzt die Befehle in der Datei {gvimrc} für die Initialisierung
der grafischen Oberfläche. Alle anderen GUI-Initialisierungen
werden übersprungen. Dies kann ebenfalls benutzt werden, um alle
GUI-Initialisierungen zu überspringen, indem der Name
»NONE« angegeben wird. Siehe »:help gui-init«
innerhalb von Vim für weitere Einzelheiten.
- -v
- Vi-Modus: Startet Vim als würde die ausführbare Datei
mit vi aufgerufen. Dies wirkt sich nur aus, wenn die
ausführbare Datei als ex aufgerufen wird.
- -V[N]
- Ausführlich (verbose): Gibt Meldungen darüber, welche
Befehlsdateien ausgeführt werden, und über das Lesen und
Schreiben einer viminfo-Datei. Die optionale Zahl N ist der Wert
für »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
nützlich, falls Sie eine Skript-Datei zum Benutzen mit »vim
-s« oder »:source!« erzeugen wollen. Falls die Datei
{Ausgabeskript} vorhanden ist, werden die Zeichen angehängt.
- -W {Ausgabeskript}
- Wie -w, aber eine bereits vorhandene Datei wird
überschrieben.
- -x
- Benutzt beim Schreiben von Dateien eine Verschlüsselung, falls
Vim mit Unterstützung von Verschlüsselung kompiliert
worden ist. Fragt nach dem Schlüssel.
- -X
- Verbindet nicht mit dem X-Server. Dadurch verkürzt sich die
Startzeit in einem Terminal, aber der Fenstertitel und die Zwischenablage
werden nicht verwendet.
- -y
- Einfacher Modus: Startet Vim als würde die
ausführbare Datei evim oder eview heißen.
Vim verhält sich dann wie ein Editor zum Klicken und
Tippen.
- -Z
- Eingeschränkter Modus: Funktioniert, als würde der Name der
ausführbaren 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 persönlichen 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
ausgeführt. Sie können unabhängig 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 für Testzwecke
hilfreich, um zu verhindern, dass Tests bei einem nicht sichtbaren Dialog
hängen bleiben. Ohne Verwendung der GUI wird dieses Argument
ignoriert.
- --help, -h,
-?
- Gibt eine kleine Hilfe für die Befehlszeilenparameter und Optionen
aus. Danach beendet sich Vim.
- --literal
- Nimmt die Dateinamen so wie sie sind und vervollständigt sie nicht
unter Berücksichtigung 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. Einträge werden nach
{Dateiname} geschrieben. Dies funktioniert wie das Aufrufen von
ch_logfile({Dateiname}, 'ao') sehr früh während des
Programmstarts.
- --nofork
- Vordergrund: Bei der GUI-Version erzeugt Vim keinen neuen Prozess
und löst sich nicht von der Shell, in der er aufgerufen wurde.
- --noplugin
- Lädt 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 Verzögerung von zwei Sekunden.
- --remote
- Verbindet mit einem Vim-Server und lässt ihn die in den restlichen
Argumenten angegeben Dateien editieren. Wenn kein Server gefunden wird,
führt dies zu einer Warnmeldung und die Dateien werden im
gegenwärtigen Vim zum Bearbeiten geöffnet.
- --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 für den gegenwärtigen
Vim benutzt, außer 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 während 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 abläuft.
Geben Sie in Vim »:help« ein, um eine
Einstiegshilfe zu erhalten. Geben Sie »:help Begriff« ein, um
Hilfe über ein bestimmtes Thema zu bekommen. Zum Beispiel
»:help ZZ« für Hilfe über den Befehl
»ZZ«. Benutzen Sie <Tab> und STRG-D, um Begriffe zu
vervollständigen (»:help cmdline-completion«). Tags
sind vorhanden, um von einem Ort zum anderen zu springen (eine Art
Hypertext-Verknüpfungen, siehe »:help«). Auf diese
Weise können alle Dokumentations-Dateien aufgerufen werden, zum
Beispiel »:help syntax.txt«.
- /usr/local/share/vim/vim??/doc/*.txt
- Dokumentations-Dateien für Vim. Verwenden Sie »:help
doc-file-list«, um die gesamte Liste zu bekommen.
vim?? ist die verkürzte 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 für verschiedenen Sprachen.
- /usr/local/share/vim/vimrc
- Systemweite Einstellungsdatei für Vim.
- ~/.vimrc, ~/.vim/vimrc, $XDG_CONFIG_HOME/vim/vimrc
- Persönlichen Einstellungen für Vim.
- /usr/local/share/vim/gvimrc
- Systemweite Einstellungsdatei für gVim.
- ~/.gvimrc, ~/.vim/gvimrc, $XDG_CONFIG_HOME/vim/gvimrc
- Persönlichen Einstellungen für gVim.
- /usr/local/share/vim/vim??/optwin.vim
- Script zur Verwendung von dem Befehl »:options«. Eine
schöne Möglichkeit, um Optionen zu betrachten und zu
setzen.
- /usr/local/share/vim/vim??/menu.vim
- Systemweite Einstellungsdatei für das Menü 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.
Für die neuesten Informationen lesen Sie die Vim-Homepage:
<URL:http://www.vim.org/>
Vim wurde größtenteils 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
ursprünglichen Code übrig geblieben.
Die sind möglich. Siehe »:help todo«
für eine Liste bekannter Probleme.
Beachten Sie, dass gewisse Dinge, die manche Leute als Fehler
betrachten mögen, 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.