vim - Vi IMproved, ein Texteditor für Programmierer
SYNOPSIS
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 Texteditor, der mit Vi kompatibel ist. Er kann verwendet werden, um alle Arten von einfachem Text zu bearbeiten. Er ist besonders nützlich zum Bearbeiten von Programmen.
Es gibt viele Verbesserungen gegenüber Vi: mehrstufiges Rückgängig, mehrere Fenster und Puffer, Syntax Hervorhebung, Befehlszeilenbearbeitung, Dateinamenvervollständigung, Online-Hilfe, visuelle Auswahl usw. Sehen Sie ":help vi_diff.txt" für eine Zusammenfassung der Unterschiede zwischen Vim und Vi.
Während der Ausführung von Vim kann viel Hilfe aus dem Online-Hilfesystem abgerufen werden, mit dem Befehl ":help". Siehe den Abschnitt "ONLINE-HILFE" unten.
Am häufigsten wird Vim gestartet, um eine einzelne Datei mit dem Befehl zu bearbeiten
vim datei
Im Allgemeinen wird Vim mit Folgendem gestartet:
vim [optionen] [dateiliste]
Wenn die Dateiliste fehlt, wird der Editor mit einem leeren Puffer gestartet. Andernfalls wird genau eines der folgenden vier Elemente verwendet, um eine oder mehrere zu bearbeitende Dateien auszuwählen.
datei .. Eine Liste von Dateinamen. Die erste wird die aktuelle Datei sein und in den
Puffer gelesen. Der Cursor wird auf die erste Zeile des Puffers positioniert. Sie können
mit dem Befehl ":next" zu den anderen Dateien gelangen. Um eine Datei zu bearbeiten, die mit einem Bindestrich beginnt,
fügen Sie der Dateiliste "--" voran.
- Die zu bearbeitende Datei wird von stdin gelesen. Befehle werden von stderr gelesen, was eine
Tastatur sein sollte.
-t {tag} Die zu bearbeitende Datei und die anfängliche Cursorposition hängen von einem "Tag" ab, einer Art "GoTo"-Beschriftung.
{tag} wird in der Tags-Datei nachgeschlagen, die zugehörige Datei wird die aktuelle
Datei, und der zugehörige Befehl wird ausgeführt. Meistens wird dies für C-Programme verwendet, in
welchem Fall {tag} ein Funktionsname sein könnte. Die Auswirkung ist, dass die Datei, die die
Funktion enthält, die aktuelle Datei wird und der Cursor auf den Anfang der
Funktion positioniert wird. Siehe ":help tag-commands".
-q [fehlerdatei]
Starten Sie im QuickFix-Modus. Die Datei [fehlerdatei] wird gelesen, und der erste Fehler wird angezeigt. Wenn [fehlerdatei] weggelassen wird, wird der Dateiname aus der Option 'errorfile' abgerufen (standardmäßig "AztecC.Err" für Amiga, "errors.err" auf anderen Systemen). Weitere Fehler können mit dem Befehl ":cn" aufgerufen werden. Siehe ":help quickfix".
Vim verhält sich unterschiedlich, abhängig vom Namen des Befehls (die ausführbare Datei kann immer noch dieselbe sein).
vim Die "normale" Art, alles ist standardmäßig eingestellt.
ex Starten Sie im Ex-Modus. Wechseln Sie mit dem Befehl ":vi" in den Normalmodus. Dies kann auch mit dem
Argument "-e" erfolgen.
view Startet im Nur-Lese-Modus. Sie sind vor dem Schreiben von Dateien geschützt. Kann auch mit dem Argument "-R" erfolgen.
gvim gview
Die GUI-Version. Öffnet ein neues Fenster. Kann auch mit dem Argument "-g" erfolgen.
evim eview
Die GUI-Version im einfachen Modus. Öffnet ein neues Fenster. Kann auch mit dem Argument "-y" erfolgen.
rvim rview rgvim rgview
Wie oben, aber mit Einschränkungen. Es ist nicht möglich, Shell-Befehle zu starten oder Vim anzuhalten. Kann auch mit dem Argument "-Z" erfolgen.
OPTIONEN
Die Optionen können in beliebiger Reihenfolge vor oder nach Dateinamen angegeben werden. Optionen ohne Argument können nach einem einzelnen Minuszeichen kombiniert werden.
+[num] Für die erste Datei wird der Cursor auf Zeile "num" positioniert. Wenn "num" fehlt, wird der Cursor auf die letzte Zeile positioniert.
+/{pat} Für die erste Datei wird der Cursor in der Zeile mit dem ersten Vorkommnis von {pat} positioniert. Siehe ":help search-pattern" für die verfügbaren Suchmuster.
+{command}
-c {command}
{command} wird ausgeführt, nachdem die erste Datei gelesen wurde. {command} wird als Ex-Befehl interpretiert. Wenn {command} Leerzeichen enthält, muss es in Anführungszeichen eingeschlossen werden (dies hängt von der verwendeten Shell ab). Beispiel: vim "+set si" main.c
Hinweis: Sie können bis zu 10 "+" oder "-c"-Befehle verwenden.
-A Wenn Vim mit ARABIC-Unterstützung für die Bearbeitung von rechts-nach-links-orientierten Dateien und arabischen Tastaturbelegungen kompiliert wurde, startet diese Option Vim im arabischen Modus, d. h. 'arabic' wird gesetzt. Andernfalls wird eine Fehlermeldung ausgegeben und Vim wird beendet.
-b Binärmodus. Einige Optionen werden festgelegt, die es ermöglichen, eine binäre oder ausführbare Datei zu bearbeiten.
-C Kompatibel. Setzt die Option 'compatible'. Dadurch verhält sich Vim größtenteils wie Vi, auch wenn eine .vimrc-Datei vorhanden ist.
-d Startet im Diff-Modus. Es sollten zwischen zwei und acht Dateinamenargumente vorhanden sein. Vim öffnet alle Dateien und zeigt die Unterschiede zwischen ihnen. Funktioniert wie vimdiff(1).
-d {device}, -dev {device}
Öffnet {device} zur Verwendung als Terminal. Nur auf dem Amiga. Beispiel: "-d con:20/30/600/150".
-D Debugging. Wechselt beim Ausführen des ersten Befehls aus einem Skript in den Debugging-Modus.
-e Startet Vim im Ex-Modus, so als wäre das ausführbare Programm "ex" aufgerufen worden.
-E Startet Vim im erweiterten Ex-Modus, so als wäre das ausführbare Programm "exim" aufgerufen worden.
-f Für die GUI-Version wird Vim nicht forken und vom Shell-Prozess, in dem es gestartet wurde, abgetrennt. Auf dem Amiga wird Vim nicht neu gestartet, um ein neues Fenster zu öffnen. Diese Option sollte verwendet werden, wenn Vim von einem Programm ausgeführt wird, das auf das Ende der Bearbeitungssitzung wartet (z. B. E-Mail). Auf dem Amiga funktionieren die Befehle ":sh" und ":!" nicht.
-F Wenn Vim mit FKMAP-Unterstützung für die Bearbeitung von rechts-nach-links-orientierten Dateien und Farsi-Tastaturbelegungen kompiliert wurde, startet diese Option Vim im Farsi-Modus, d. h. 'fkmap' und 'rightleft' werden gesetzt. Andernfalls wird eine Fehlermeldung ausgegeben und Vim wird beendet.
Hinweis: Die Farsi-Unterstützung wurde in Patch 8.1.0932 entfernt.
-g Wenn Vim mit GUI-Unterstützung kompiliert wurde, aktiviert diese Option die GUI. Wenn keine GUI-Unterstützung kompiliert wurde, wird eine Fehlermeldung angezeigt und Vim wird beendet.
-H Wenn Vim mit RIGHTLEFT-Unterstützung für die Bearbeitung von rechts-nach-links ausgerichteten Dateien und hebräische Tastaturbelegung kompiliert wurde, startet diese Option Vim im hebräischen Modus, d. h. 'hkmap' und 'rightleft' werden gesetzt. Andernfalls wird eine Fehlermeldung angezeigt und Vim wird beendet.
-i {viminfo}
Gibt den Dateinamen an, der beim Lesen oder Schreiben der viminfo-Datei anstelle der Standarddatei "~/.viminfo" verwendet werden soll. Dies kann auch verwendet werden, um die Verwendung der .viminfo-Datei zu überspringen, indem der Name "NONE" angegeben wird.
-l Lisp-Modus. Setzt die Optionen 'lisp' und 'showmatch'.
-L Das Gleiche wie -r.
-m Das Ändern von Dateien ist deaktiviert. Setzt die Option 'write' zurück. Sie können den Puffer weiterhin bearbeiten, aber das Schreiben einer Datei ist nicht möglich.
-M Änderungen nicht zulassen. Die Optionen 'modifiable' und 'write' werden aufgehoben, so dass Änderungen nicht zulässig sind und Dateien nicht geschrieben werden können. Beachten Sie, dass diese Optionen gesetzt werden können, um Änderungen zu ermöglichen.
-n Es wird keine Swap-Datei verwendet. Die Wiederherstellung nach einem Absturz ist unmöglich. Nützlich, wenn Sie eine Datei auf einem sehr langsamen Medium bearbeiten möchten (z. B. Diskette). Kann auch mit ":set uc=0" erfolgen. Kann mit ":set uc=200" rückgängig gemacht werden.
-N Kein kompatibler Modus. Setzt die Option 'compatible' zurück. Dadurch verhält sich Vim etwas besser, aber weniger Vi-kompatibel, auch wenn keine .vimrc-Datei vorhanden ist.
-nb Wird zum Editor-Server für NetBeans. Siehe die Dokumentation für weitere Informationen.
-o[N] Öffnen Sie N Fenster gestapelt. Wenn N weggelassen wird, wird für jede Datei ein Fenster geöffnet.
-O[N] Öffnen Sie N Fenster nebeneinander. Wenn N weggelassen wird, wird für jede Datei ein Fenster geöffnet.
-p[N] Öffnen Sie N Registerkarten. Wenn N weggelassen wird, wird für jede Datei eine Registerkarte geöffnet.
-P {parent-title}
Nur Win32 GUI: Geben Sie den Titel der übergeordneten Anwendung an. Wenn möglich, wird Vim in einem MDI-Fenster innerhalb der Anwendung ausgeführt. {parent-title} muss im Fenstertitel der übergeordneten Anwendung angezeigt werden. Stellen Sie sicher, dass dies spezifisch genug ist. Beachten Sie, dass die Implementierung noch rudimentär ist. Sie funktioniert möglicherweise nicht mit allen Anwendungen und das Menü funktioniert nicht.
-r Swap-Dateien auflisten, mit Informationen über deren Verwendung zur Wiederherstellung.
-r {file} Wiederherstellungsmodus. Die Swap-Datei wird verwendet, um eine abgebrochene Sitzung wiederherzustellen. Die Swap-Datei ist eine Datei mit demselben Dateinamen wie die Textdatei, an die ".swp" angehängt wurde. Siehe ":help recovery".
-R Nur-Lese-Modus. Die Option 'readonly' wird gesetzt. Sie können den Puffer weiterhin bearbeiten, aber Sie werden daran gehindert, versehentlich eine Datei zu überschreiben. Wenn Sie eine Datei überschreiben möchten, fügen Sie ein Ausrufezeichen an den Ex-Befehl an, z. B. ":w!". Die Option -R impliziert auch die Option -n (siehe oben). Die Option 'readonly' kann mit ":set noro" zurückgesetzt werden. Siehe ":help 'readonly'".
-s Stiller Modus. Nur wirksam, wenn Vim als "Ex" gestartet wird oder wenn die Option "-e" vor der Option "-s" angegeben wurde.
-s {scriptin}
Die Skriptdatei {scriptin} wird gelesen. Die Zeichen in der Datei werden so interpretiert, als ob sie von Ihnen eingegeben wurden. Das Gleiche kann mit dem Befehl ":source! {scriptin}" erreicht werden. Wenn das Ende der Datei erreicht ist, bevor der Editor beendet wird, werden weitere Zeichen von der Tastatur gelesen.
-S {file} Die Datei {file} wird nach dem Lesen der ersten Datei geladen. Dies entspricht der Option -c "source {file}". Die Datei {file} darf nicht mit "-" beginnen. Wenn {file} weggelassen wird, wird "Session.vim" verwendet (funktioniert nur, wenn -S das letzte Argument ist).
-T {terminal}
Teilt Vim den Namen des von Ihnen verwendeten Terminals mit. Nur erforderlich, wenn die automatische Erkennung nicht funktioniert. Sollte ein in Vim bekanntes Terminal (integriert) oder in der Datei termcap oder terminfo definiert sein.
-u {vimrc} Verwendet die Befehle in der Datei {vimrc} für die Initialisierung. Alle anderen Initialisierungen werden übersprungen. Verwenden Sie dies, um eine spezielle Art von Dateien zu bearbeiten. Es kann auch verwendet werden, um alle Initialisierungen zu überspringen, indem Sie den Namen "NONE" angeben. Weitere Details finden Sie in ":help initialization" innerhalb von Vim.
-U {gvimrc} Verwendet die Befehle in der Datei {gvimrc} für die GUI-Initialisierung. Alle anderen GUI-Initialisierungen werden übersprungen. Es kann auch verwendet werden, um alle GUI-Initialisierungen zu überspringen, indem Sie den Namen "NONE" angeben. Weitere Details finden Sie in ":help gui-init" innerhalb von Vim.
-v Startet Vim im Vi-Modus, so als ob die ausführbare Datei "vi" genannt würde. Dies hat nur dann eine Wirkung, wenn die ausführbare Datei als "ex" aufgerufen wird.
-V[N] Ausführliche Ausgabe. Gibt Meldungen darüber aus, welche Dateien geladen werden und wann Dateien gelesen und geschrieben werden. Die optionale Zahl N ist der Wert für 'verbose'. Standardmäßig ist dies 10.
-V[N]{filename}
Wie -V und setzt 'verbosefile' auf {filename}. Das Ergebnis ist, dass die Meldungen nicht auf dem Bildschirm angezeigt, sondern in die Datei {filename} geschrieben werden. {filename} darf nicht mit einer Ziffer beginnen.
-w{number} Setzt die Option 'window' auf {number}.
-w {scriptout}
Alle Zeichen, die Sie eingeben, werden in der Datei {scriptout} gespeichert, bis Sie Vim beenden. Dies ist nützlich, wenn Sie eine Skriptdatei erstellen möchten, die mit "vim -s" oder ":source!" verwendet werden kann. Wenn die Datei {scriptout} bereits vorhanden ist, werden die Zeichen angehängt.
-W {scriptout}
Wie -w, aber eine vorhandene Datei wird überschrieben.
-x Wenn Vim mit Verschlüsselungsunterstützung kompiliert wurde, wird beim Schreiben von Dateien die Verschlüsselung verwendet. Fordert einen Verschlüsselungsschlüssel an.
-X Verbindet sich nicht mit dem X-Server. Verkürzt die Startzeit in einem Terminal, aber der Fenstertitel und die Zwischenablage werden nicht verwendet.
-Y Verbindet sich nicht mit dem Wayland-Kompositor.
-y Startet Vim im einfachen Modus, so als ob die ausführbare Datei "evim" oder "eview" genannt würde. Lässt Vim sich wie ein Editor zum Klicken und Tippen verhalten.
-Z Eingeschränkter Modus. Funktioniert so, als würde das ausführbare Programm mit "r" gestartet.
-- Kennzeichnet das Ende der Optionen. Argumente nach diesem Zeichen werden als Dateinamen behandelt.
Dies kann verwendet werden, um eine Datei zu bearbeiten, deren Name mit "-" beginnt.
--clean Verwendet keine persönlichen Konfigurationen (vimrc, Plugins usw.). Nützlich, um zu überprüfen, ob
ein Problem mit einer sauberen Vim-Konfiguration reproduziert werden kann.
--cmd {Befehl}
Wie die Verwendung von "-c", aber der Befehl wird direkt vor der Verarbeitung einer vimrc-Datei ausgeführt.
Sie können bis zu 10 dieser Befehle verwenden, unabhängig von den mit "-c" angegebenen Befehlen.
--echo-wid Nur für GTK GUI: Gibt die Fenster-ID auf stdout aus.
--gui-dialog-file {Name}
Wenn die GUI verwendet wird, schreibt diese Option anstelle der Anzeige eines Dialogs den Titel und die Nachricht des
Dialogs in die Datei {Name}. Die Datei wird erstellt oder angehängt. Nur für Tests nützlich,
um zu verhindern, dass der Test an einem Dialog hängen bleibt, der nicht sichtbar ist. Ohne die GUI
wird das Argument ignoriert.
--help, -h, -?
Gibt eine kurze Hilfe zu den Befehlszeilenargumenten und Optionen aus. Danach wird Vim beendet.
--literal Nimmt Dateinamenargumente wörtlich, ohne Wildcards zu erweitern. Dies hat keine Auswirkung
unter Unix, wo die Shell Wildcards erweitert.
--log {Dateiname}
Wenn Vim mit den Funktionen „eval“ und „channel“ kompiliert wurde, wird das Protokollieren gestartet und Einträge in {Dateiname} geschrieben. Dies funktioniert wie der Aufruf von ch\_logfile({Dateiname}, 'ao') sehr früh
während des Starts.
--nofork Im Vordergrund ausführen. Für die GUI-Version wird Vim nicht forken und vom Shell-Prozess getrennt, in dem es gestartet wurde.
--noplugin Plugins werden nicht geladen. Impliziert durch -u NONE.
--not-a-term
Teilt Vim mit, dass der Benutzer weiß, dass die Eingabe und/oder Ausgabe nicht mit einem Terminal verbunden ist. Dies verhindert die Warnung und die zwei Sekunden Verzögerung.
--remote Verbindet sich mit einem Vim-Server und lässt diesen die in den restlichen Argumenten angegebenen Dateien bearbeiten. Wenn kein Server gefunden wird, wird eine Warnung ausgegeben und die Dateien werden im aktuellen Vim bearbeitet.
--remote-expr {Ausdruck}
Verbindet sich mit einem Vim-Server, wertet {Ausdruck} darin aus und gibt das Ergebnis auf stdout aus.
--remote-send {Tasten}
Verbindet sich mit einem Vim-Server und sendet {Tasten} dorthin.
--remote-silent
Wie --remote, aber ohne die Warnung, wenn kein Server gefunden wird.
--remote-wait
Wie --remote, aber Vim wird nicht beendet, bis die Dateien bearbeitet wurden.
--remote-wait-silent
Wie --remote-wait, aber ohne die Warnung, wenn kein Server gefunden wird.
--serverlist
Listet die Namen aller Vim-Server auf, die gefunden werden können.
--servername {Name}
Verwendet {Name} als Servernamen. Wird für den aktuellen Vim verwendet, es sei denn, es wird mit einem --remote-Argument verwendet, dann ist es der Name des Servers, zu dem eine Verbindung hergestellt werden soll. Wenn das Socketserver-Backend verwendet wird, wird der Name, wenn er mit "/" beginnt, "./" oder "../", entweder als absoluter, relativer oder relativer Pfad zum Socket interpretiert.
--clientserver {Backend}
Verwendet {Backend} als Backend für die Client-Server-Funktionalität, entweder "socket" oder "x11".
Nur verfügbar, wenn sowohl die Socketserver- als auch die X11-Funktionen vorhanden sind.
--socketid {id}
Nur für die GTK-GUI: Verwenden Sie den GtkPlug-Mechanismus, um gVim in einem anderen Fenster auszuführen.
--startuptime {file}
Schreiben Sie beim Startzeitpunkt Zeitmeldungen in die Datei {fname}.
--ttyfail Wenn stdin oder stdout kein Terminal (tty) ist, beenden Sie das Programm sofort.
--version Geben Sie Versionsinformationen aus und beenden Sie das Programm.
--windowid {id}
Nur für die Win32-GUI: Versuchen Sie, das Fenster {id} als übergeordnetes Fenster zu verwenden, damit gVim darin ausgeführt wird.
ONLINE-HILFE
Geben Sie in Vim ":help" ein, um loszulegen. Geben Sie ":help thema" ein, um Hilfe zu einem bestimmten Thema zu erhalten.
Zum Beispiel: ":help ZZ", um Hilfe zum Befehl "ZZ" zu erhalten. Verwenden Sie
DATEIEN
/usr/local/share/vim/vim??/doc/*.txt
Die Vim-Dokumentationsdateien. Verwenden Sie ":help doc-file-list", um die vollständige Liste zu erhalten. vim?? ist eine Kurzform der Versionsnummer, z. B. vim91 für Vim 9.1
/usr/local/share/vim/vim??/doc/tags
Die Tags-Datei, die zum Auffinden von Informationen in den Dokumentationsdateien verwendet wird.
/usr/local/share/vim/vim??/syntax/syntax.vim
Systemweite Syntaxinitialisierungen.
/usr/local/share/vim/vim??/syntax/*.vim
Syntaxdateien für verschiedene Sprachen.
/usr/local/share/vim/vimrc
Systemweite Vim-Initialisierungen.
~/.vimrc, ~/.vim/vimrc, $XDG_CONFIG_HOME/vim/vimrc
Ihre persönlichen Vim-Initialisierungen (die erste gefundene wird verwendet).
/usr/local/share/vim/gvimrc
Systemweite gVim-Initialisierungen.
~/.gvimrc, ~/.vim/gvimrc, $XDG_CONFIG_HOME/vim/gvimrc
Ihre persönlichen gVim-Initialisierungen (die erste gefundene wird verwendet).
/usr/local/share/vim/vim??/optwin.vim
Skript, das für den Befehl ":options" verwendet wird, eine gute Möglichkeit, Optionen anzuzeigen und festzulegen.
/usr/local/share/vim/vim??/menu.vim
Systemweite Menüinitialisierungen für gVim.
/usr/local/share/vim/vim??/bugreport.vim
Skript zum Erstellen eines Fehlerberichts. Siehe ":help bugs".
/usr/local/share/vim/vim??/filetype.vim
Skript zum Erkennen des Typs einer Datei anhand ihres Namens. Siehe ":help 'filetype'".
/usr/local/share/vim/vim??/scripts.vim
Skript zum Erkennen des Typs einer Datei anhand ihres Inhalts. Siehe ":help 'filetype'".
/usr/local/share/vim/vim??/print/*.ps
Dateien, die für den PostScript-Druck verwendet werden.
Für aktuelle Informationen lesen Sie die VIM-Homepage:
SIEHE AUCH
vimtutor(1)
AUTOR
Der größte Teil von Vim wurde von Bram Moolenaar erstellt, mit viel Hilfe von anderen. Siehe ":help credits" in Vim. Vim basiert auf Stevie, das von Tim Thompson, Tony Andrews und G.R. (Fred) Walter entwickelt wurde. Obwohl kaum noch etwas vom ursprünglichen Code übrig ist.
FEHLER
Wahrscheinlich. Siehe ":help todo" für eine Liste bekannter Probleme. Beachten Sie, dass einige Dinge, die von manchen als Fehler angesehen werden könnten, tatsächlich durch eine allzu getreue Reproduktion des Verhaltens von Vi verursacht werden. Und wenn Sie denken, dass andere Dinge Fehler sind, "weil Vi es anders macht", sollten Sie sich die Datei vi_diff.txt genauer ansehen (oder geben Sie in Vim :help vi_diff.txt ein). Sehen Sie sich auch die Optionen 'compatible' und 'cpoptions' an.