|
|
(131 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) |
Zeile 1: |
Zeile 1: |
| __NOTOC__
| | '''vim''' - Editor für die Kommandozeile |
| == Inhalt ==
| |
|
| |
|
| '''8 Der Bildschirmeditor vi(m)3'''
| | == Beschreibung == |
| | Der Editor vi (visual) ist ein bildschirmorientierter Editor |
| | * Der Text ist in seiner aktuellen Version auf dem Bildschirm zu sehen |
| | * Kann interaktiv |
|
| |
|
| :8.1 Einführung3
| | Der Texteditor Vi ist ein mächtiges Werkzeug für das Terminal, der in der Unixwelt lange Zeit der Standard war und auch heute immer noch weitverbreitet ist |
| | * Er ist allerdings proprietäre Software, sodass man im Allgemeinen vom Vim - Vi improved redet, wenn man über den Vi spricht |
| | * Dies ist ein Open Source-Klon des Vi, der auf jedem Linux-System zu finden ist |
| | * Auch vom Vim existieren eine Reihe Klone, die aber mehr oder weniger den gleichen Ansatz verfolgen |
| | * Mit gVim existiert ebenfalls eine Version mit grafischer (GTK-) Oberfläche |
|
| |
|
| ::8.1.1 Den vi starten4
| | === Vi improved (vim) === |
| | Vim funktioniert wie der [[vi]]-Editor im [[Textmodus]] auf jedem [[Terminal (Computer)|Terminal]] |
| | * Die Bedienung erfolgt dann üblicherweise über die [[Tastatur]], eine Maus wird zwar auf vielen Terminals unterstützt, ihre Verwendung ist aber limitiert |
| | * Das ist zum einen historisch bedingt durch die zu Ur-vi-Zeiten Mitte der 1970er Jahre üblichen Bildschirmterminals mit einer langsamen, [[Serielle Datenübertragung|seriellen]] Verbindung zum [[Hostrechner|Hauptrechner]], zum anderen schätzen erfahrene Benutzer die Effizienzvorteile der mächtigen Tastatursteuerung („vi is at your fingertips“) |
| | * Aus der Limitierung damaliger Terminals resultiert sein [[Vim#Modi|modales Konzept]] |
| | * Vim ist nahezu vollständig abwärtskompatibel zu vi, hat jedoch eine Vielzahl an Weiterentwicklungen und eine moderne [[Grafische Benutzeroberfläche|grafische Benutzerschnittstelle]] mit [[Menü (Computer)|Menüs]] (GVim) sowie eine vereinfachte Version für Einsteiger (eVim) |
|
| |
|
| ::8.1.2 Aufrufparameter5 | | Vim kann auf vielen [[Betriebssystem]]en genutzt werden und ist auf fast jedem GNU/[[Linux]]-Rechner zu finden |
| | * In der Regel wird beim Aufruf ''vi'' unter Linux Vim über eine [[Symbolische Verknüpfung|Verknüpfung]] oder einen [[Alias (Unix)|Alias]] aufgerufen |
| | * Welcher vi-Ableger gestartet wurde, lässt sich im Kommando-Modus über den Befehl '':version'' überprüfen |
|
| |
|
| ::8.1.3 Hilfen5
| | == Modus == |
| | | Vim verfügt über verschiedene Arbeitsmodi |
| :8.2 Cursorpositionierung6
| |
| | |
| :8.3 Befehle im Befehls-Modus7
| |
| | |
| ::8.3.1 Allgemeine Befehle7
| |
| | |
| ::8.3.2 Dateibefehle7
| |
| | |
| ::8.3.3 Mehrere Dateien bearbeiten7
| |
| | |
| ::8.3.4 Blättern auf dem Bildschirm8
| |
| | |
| ::8.3.5 Texteingabe8
| |
| | |
| ::8.3.6 Text ändern8
| |
| | |
| ::8.3.7 Text ausschneiden9
| |
| | |
| ::8.3.8 Kopieren und Einfügen9
| |
| | |
| ::8.3.9 Suchen und Ersetzen9
| |
| | |
| ::8.3.10 Sonstige Kommandos10
| |
| | |
| ::8.3.11 Markierungen10
| |
| | |
| ::8.3.12 Einrücken und klammern10
| |
| | |
| :8.4 Einstellungen11
| |
| | |
| :8.5 Tipps und Tricks12
| |
| | |
| :8.6 Weblinks13
| |
| | |
| V.102 (16.03.2020)
| |
| | |
| = Der Bildschirmeditor vi(m) =
| |
| | |
| == Einführung == | |
| | |
| [[Image:Grafik2.png|right|top]]
| |
| | |
| Der Editor vi (visual) ist ein bildschirmorientierter Editor, d.h. der Text ist in seiner aktuellen Version auf dem Bildschirm zu sehen. Es erfolgt hier nur ein Überblick der Möglichkeiten des vi.
| |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| [[Image:Grafik1.png|right|top]]Nach dem Aufruf des vi befindet sich der Benutzer im Kommandomodus. Die Arbeit spielt sich wie beim ed immer in zwei Ebenen ab: * Kommandomodus
| |
|
| |
|
| | {| class="wikitable options" |
| | | Kommandomodus || |
| * Freies Positionieren innerhalb des Textes | | * Freies Positionieren innerhalb des Textes |
| * Umsetzen von TextblöckenSchreiben und Lesen von Dateien | | * Umsetzen von Textblöcken |
| | * Schreiben und Lesen von Dateien |
| * Löschen von Textblöcken und Aufruf von UNIX-Kommandos | | * Löschen von Textblöcken und Aufruf von UNIX-Kommandos |
| | | |- |
| <div style="margin-left:1.27cm;margin-right:0cm;"></div>
| | | Eingabemodus || |
| * Eingabemodus
| | * Einfügen von Text |
| | |
| * Einfügen von Text | |
| * Überschreiben vorhandener Textpassagen | | * Überschreiben vorhandener Textpassagen |
|
| |
|
| |
|
| |
| Das Umschalten zwischen den Modi erfolgt mit der [ESC]-Taste. Die Handhabung des Kommandomodus des vi macht die Bedienung für den Anfänger etwas ungewohnt. Die Cursorpositionierung erfolgt mit verschiedenen Tasten, für die Eingabe von Dateibefehlen oder anderen Funktionen (z. B. Suchen/ersetzen) ist die Eingabe eines Doppelpunktes nötig. Man befindet sich dann in ex-Modus, der ähnliche Eigenschaften hat, wie der Editor ed.
| |
|
| |
| === Den vi starten ===
| |
|
| |
| Programmaufruf:
| |
|
| |
| <div style="margin-left:0cm;margin-right:0cm;">'''vi [Dateiname]'''</div>
| |
|
| |
| [[Image:Grafik4.png|right|top]]Ist die Datei vorhanden, wird sie in den Editorpuffer geladen, andernfalls wird sie neu angelegt.
| |
|
| |
| Wird der vi ohne die Angabe eines Dateinamens gestartet, ist der Bildschirm auf der linken Seite mit Tilden (~) gefüllt. Jede leere Zeile hinter dem Ende der Datei wird auf diese Art dargestellt.
| |
|
| |
|
| |
| Am unteren Ende des Bildschirms wird der Dateiname anzeigt, falls eine existierende Datei angegeben wurde. Die Größe der Datei wird ebenfalls angezeigt .
| |
|
| |
|
| |
| [[Image:Grafik5.png|right|top]]
| |
|
| |
| Wenn diese Informationen nicht angezeigt werden, könnte es sein, dass der Terminaltyp falsch gesetzt ist. Dann sollte der vi mit <tt>:q! </tt>und [ENTER] verlassen und der Terminaltyp korrekt eingestellt werden.
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
| Falls die angegebene Datei nicht existiert, wird auf folgende Art angezeigt, dass es sich um eine neue Datei handelt:
| |
|
| |
| "newfile" [New file]
| |
|
| |
| Nach dem Start ohne Dateinamen, ist die unterste Bildschirmzeile leer.
| |
|
| |
| === Aufrufparameter ===
| |
|
| |
|
| |
| {| style="border-spacing:0;margin:auto;width:17.501cm;"
| |
| |-
| |
| | style="border-top:2.5pt solid #000000;border-bottom:2.5pt solid #000000;border-left:2.5pt solid #000000;border-right:none;padding-top:0.101cm;padding-bottom:0.101cm;padding-left:0.349cm;padding-right:0.349cm;" | <tt>'''-r '''</tt>
| |
| | style="border-top:2.5pt solid #000000;border-bottom:2.5pt solid #000000;border-left:0.5pt solid #000000;border-right:2.5pt solid #000000;padding-top:0.101cm;padding-bottom:0.101cm;padding-left:0.349cm;padding-right:0.349cm;" | (recovery) Stellt die letzte Datei nach einem Absturz wieder her
| |
|
| |
|
| |
| |-
| |
| |}
| |
| === Hilfen ===
| |
|
| |
|
| |
| {| style="border-spacing:0;margin:auto;width:17.501cm;"
| |
| |-
| |
| | style="background-color:transparent;border-top:2.5pt solid #000000;border-bottom:0.5pt solid #000000;border-left:2.5pt solid #000000;border-right:none;padding-top:0.101cm;padding-bottom:0.101cm;padding-left:0.349cm;padding-right:0.349cm;" | <tt>'''man vi'''</tt>
| |
| | style="background-color:transparent;border-top:2.5pt solid #000000;border-bottom:0.5pt solid #000000;border-left:0.5pt solid #000000;border-right:2.5pt solid #000000;padding-top:0.101cm;padding-bottom:0.101cm;padding-left:0.349cm;padding-right:0.349cm;" | Manualpage von <tt>'''vi'''</tt> aufrufen
| |
| |-
| |
| | style="background-color:transparent;border-top:none;border-bottom:0.5pt solid #000000;border-left:2.5pt solid #000000;border-right:none;padding-top:0.101cm;padding-bottom:0.101cm;padding-left:0.349cm;padding-right:0.349cm;" | <tt>''':h <Stichwort>'''</tt>
| |
| | style="background-color:transparent;border-top:none;border-bottom:0.5pt solid #000000;border-left:0.5pt solid #000000;border-right:2.5pt solid #000000;padding-top:0.101cm;padding-bottom:0.101cm;padding-left:0.349cm;padding-right:0.349cm;" | Hilfe aufrufen (mit :q verlassen)
| |
| |-
| |
| | style="background-color:transparent;border-top:none;border-bottom:2.5pt solid #000000;border-left:2.5pt solid #000000;border-right:none;padding-top:0.101cm;padding-bottom:0.101cm;padding-left:0.349cm;padding-right:0.349cm;" | <tt>'''vimtutor'''</tt>
| |
| | style="background-color:transparent;border-top:none;border-bottom:2.5pt solid #000000;border-left:0.5pt solid #000000;border-right:2.5pt solid #000000;padding-top:0.101cm;padding-bottom:0.101cm;padding-left:0.349cm;padding-right:0.349cm;" | Lernprogramm
| |
| |- | | |- |
| | | Kommandozeilenmodus </br>(ex-Modus) || |
| | * Dateien speichern, öffnen, wechseln |
| | * Suchen und ersetzen |
| | * Konfiguration |
| |} | | |} |
| <div style="text-align:center;">[[Image:Grafik3.png]]</div>
| |
|
| |
| == Cursorpositionierung ==
| |
|
| |
|
| Normalerweise ist der <tt>'''vi'''</tt> an die Pfeiltasten der Tastatur richtig angepasst. Daneben gibt es noch folgende Möglichkeiten (Auswahl):
| | Nach dem Aufruf des vi befindet sich der Benutzer im Kommandomodus |
|
| |
|
| | == Aufruf == |
| | <syntaxhighlight lang="bash" highlight="1,2" line> |
| | vim [Optionen] [Datei]n |
| | vi [Optionen] [Datei]n |
| | </syntaxhighlight> |
| | Auf vielen Systemen ist die Kurzform ''vi'' ausreichend |
|
| |
|
| {| style="border-spacing:0;margin:auto;width:17.501cm;"
| | === Optionen === |
| |-
| | {| class="wikitable options" |
| | style="border-top:2.5pt solid #000000;border-bottom:0.5pt solid #000000;border-left:2.5pt solid #000000;border-right:none;padding-top:0.101cm;padding-bottom:0.101cm;padding-left:0.349cm;padding-right:0.349cm;" | <tt>'''h '''</tt>
| |
| | style="border-top:2.5pt solid #000000;border-bottom:0.5pt solid #000000;border-left:0.5pt solid #000000;border-right:2.5pt solid #000000;padding-top:0.101cm;padding-bottom:0.101cm;padding-left:0.349cm;padding-right:0.349cm;" | Zeichen links (auch Backspace)
| |
| |-
| |
| | style="border-top:none;border-bottom:0.5pt solid #000000;border-left:2.5pt solid #000000;border-right:none;padding-top:0.101cm;padding-bottom:0.101cm;padding-left:0.349cm;padding-right:0.349cm;" | <tt>'''l '''</tt>
| |
| | style="border-top:none;border-bottom:0.5pt solid #000000;border-left:0.5pt solid #000000;border-right:2.5pt solid #000000;padding-top:0.101cm;padding-bottom:0.101cm;padding-left:0.349cm;padding-right:0.349cm;" | Zeichen rechts (auch blank)
| |
| |-
| |
| | style="border-top:none;border-bottom:0.5pt solid #000000;border-left:2.5pt solid #000000;border-right:none;padding-top:0.101cm;padding-bottom:0.101cm;padding-left:0.349cm;padding-right:0.349cm;" | <tt>'''k '''</tt>
| |
| | style="border-top:none;border-bottom:0.5pt solid #000000;border-left:0.5pt solid #000000;border-right:2.5pt solid #000000;padding-top:0.101cm;padding-bottom:0.101cm;padding-left:0.349cm;padding-right:0.349cm;" | Zeile höher | |
| |-
| |
| | style="border-top:none;border-bottom:0.5pt solid #000000;border-left:2.5pt solid #000000;border-right:none;padding-top:0.101cm;padding-bottom:0.101cm;padding-left:0.349cm;padding-right:0.349cm;" | <tt>'''j '''</tt>
| |
| | style="border-top:none;border-bottom:0.5pt solid #000000;border-left:0.5pt solid #000000;border-right:2.5pt solid #000000;padding-top:0.101cm;padding-bottom:0.101cm;padding-left:0.349cm;padding-right:0.349cm;" | Zeile tiefer
| |
| |-
| |
| | style="border-top:none;border-bottom:0.5pt solid #000000;border-left:2.5pt solid #000000;border-right:none;padding-top:0.101cm;padding-bottom:0.101cm;padding-left:0.349cm;padding-right:0.349cm;" | <tt>'''b '''</tt>
| |
| | style="border-top:none;border-bottom:0.5pt solid #000000;border-left:0.5pt solid #000000;border-right:2.5pt solid #000000;padding-top:0.101cm;padding-bottom:0.101cm;padding-left:0.349cm;padding-right:0.349cm;" | Wortanfang
| |
| |-
| |
| | style="border-top:none;border-bottom:0.5pt solid #000000;border-left:2.5pt solid #000000;border-right:none;padding-top:0.101cm;padding-bottom:0.101cm;padding-left:0.349cm;padding-right:0.349cm;" | <tt>'''e '''</tt>
| |
| | style="border-top:none;border-bottom:0.5pt solid #000000;border-left:0.5pt solid #000000;border-right:2.5pt solid #000000;padding-top:0.101cm;padding-bottom:0.101cm;padding-left:0.349cm;padding-right:0.349cm;" | Wortende
| |
| |-
| |
| | style="border-top:none;border-bottom:0.5pt solid #000000;border-left:2.5pt solid #000000;border-right:none;padding-top:0.101cm;padding-bottom:0.101cm;padding-left:0.349cm;padding-right:0.349cm;" | <tt>'''w '''</tt>
| |
| | style="border-top:none;border-bottom:0.5pt solid #000000;border-left:0.5pt solid #000000;border-right:2.5pt solid #000000;padding-top:0.101cm;padding-bottom:0.101cm;padding-left:0.349cm;padding-right:0.349cm;" | Anfang nächstes Wort
| |
| |- | | |- |
| | style="border-top:none;border-bottom:0.5pt solid #000000;border-left:2.5pt solid #000000;border-right:none;padding-top:0.101cm;padding-bottom:0.101cm;padding-left:0.349cm;padding-right:0.349cm;" | <tt>'''H '''</tt>
| | ! Option !! Beschreibung |
| | style="border-top:none;border-bottom:0.5pt solid #000000;border-left:0.5pt solid #000000;border-right:2.5pt solid #000000;padding-top:0.101cm;padding-bottom:0.101cm;padding-left:0.349cm;padding-right:0.349cm;" | Anfang erste Zeile des Bildschirms
| |
| |-
| |
| | style="border-top:none;border-bottom:0.5pt solid #000000;border-left:2.5pt solid #000000;border-right:none;padding-top:0.101cm;padding-bottom:0.101cm;padding-left:0.349cm;padding-right:0.349cm;" | <tt>'''L '''</tt>
| |
| | style="border-top:none;border-bottom:0.5pt solid #000000;border-left:0.5pt solid #000000;border-right:2.5pt solid #000000;padding-top:0.101cm;padding-bottom:0.101cm;padding-left:0.349cm;padding-right:0.349cm;" | Anfang letzten Zeile des Bildschirms
| |
| |-
| |
| | style="border-top:none;border-bottom:0.5pt solid #000000;border-left:2.5pt solid #000000;border-right:none;padding-top:0.101cm;padding-bottom:0.101cm;padding-left:0.349cm;padding-right:0.349cm;" | <tt>'''0 (Null) '''</tt>
| |
| | style="border-top:none;border-bottom:0.5pt solid #000000;border-left:0.5pt solid #000000;border-right:2.5pt solid #000000;padding-top:0.101cm;padding-bottom:0.101cm;padding-left:0.349cm;padding-right:0.349cm;" | Zeilenanfang
| |
| |-
| |
| | style="border-top:none;border-bottom:0.5pt solid #000000;border-left:2.5pt solid #000000;border-right:none;padding-top:0.101cm;padding-bottom:0.101cm;padding-left:0.349cm;padding-right:0.349cm;" | <tt>'''$ '''</tt>
| |
| | style="border-top:none;border-bottom:0.5pt solid #000000;border-left:0.5pt solid #000000;border-right:2.5pt solid #000000;padding-top:0.101cm;padding-bottom:0.101cm;padding-left:0.349cm;padding-right:0.349cm;" | Zeilenende
| |
| |-
| |
| | style="border-top:none;border-bottom:0.5pt solid #000000;border-left:2.5pt solid #000000;border-right:none;padding-top:0.101cm;padding-bottom:0.101cm;padding-left:0.349cm;padding-right:0.349cm;" | <tt>'''RETURN '''</tt>
| |
| | style="border-top:none;border-bottom:0.5pt solid #000000;border-left:0.5pt solid #000000;border-right:2.5pt solid #000000;padding-top:0.101cm;padding-bottom:0.101cm;padding-left:0.349cm;padding-right:0.349cm;" | nächste Zeile
| |
| |-
| |
| | style="border-top:none;border-bottom:0.5pt solid #000000;border-left:2.5pt solid #000000;border-right:none;padding-top:0.101cm;padding-bottom:0.101cm;padding-left:0.349cm;padding-right:0.349cm;" | <tt><u>'''''n''</u>G '''</tt>
| |
| | style="border-top:none;border-bottom:0.5pt solid #000000;border-left:0.5pt solid #000000;border-right:2.5pt solid #000000;padding-top:0.101cm;padding-bottom:0.101cm;padding-left:0.349cm;padding-right:0.349cm;" | (''Go'') Gehe zu Zeile <tt><u>'''''n'''''</u></tt>. <tt><u>'''''n'''''</u></tt> ist eine Zeilennummer. Fehlt die Zahl, wird zur letzten Zeile der Datei gesprungen.
| |
| |-
| |
| | style="border-top:none;border-bottom:0.5pt solid #000000;border-left:2.5pt solid #000000;border-right:none;padding-top:0.101cm;padding-bottom:0.101cm;padding-left:0.349cm;padding-right:0.349cm;" | <tt>'''%'''</tt>
| |
| | style="border-top:none;border-bottom:0.5pt solid #000000;border-left:0.5pt solid #000000;border-right:2.5pt solid #000000;padding-top:0.101cm;padding-bottom:0.101cm;padding-left:0.349cm;padding-right:0.349cm;" | sucht zur aktuellen Klammer die korrespondierende öffnende bzw. schließende Klammer
| |
| |-
| |
| | style="border-top:none;border-bottom:0.5pt solid #000000;border-left:2.5pt solid #000000;border-right:none;padding-top:0.101cm;padding-bottom:0.101cm;padding-left:0.349cm;padding-right:0.349cm;" | '''('''
| |
| | style="border-top:none;border-bottom:0.5pt solid #000000;border-left:0.5pt solid #000000;border-right:2.5pt solid #000000;padding-top:0.101cm;padding-bottom:0.101cm;padding-left:0.349cm;padding-right:0.349cm;" | Cursor zum Anfang des Satzes bewegen
| |
| |-
| |
| | style="border-top:none;border-bottom:0.5pt solid #000000;border-left:2.5pt solid #000000;border-right:none;padding-top:0.101cm;padding-bottom:0.101cm;padding-left:0.349cm;padding-right:0.349cm;" | ''')'''
| |
| | style="border-top:none;border-bottom:0.5pt solid #000000;border-left:0.5pt solid #000000;border-right:2.5pt solid #000000;padding-top:0.101cm;padding-bottom:0.101cm;padding-left:0.349cm;padding-right:0.349cm;" | Cursor zum Anfang des nächsten Satzes bewegen
| |
| |-
| |
| | style="border-top:none;border-bottom:0.5pt solid #000000;border-left:2.5pt solid #000000;border-right:none;padding-top:0.101cm;padding-bottom:0.101cm;padding-left:0.349cm;padding-right:0.349cm;" | '''{'''
| |
| | style="border-top:none;border-bottom:0.5pt solid #000000;border-left:0.5pt solid #000000;border-right:2.5pt solid #000000;padding-top:0.101cm;padding-bottom:0.101cm;padding-left:0.349cm;padding-right:0.349cm;" | Cursor zum Anfang des Absatzes bewegen
| |
| |-
| |
| | style="border-top:none;border-bottom:2.5pt solid #000000;border-left:2.5pt solid #000000;border-right:none;padding-top:0.101cm;padding-bottom:0.101cm;padding-left:0.349cm;padding-right:0.349cm;" | '''}'''
| |
| | style="border-top:none;border-bottom:2.5pt solid #000000;border-left:0.5pt solid #000000;border-right:2.5pt solid #000000;padding-top:0.101cm;padding-bottom:0.101cm;padding-left:0.349cm;padding-right:0.349cm;" | Cursor zum Anfang des nächsten Absatzes bewegen
| |
| | |
| | |
| |- | | |- |
| | | -r || (recovery) Stellt die letzte Datei nach einem Absturz wieder her |
| |} | | |} |
| == Befehle im Befehls-Modus == | | === Parameter === |
| | | === Umgebungsvariablen === |
| Die Befehle des ''Befehls''-Modus haben normalerweise folgendes Format:
| | === Exit-Status === |
| | | === Hilfen === |
| <div style="margin-left:0cm;margin-right:0cm;">[Anzahl] Befehl [Ort] </div>
| | {|class="wikitable sortable" |
| | |
| Die meisten Befehle sind ein Zeichen lang. Mit ''Anzahl'' wird ein Wiederholungsfaktor dür den folgenden Befehl angegeben. So löscht zum Beispiel der Befehl <tt>x</tt> das Zeichen unter der Schreibmarke. Wird <tt>10x</tt> eingegeben, werden 10 Zeichen gelöscht.
| |
| | |
| Einige Befehle nutzen einen optionalen ''Ort''-Parameter, der angibt, wieviele Zeilen oder wieviel Text des Dokuments vom Befehl bearbeitet werden soll. Der ''Ort''-Parameter kann auch jeder Befehl sein, der die Schreibmarke bewegt.
| |
| | |
| === Allgemeine Befehle === | |
| | |
| | |
| {| style="border-spacing:0;margin:auto;width:17.501cm;"
| |
| |-
| |
| | style="border-top:2.5pt solid #000000;border-bottom:0.5pt solid #000000;border-left:2.5pt solid #000000;border-right:none;padding-top:0.101cm;padding-bottom:0.101cm;padding-left:0.349cm;padding-right:0.349cm;" | <tt>''':q'''</tt>
| |
| | style="border-top:2.5pt solid #000000;border-bottom:0.5pt solid #000000;border-left:0.5pt solid #000000;border-right:2.5pt solid #000000;padding-top:0.101cm;padding-bottom:0.101cm;padding-left:0.349cm;padding-right:0.349cm;" | vi beenden (wenn keine Änderungen)
| |
| |-
| |
| | style="border-top:none;border-bottom:2.5pt solid #000000;border-left:2.5pt solid #000000;border-right:none;padding-top:0.101cm;padding-bottom:0.101cm;padding-left:0.349cm;padding-right:0.349cm;" | <tt>''':q!'''</tt>
| |
| | style="border-top:none;border-bottom:2.5pt solid #000000;border-left:0.5pt solid #000000;border-right:2.5pt solid #000000;padding-top:0.101cm;padding-bottom:0.101cm;padding-left:0.349cm;padding-right:0.349cm;" | vi beenden und Änderungen verwerfen
| |
| | |
| | |
| |-
| |
| |}
| |
| === Dateibefehle === | |
| | |
| | |
| {| style="border-spacing:0;margin:auto;width:17.501cm;" | |
| |-
| |
| | style="border-top:2.5pt solid #000000;border-bottom:0.5pt solid #000000;border-left:2.5pt solid #000000;border-right:none;padding-top:0.101cm;padding-bottom:0.101cm;padding-left:0.349cm;padding-right:0.349cm;" | <tt>''':r Datei'''</tt>
| |
| | style="border-top:2.5pt solid #000000;border-bottom:0.5pt solid #000000;border-left:0.5pt solid #000000;border-right:2.5pt solid #000000;padding-top:0.101cm;padding-bottom:0.101cm;padding-left:0.349cm;padding-right:0.349cm;" | Text aus der angegebenen Datei nach der momentanen Zeile einfügen
| |
| |-
| |
| | style="border-top:none;border-bottom:0.5pt solid #000000;border-left:2.5pt solid #000000;border-right:none;padding-top:0.101cm;padding-bottom:0.101cm;padding-left:0.349cm;padding-right:0.349cm;" | <tt>''':w'''</tt>
| |
| | style="border-top:none;border-bottom:0.5pt solid #000000;border-left:0.5pt solid #000000;border-right:2.5pt solid #000000;padding-top:0.101cm;padding-bottom:0.101cm;padding-left:0.349cm;padding-right:0.349cm;" | Datei speichern
| |
| |-
| |
| | style="border-top:none;border-bottom:0.5pt solid #000000;border-left:2.5pt solid #000000;border-right:none;padding-top:0.101cm;padding-bottom:0.101cm;padding-left:0.349cm;padding-right:0.349cm;" | <tt>''':w!'''</tt>
| |
| | style="border-top:none;border-bottom:0.5pt solid #000000;border-left:0.5pt solid #000000;border-right:2.5pt solid #000000;padding-top:0.101cm;padding-bottom:0.101cm;padding-left:0.349cm;padding-right:0.349cm;" | Datei speichern und Schreibschutz ignorieren
| |
| |- | | |- |
| | style="border-top:none;border-bottom:0.5pt solid #000000;border-left:2.5pt solid #000000;border-right:none;padding-top:0.101cm;padding-bottom:0.101cm;padding-left:0.349cm;padding-right:0.349cm;" | <tt>''':w Datei'''</tt> | | | | '''man vi''' |
| | style="border-top:none;border-bottom:0.5pt solid #000000;border-left:0.5pt solid #000000;border-right:2.5pt solid #000000;padding-top:0.101cm;padding-bottom:0.101cm;padding-left:0.349cm;padding-right:0.349cm;" | Speichern unter ... (angegebene Datei wird überschrieben) | | | | Manualpage von '''vi''' aufrufen |
| |- | | |- |
| | style="border-top:none;border-bottom:0.5pt solid #000000;border-left:2.5pt solid #000000;border-right:none;padding-top:0.101cm;padding-bottom:0.101cm;padding-left:0.349cm;padding-right:0.349cm;" | <tt>''':w >> Datei'''</tt> | | | | ''':h <Stichwort>''' |
| | style="border-top:none;border-bottom:0.5pt solid #000000;border-left:0.5pt solid #000000;border-right:2.5pt solid #000000;padding-top:0.101cm;padding-bottom:0.101cm;padding-left:0.349cm;padding-right:0.349cm;" | Text an die angegebene Datei anhängen | | | | Hilfe aufrufen (mit :q verlassen) |
| |- | | |- |
| | style="border-top:none;border-bottom:2.5pt solid #000000;border-left:2.5pt solid #000000;border-right:none;padding-top:0.101cm;padding-bottom:0.101cm;padding-left:0.349cm;padding-right:0.349cm;" | <tt>''':wq oder :x oder ZZ'''</tt> | | | | '''vimtutor''' |
| | style="border-top:none;border-bottom:2.5pt solid #000000;border-left:0.5pt solid #000000;border-right:2.5pt solid #000000;padding-top:0.101cm;padding-bottom:0.101cm;padding-left:0.349cm;padding-right:0.349cm;" | Text speichern und vi beenden | | | | Lernprogramm |
| | |
| | |
| |- | | |- |
| |} | | |} |
| === Mehrere Dateien bearbeiten ===
| |
|
| |
| Um mehr als eine Datei zu bearbeiten, können beim Aufruf mehrere Dateinamen übergeben oder nachträglich weitere Dateien geöffnet werden.
| |
|
| |
|
| |
| {| style="border-spacing:0;margin:auto;width:17.501cm;"
| |
| |-
| |
| | style="border-top:2.5pt solid #000000;border-bottom:0.5pt solid #000000;border-left:2.5pt solid #000000;border-right:none;padding-top:0.101cm;padding-bottom:0.101cm;padding-left:0.349cm;padding-right:0.349cm;" | <tt>''':e Datei'''</tt>
| |
| | style="border-top:2.5pt solid #000000;border-bottom:0.5pt solid #000000;border-left:0.5pt solid #000000;border-right:2.5pt solid #000000;padding-top:0.101cm;padding-bottom:0.101cm;padding-left:0.349cm;padding-right:0.349cm;" | Neue Datei bearbeiten
| |
| |-
| |
| | style="border-top:none;border-bottom:2.5pt solid #000000;border-left:2.5pt solid #000000;border-right:none;padding-top:0.101cm;padding-bottom:0.101cm;padding-left:0.349cm;padding-right:0.349cm;" | <tt>''':n'''</tt>
| |
| | style="border-top:none;border-bottom:2.5pt solid #000000;border-left:0.5pt solid #000000;border-right:2.5pt solid #000000;padding-top:0.101cm;padding-bottom:0.101cm;padding-left:0.349cm;padding-right:0.349cm;" | Wechselt zur nächsten geladenen Datei
| |
|
| |
|
| | == Befehlsmodus == |
| | ; Nach dem Aufruf befindet sich Vim im Befehlsmodus |
| | Vergleichbar mit Klicken durch die Menüs eines grafischen Programms |
|
| |
|
| | {| class="wikitable options" |
| | ! Tastenkürzel !! Aktion |
| |- | | |- |
| |} | | | j || Schritt abwärts |
| === Blättern auf dem Bildschirm ===
| | |- |
| | | | k || Schritt aufwärts |
| Normalerweise ist der <tt>'''vi'''</tt> an die Pfeiltasten der Tastatur richtig angepasst. Daneben gibt es noch folgende Möglichkeiten (Auswahl):
| |
| | |
| | |
| {| style="border-spacing:0;margin:auto;width:17.501cm;"
| |
| |- | | |- |
| | style="border-top:2.5pt solid #000000;border-bottom:0.5pt solid #000000;border-left:2.5pt solid #000000;border-right:none;padding-top:0.101cm;padding-bottom:0.101cm;padding-left:0.349cm;padding-right:0.349cm;" | <tt>'''STRG-F '''</tt> | | | h || Schritt nach links |
| | style="border-top:2.5pt solid #000000;border-bottom:0.5pt solid #000000;border-left:0.5pt solid #000000;border-right:2.5pt solid #000000;padding-top:0.101cm;padding-bottom:0.101cm;padding-left:0.349cm;padding-right:0.349cm;" | Eine Bildschirmseite vorwärts | |
| |- | | |- |
| | style="border-top:none;border-bottom:0.5pt solid #000000;border-left:2.5pt solid #000000;border-right:none;padding-top:0.101cm;padding-bottom:0.101cm;padding-left:0.349cm;padding-right:0.349cm;" | <tt>'''STRG-B '''</tt> | | | l || Schritt nach rechts |
| | style="border-top:none;border-bottom:0.5pt solid #000000;border-left:0.5pt solid #000000;border-right:2.5pt solid #000000;padding-top:0.101cm;padding-bottom:0.101cm;padding-left:0.349cm;padding-right:0.349cm;" | Eine Bildschirmseite rückwärts | |
| |- | | |- |
| | style="border-top:none;border-bottom:0.5pt solid #000000;border-left:2.5pt solid #000000;border-right:none;padding-top:0.101cm;padding-bottom:0.101cm;padding-left:0.349cm;padding-right:0.349cm;" | <tt>'''STRG-D '''</tt> | | | dd || löscht eine komplette Zeile an der Cursorposition |
| | style="border-top:none;border-bottom:0.5pt solid #000000;border-left:0.5pt solid #000000;border-right:2.5pt solid #000000;padding-top:0.101cm;padding-bottom:0.101cm;padding-left:0.349cm;padding-right:0.349cm;" | Eine halbe Bildschirmseite vorwärts | |
| |- | | |- |
| | style="border-top:none;border-bottom:0.5pt solid #000000;border-left:2.5pt solid #000000;border-right:none;padding-top:0.101cm;padding-bottom:0.101cm;padding-left:0.349cm;padding-right:0.349cm;" | <tt>'''STRG-U'''</tt> | | | u || macht letzte Änderung rückgängig |
| | style="border-top:none;border-bottom:0.5pt solid #000000;border-left:0.5pt solid #000000;border-right:2.5pt solid #000000;padding-top:0.101cm;padding-bottom:0.101cm;padding-left:0.349cm;padding-right:0.349cm;" | Eine halbe Bildschirmseite rückwärts | |
| |- | | |- |
| | style="border-top:none;border-bottom:2.5pt solid #000000;border-left:2.5pt solid #000000;border-right:none;padding-top:0.101cm;padding-bottom:0.101cm;padding-left:0.349cm;padding-right:0.349cm;" | <tt>'''STRG-L '''</tt> | | | STRG + R || macht u rückgängig |
| | style="border-top:none;border-bottom:2.5pt solid #000000;border-left:0.5pt solid #000000;border-right:2.5pt solid #000000;padding-top:0.101cm;padding-bottom:0.101cm;padding-left:0.349cm;padding-right:0.349cm;" | Bildschirm neu aufbauen (wenn z.B. eine Nachricht kam) | |
| | |
| | |
| |- | | |- |
| | | ZZ || speichert die Datei und beendet Vim |
| |} | | |} |
| === Texteingabe ===
| |
|
| |
|
| |
|
| {| style="border-spacing:0;margin:auto;width:17.501cm;"
| | == Einfügemodus == |
| |-
| | Befindet sich der Vim im Einfügemodus, so kann der Text nach Belieben editiert werden |
| | style="border-top:2.5pt solid #000000;border-bottom:0.5pt solid #000000;border-left:2.5pt solid #000000;border-right:none;padding-top:0.101cm;padding-bottom:0.101cm;padding-left:0.349cm;padding-right:0.349cm;" | <tt>'''i'''</tt>
| | {| class="wikitable options" |
| | style="border-top:2.5pt solid #000000;border-bottom:0.5pt solid #000000;border-left:0.5pt solid #000000;border-right:2.5pt solid #000000;padding-top:0.101cm;padding-bottom:0.101cm;padding-left:0.349cm;padding-right:0.349cm;" | (''insert'') Eingabe links vom Cursor
| | ! Tastenkürzel !! Aktion |
| |-
| |
| | style="border-top:none;border-bottom:0.5pt solid #000000;border-left:2.5pt solid #000000;border-right:none;padding-top:0.101cm;padding-bottom:0.101cm;padding-left:0.349cm;padding-right:0.349cm;" | <tt>'''I '''</tt>
| |
| | style="border-top:none;border-bottom:0.5pt solid #000000;border-left:0.5pt solid #000000;border-right:2.5pt solid #000000;padding-top:0.101cm;padding-bottom:0.101cm;padding-left:0.349cm;padding-right:0.349cm;" | Eingaben am Zeilenanfang
| |
| |-
| |
| | style="border-top:none;border-bottom:0.5pt solid #000000;border-left:2.5pt solid #000000;border-right:none;padding-top:0.101cm;padding-bottom:0.101cm;padding-left:0.349cm;padding-right:0.349cm;" | <tt>'''a'''</tt> | |
| | style="border-top:none;border-bottom:0.5pt solid #000000;border-left:0.5pt solid #000000;border-right:2.5pt solid #000000;padding-top:0.101cm;padding-bottom:0.101cm;padding-left:0.349cm;padding-right:0.349cm;" | (''append'') Eingabe rechts vom Cursor
| |
| |- | | |- |
| | style="border-top:none;border-bottom:0.5pt solid #000000;border-left:2.5pt solid #000000;border-right:none;padding-top:0.101cm;padding-bottom:0.101cm;padding-left:0.349cm;padding-right:0.349cm;" | <tt>'''A '''</tt> | | | i || Editiermodus an der Cursorposition starten |
| | style="border-top:none;border-bottom:0.5pt solid #000000;border-left:0.5pt solid #000000;border-right:2.5pt solid #000000;padding-top:0.101cm;padding-bottom:0.101cm;padding-left:0.349cm;padding-right:0.349cm;" | (appand) Eingabe am Zeilenende | |
| |- | | |- |
| | style="border-top:none;border-bottom:0.5pt solid #000000;border-left:2.5pt solid #000000;border-right:none;padding-top:0.101cm;padding-bottom:0.101cm;padding-left:0.349cm;padding-right:0.349cm;" | <tt>'''o '''</tt> | | | a || Editiermodus eine Stelle hinter der Cursorposition starten |
| | style="border-top:none;border-bottom:0.5pt solid #000000;border-left:0.5pt solid #000000;border-right:2.5pt solid #000000;padding-top:0.101cm;padding-bottom:0.101cm;padding-left:0.349cm;padding-right:0.349cm;" | Neue Zeile unter der aktuellen Zeile | |
| |- | | |- |
| | style="border-top:none;border-bottom:2.5pt solid #000000;border-left:2.5pt solid #000000;border-right:none;padding-top:0.101cm;padding-bottom:0.101cm;padding-left:0.349cm;padding-right:0.349cm;" | <tt>'''O '''</tt> | | | o || Zeile unterhalb der Cursorposition einfügen und Editiermodus starten |
| | style="border-top:none;border-bottom:2.5pt solid #000000;border-left:0.5pt solid #000000;border-right:2.5pt solid #000000;padding-top:0.101cm;padding-bottom:0.101cm;padding-left:0.349cm;padding-right:0.349cm;" | Eingabe in der vorhergehenden Zeile, Spalte 1 | |
| |- | | |- |
| | | ESC || Editiermodus verlassen |
| |} | | |} |
| Der Eingabemodus wird durch Drücken der [ESC]-Taste verlassen.
| |
|
| |
|
| === Text ändern === | | == Kommandozeilenmodus == |
| | | Neben Befehlen, die zum Bewegen durch die Datei oder deren Modifikation dienen, kann man im Kommandozeilenmodus auch Parameter des Programms selber ändern, Dateien laden und/oder (Shell-) Befehle ausführen |
| | | * Das Verhalten ist mit einer Mini-Kommandozeile vergleichbar |
| {| style="border-spacing:0;margin:auto;width:17.501cm;"
| | {| class="wikitable options" |
| |-
| | ! Tastenkürzel !! Aktion |
| | style="border-top:2.5pt solid #000000;border-bottom:0.5pt solid #000000;border-left:2.5pt solid #000000;border-right:none;padding-top:0.101cm;padding-bottom:0.101cm;padding-left:0.349cm;padding-right:0.349cm;" | <tt>'''~'''</tt>
| |
| | style="border-top:2.5pt solid #000000;border-bottom:0.5pt solid #000000;border-left:0.5pt solid #000000;border-right:2.5pt solid #000000;padding-top:0.101cm;padding-bottom:0.101cm;padding-left:0.349cm;padding-right:0.349cm;" | Wechsel Groß-/Kleinbuchstaben (kein Abschluss mit [ESC])
| |
| |-
| |
| | style="border-top:none;border-bottom:0.5pt solid #000000;border-left:2.5pt solid #000000;border-right:none;padding-top:0.101cm;padding-bottom:0.101cm;padding-left:0.349cm;padding-right:0.349cm;" | <tt>'''r '''</tt>
| |
| | style="border-top:none;border-bottom:0.5pt solid #000000;border-left:0.5pt solid #000000;border-right:2.5pt solid #000000;padding-top:0.101cm;padding-bottom:0.101cm;padding-left:0.349cm;padding-right:0.349cm;" | Zeichen ersetzen (kein Abschluss mit [ESC])
| |
| |-
| |
| | style="border-top:none;border-bottom:0.5pt solid #000000;border-left:2.5pt solid #000000;border-right:none;padding-top:0.101cm;padding-bottom:0.101cm;padding-left:0.349cm;padding-right:0.349cm;" | <tt>'''R '''</tt> | |
| | style="border-top:none;border-bottom:0.5pt solid #000000;border-left:0.5pt solid #000000;border-right:2.5pt solid #000000;padding-top:0.101cm;padding-bottom:0.101cm;padding-left:0.349cm;padding-right:0.349cm;" | Mehrere Zeichen ersetzen
| |
| |- | | |- |
| | style="border-top:none;border-bottom:0.5pt solid #000000;border-left:2.5pt solid #000000;border-right:none;padding-top:0.101cm;padding-bottom:0.101cm;padding-left:0.349cm;padding-right:0.349cm;" | <tt>'''s '''</tt> | | | :w || Datei speichern |
| | style="border-top:none;border-bottom:0.5pt solid #000000;border-left:0.5pt solid #000000;border-right:2.5pt solid #000000;padding-top:0.101cm;padding-bottom:0.101cm;padding-left:0.349cm;padding-right:0.349cm;" | Ein Zeichen ersetzen und zusätzliche Zeichen anschließend einfügen | |
| |- | | |- |
| | style="border-top:none;border-bottom:0.5pt solid #000000;border-left:2.5pt solid #000000;border-right:none;padding-top:0.101cm;padding-bottom:0.101cm;padding-left:0.349cm;padding-right:0.349cm;" | <tt>'''cc '''</tt> | | |:w name || Datei unter name speichern |
| | style="border-top:none;border-bottom:0.5pt solid #000000;border-left:0.5pt solid #000000;border-right:2.5pt solid #000000;padding-top:0.101cm;padding-bottom:0.101cm;padding-left:0.349cm;padding-right:0.349cm;" | Gesamte Zeile ändern | |
| |- | | |- |
| | style="border-top:none;border-bottom:0.5pt solid #000000;border-left:2.5pt solid #000000;border-right:none;padding-top:0.101cm;padding-bottom:0.101cm;padding-left:0.349cm;padding-right:0.349cm;" | <tt>'''cw '''</tt> | | | :q! || Vim ohne Speichern beenden |
| | style="border-top:none;border-bottom:0.5pt solid #000000;border-left:0.5pt solid #000000;border-right:2.5pt solid #000000;padding-top:0.101cm;padding-bottom:0.101cm;padding-left:0.349cm;padding-right:0.349cm;" | Wort ändern | |
| |- | | |- |
| | style="border-top:none;border-bottom:0.5pt solid #000000;border-left:2.5pt solid #000000;border-right:none;padding-top:0.101cm;padding-bottom:0.101cm;padding-left:0.349cm;padding-right:0.349cm;" | <tt>'''C'''</tt> | | | /ausdruck || Datei nach ''ausdruck'' durchsuchen |
| | style="border-top:none;border-bottom:0.5pt solid #000000;border-left:0.5pt solid #000000;border-right:2.5pt solid #000000;padding-top:0.101cm;padding-bottom:0.101cm;padding-left:0.349cm;padding-right:0.349cm;" | ab Cursorposition bis Zeilenende ändern
| |
| |- | | |- |
| | style="border-top:none;border-bottom:2.5pt solid #000000;border-left:2.5pt solid #000000;border-right:none;padding-top:0.101cm;padding-bottom:0.101cm;padding-left:0.349cm;padding-right:0.349cm;" | <tt>'''J '''</tt> | | | :e ''dateiname'' || Datei ''dateiname'' öffnen |
| | style="border-top:none;border-bottom:2.5pt solid #000000;border-left:0.5pt solid #000000;border-right:2.5pt solid #000000;padding-top:0.101cm;padding-bottom:0.101cm;padding-left:0.349cm;padding-right:0.349cm;" | Zeilen verbinden (nächste Zeile anhängen)
| |
| | |
| | |
| |- | | |- |
| | | :e # || zur zuvor bearbeiteten Datei zurückkehren |
| |} | | |} |
| === Text ausschneiden ===
| |
|
| |
|
| |
| {| style="border-spacing:0;margin:auto;width:17.501cm;"
| |
| |-
| |
| | style="border-top:2.5pt solid #000000;border-bottom:0.5pt solid #000000;border-left:2.5pt solid #000000;border-right:none;padding-top:0.101cm;padding-bottom:0.101cm;padding-left:0.349cm;padding-right:0.349cm;" | <tt>'''x '''</tt>
| |
| | style="border-top:2.5pt solid #000000;border-bottom:0.5pt solid #000000;border-left:0.5pt solid #000000;border-right:2.5pt solid #000000;padding-top:0.101cm;padding-bottom:0.101cm;padding-left:0.349cm;padding-right:0.349cm;" | Zeichen unter dem Cursor löschen
| |
| |-
| |
| | style="border-top:none;border-bottom:0.5pt solid #000000;border-left:2.5pt solid #000000;border-right:none;padding-top:0.101cm;padding-bottom:0.101cm;padding-left:0.349cm;padding-right:0.349cm;" | <tt>'''X '''</tt>
| |
| | style="border-top:none;border-bottom:0.5pt solid #000000;border-left:0.5pt solid #000000;border-right:2.5pt solid #000000;padding-top:0.101cm;padding-bottom:0.101cm;padding-left:0.349cm;padding-right:0.349cm;" | Zeichen vor dem Cursor löschen
| |
| |-
| |
| | style="border-top:none;border-bottom:0.5pt solid #000000;border-left:2.5pt solid #000000;border-right:none;padding-top:0.101cm;padding-bottom:0.101cm;padding-left:0.349cm;padding-right:0.349cm;" | <tt>'''dw '''</tt>
| |
| | style="border-top:none;border-bottom:0.5pt solid #000000;border-left:0.5pt solid #000000;border-right:2.5pt solid #000000;padding-top:0.101cm;padding-bottom:0.101cm;padding-left:0.349cm;padding-right:0.349cm;" | ab Cursorposition bis Wortende löschen
| |
| |-
| |
| | style="border-top:none;border-bottom:0.5pt solid #000000;border-left:2.5pt solid #000000;border-right:none;padding-top:0.101cm;padding-bottom:0.101cm;padding-left:0.349cm;padding-right:0.349cm;" | <tt>'''db '''</tt>
| |
| | style="border-top:none;border-bottom:0.5pt solid #000000;border-left:0.5pt solid #000000;border-right:2.5pt solid #000000;padding-top:0.101cm;padding-bottom:0.101cm;padding-left:0.349cm;padding-right:0.349cm;" | ab Cursorposition bis Wortanfang löschen
| |
| |-
| |
| | style="border-top:none;border-bottom:0.5pt solid #000000;border-left:2.5pt solid #000000;border-right:none;padding-top:0.101cm;padding-bottom:0.101cm;padding-left:0.349cm;padding-right:0.349cm;" | <tt><u>'''''n''</u>dd '''</tt>
| |
| | style="border-top:none;border-bottom:0.5pt solid #000000;border-left:0.5pt solid #000000;border-right:2.5pt solid #000000;padding-top:0.101cm;padding-bottom:0.101cm;padding-left:0.349cm;padding-right:0.349cm;" | <tt><u>'''''n'''''</u></tt> ganze Zeile löschen
| |
| |-
| |
| | style="border-top:none;border-bottom:2.5pt solid #000000;border-left:2.5pt solid #000000;border-right:none;padding-top:0.101cm;padding-bottom:0.101cm;padding-left:0.349cm;padding-right:0.349cm;" | <tt>'''D'''</tt>
| |
| | style="border-top:none;border-bottom:2.5pt solid #000000;border-left:0.5pt solid #000000;border-right:2.5pt solid #000000;padding-top:0.101cm;padding-bottom:0.101cm;padding-left:0.349cm;padding-right:0.349cm;" | Ab Cursor bis Zeilenende löschen
| |
| |-
| |
| |}
| |
| Gelöschte Zeichen werden im anonymen Puffer abgelegt.
| |
|
| |
| === Kopieren und Einfügen ===
| |
|
| |
| Yank wird in der Regel mit einem zweiten Steuerbuchstaben kombiniert, der angibt, wie viel Text gepuffert wird. (z. B. "<tt>'''yw'''</tt>", "y$"). Vor "<tt>'''yy'''</tt>" kann noch die Anzahl der zu kopierenden Zeilen stehen (z. B. <tt>'''12yy'''</tt>).
| |
|
| |
|
| |
| {| style="border-spacing:0;margin:auto;width:17.501cm;"
| |
| |-
| |
| | style="border-top:2.5pt solid #000000;border-bottom:0.5pt solid #000000;border-left:2.5pt solid #000000;border-right:none;padding-top:0.101cm;padding-bottom:0.101cm;padding-left:0.349cm;padding-right:0.349cm;" | <tt>'''yy oder Y'''</tt>
| |
| | style="border-top:2.5pt solid #000000;border-bottom:0.5pt solid #000000;border-left:0.5pt solid #000000;border-right:2.5pt solid #000000;padding-top:0.101cm;padding-bottom:0.101cm;padding-left:0.349cm;padding-right:0.349cm;" | (Yank) ganze Zeile in anonymen Puffer kopieren
| |
| |-
| |
| | style="border-top:none;border-bottom:0.5pt solid #000000;border-left:2.5pt solid #000000;border-right:none;padding-top:0.101cm;padding-bottom:0.101cm;padding-left:0.349cm;padding-right:0.349cm;" | <tt>'''yw'''</tt>
| |
| | style="border-top:none;border-bottom:0.5pt solid #000000;border-left:0.5pt solid #000000;border-right:2.5pt solid #000000;padding-top:0.101cm;padding-bottom:0.101cm;padding-left:0.349cm;padding-right:0.349cm;" | Bis zum nächsten Wort kopieren
| |
| |-
| |
| | style="border-top:none;border-bottom:0.5pt solid #000000;border-left:2.5pt solid #000000;border-right:none;padding-top:0.101cm;padding-bottom:0.101cm;padding-left:0.349cm;padding-right:0.349cm;" | <tt>'''Y$'''</tt>
| |
| | style="border-top:none;border-bottom:0.5pt solid #000000;border-left:0.5pt solid #000000;border-right:2.5pt solid #000000;padding-top:0.101cm;padding-bottom:0.101cm;padding-left:0.349cm;padding-right:0.349cm;" | Bis Zeilenende kopieren
| |
| |-
| |
| | style="border-top:none;border-bottom:0.5pt solid #000000;border-left:2.5pt solid #000000;border-right:none;padding-top:0.101cm;padding-bottom:0.101cm;padding-left:0.349cm;padding-right:0.349cm;" | <tt>'''p'''</tt>
| |
| | style="border-top:none;border-bottom:0.5pt solid #000000;border-left:0.5pt solid #000000;border-right:2.5pt solid #000000;padding-top:0.101cm;padding-bottom:0.101cm;padding-left:0.349cm;padding-right:0.349cm;" | Hinter dem Cursor einfügen
| |
| |-
| |
| | style="border-top:none;border-bottom:2.5pt solid #000000;border-left:2.5pt solid #000000;border-right:none;padding-top:0.101cm;padding-bottom:0.101cm;padding-left:0.349cm;padding-right:0.349cm;" | <tt>'''P'''</tt>
| |
| | style="border-top:none;border-bottom:2.5pt solid #000000;border-left:0.5pt solid #000000;border-right:2.5pt solid #000000;padding-top:0.101cm;padding-bottom:0.101cm;padding-left:0.349cm;padding-right:0.349cm;" | Vor dem Cursor einfügen
| |
|
| |
|
| |
| |-
| |
| |}
| |
| === Suchen und Ersetzen ===
| |
|
| |
| Außer <tt>''''fx''''</tt> und <tt>''''Fx''''</tt> müssen die Suchkommandos mit der Return-Taste abgeschlossen werden.
| |
|
| |
|
| |
| {| align="center" style="border-spacing:0;width:17.501cm;"
| |
| |-
| |
| | style="border-top:2.5pt solid #000000;border-bottom:0.5pt solid #000000;border-left:2.5pt solid #000000;border-right:none;padding-top:0.101cm;padding-bottom:0.101cm;padding-left:0.349cm;padding-right:0.349cm;" | <tt>'''fx '''</tt>
| |
| | style="border-top:2.5pt solid #000000;border-bottom:0.5pt solid #000000;border-left:0.5pt solid #000000;border-right:2.5pt solid #000000;padding-top:0.101cm;padding-bottom:0.101cm;padding-left:0.349cm;padding-right:0.349cm;" | Zeichen <tt>''''x''''</tt> in der momentanen Zeile suchen (vorwärts)
| |
| |-
| |
| | style="border-top:none;border-bottom:0.5pt solid #000000;border-left:2.5pt solid #000000;border-right:none;padding-top:0.101cm;padding-bottom:0.101cm;padding-left:0.349cm;padding-right:0.349cm;" | <tt>'''Fx '''</tt>
| |
| | style="border-top:none;border-bottom:0.5pt solid #000000;border-left:0.5pt solid #000000;border-right:2.5pt solid #000000;padding-top:0.101cm;padding-bottom:0.101cm;padding-left:0.349cm;padding-right:0.349cm;" | Zeichen <tt>''''x''''</tt> in der momentanen Zeile suchen (rückwärts)
| |
| |-
| |
| | style="border-top:none;border-bottom:0.5pt solid #000000;border-left:2.5pt solid #000000;border-right:none;padding-top:0.101cm;padding-bottom:0.101cm;padding-left:0.349cm;padding-right:0.349cm;" | <tt>'''/str '''</tt>
| |
| | style="border-top:none;border-bottom:0.5pt solid #000000;border-left:0.5pt solid #000000;border-right:2.5pt solid #000000;padding-top:0.101cm;padding-bottom:0.101cm;padding-left:0.349cm;padding-right:0.349cm;" | String <tt>''''str''''</tt> vorwärts in der Datei suchen
| |
| |-
| |
| | style="border-top:none;border-bottom:0.5pt solid #000000;border-left:2.5pt solid #000000;border-right:none;padding-top:0.101cm;padding-bottom:0.101cm;padding-left:0.349cm;padding-right:0.349cm;" | <tt>'''?str '''</tt>
| |
| | style="border-top:none;border-bottom:0.5pt solid #000000;border-left:0.5pt solid #000000;border-right:2.5pt solid #000000;padding-top:0.101cm;padding-bottom:0.101cm;padding-left:0.349cm;padding-right:0.349cm;" | String <tt>''''str''''</tt> rückwärts in der Datei suchen
| |
| |-
| |
| | style="border-top:none;border-bottom:0.5pt solid #000000;border-left:2.5pt solid #000000;border-right:none;padding-top:0.101cm;padding-bottom:0.101cm;padding-left:0.349cm;padding-right:0.349cm;" | <tt>'''// '''</tt>
| |
| | style="border-top:none;border-bottom:0.5pt solid #000000;border-left:0.5pt solid #000000;border-right:2.5pt solid #000000;padding-top:0.101cm;padding-bottom:0.101cm;padding-left:0.349cm;padding-right:0.349cm;" | Letzten Suchbefehl wiederholen (vorwärts)
| |
| |-
| |
| | style="border-top:none;border-bottom:0.5pt solid #000000;border-left:2.5pt solid #000000;border-right:none;padding-top:0.101cm;padding-bottom:0.101cm;padding-left:0.349cm;padding-right:0.349cm;" | <tt>'''?? '''</tt>
| |
| | style="border-top:none;border-bottom:0.5pt solid #000000;border-left:0.5pt solid #000000;border-right:2.5pt solid #000000;padding-top:0.101cm;padding-bottom:0.101cm;padding-left:0.349cm;padding-right:0.349cm;" | Letzten Suchbefehl wiederholen (rückwärts)
| |
| |-
| |
| | style="border-top:none;border-bottom:2.5pt solid #000000;border-left:2.5pt solid #000000;border-right:none;padding-top:0.101cm;padding-bottom:0.101cm;padding-left:0.349cm;padding-right:0.349cm;" | ''':%s/X/Y/g'''
| |
| | style="border-top:none;border-bottom:2.5pt solid #000000;border-left:0.5pt solid #000000;border-right:2.5pt solid #000000;padding-top:0.101cm;padding-bottom:0.101cm;padding-left:0.349cm;padding-right:0.349cm;" | Ersetzt alle 'X' durch 'Y'
| |
|
| |
|
| |
|
| | == Cursorpositionierung == |
| | Normalerweise ist der '''vi''' an die Pfeiltasten der Tastatur richtig angepasst |
| | * Daneben gibt es noch folgende Möglichkeiten (Auswahl) |
| | {|class="wikitable opt2 sortable" |
| |- | | |- |
| |} | | | | '''h ''' |
| === Sonstige Kommandos ===
| | | | Zeichen links (auch Backspace) |
| | |
| | |
| {| style="border-spacing:0;margin:auto;width:17.501cm;"
| |
| |- | | |- |
| | style="border-top:2.5pt solid #000000;border-bottom:0.5pt solid #000000;border-left:2.5pt solid #000000;border-right:none;padding-top:0.101cm;padding-bottom:0.101cm;padding-left:0.349cm;padding-right:0.349cm;" | <tt>'''u '''</tt> | | | | '''l ''' |
| | style="border-top:2.5pt solid #000000;border-bottom:0.5pt solid #000000;border-left:0.5pt solid #000000;border-right:2.5pt solid #000000;padding-top:0.101cm;padding-bottom:0.101cm;padding-left:0.349cm;padding-right:0.349cm;" | Letzten Befehl rückgängig machen | | | | Zeichen rechts (auch blank) |
| |- | | |- |
| | style="border-top:none;border-bottom:0.5pt solid #000000;border-left:2.5pt solid #000000;border-right:none;padding-top:0.101cm;padding-bottom:0.101cm;padding-left:0.349cm;padding-right:0.349cm;" | <tt>'''U '''</tt> | | | | '''k ''' |
| | style="border-top:none;border-bottom:0.5pt solid #000000;border-left:0.5pt solid #000000;border-right:2.5pt solid #000000;padding-top:0.101cm;padding-bottom:0.101cm;padding-left:0.349cm;padding-right:0.349cm;" | Aktuelle Zeile wiederherstellen | | | | Zeile höher |
| |- | | |- |
| | style="border-top:none;border-bottom:0.5pt solid #000000;border-left:2.5pt solid #000000;border-right:none;padding-top:0.101cm;padding-bottom:0.101cm;padding-left:0.349cm;padding-right:0.349cm;" | <tt>'''. '''</tt> | | | | '''j ''' |
| | style="border-top:none;border-bottom:0.5pt solid #000000;border-left:0.5pt solid #000000;border-right:2.5pt solid #000000;padding-top:0.101cm;padding-bottom:0.101cm;padding-left:0.349cm;padding-right:0.349cm;" | Letztes Kommando wiederholen | | | | Zeile tiefer |
| |- | | |- |
| | style="border-top:none;border-bottom:0.5pt solid #000000;border-left:2.5pt solid #000000;border-right:none;padding-top:0.101cm;padding-bottom:0.101cm;padding-left:0.349cm;padding-right:0.349cm;" | <tt>''':!cmd'''</tt> | | | | '''b ''' |
| | style="border-top:none;border-bottom:0.5pt solid #000000;border-left:0.5pt solid #000000;border-right:2.5pt solid #000000;padding-top:0.101cm;padding-bottom:0.101cm;padding-left:0.349cm;padding-right:0.349cm;" | Verlässt vi temporär und führt das Kommando ''cmd'' aus (ggf. Rückkehr mit exit) | | | | Wortanfang |
| |- | | |- |
| | style="border-top:none;border-bottom:0.5pt solid #000000;border-left:2.5pt solid #000000;border-right:none;padding-top:0.101cm;padding-bottom:0.101cm;padding-left:0.349cm;padding-right:0.349cm;" | <tt>''':r!cmd'''</tt> | | | | '''e ''' |
| | style="border-top:none;border-bottom:0.5pt solid #000000;border-left:0.5pt solid #000000;border-right:2.5pt solid #000000;padding-top:0.101cm;padding-bottom:0.101cm;padding-left:0.349cm;padding-right:0.349cm;" | Fügt die Ausgabe von ''cmd'' ab Cursorposition ein | | | | Wortende |
| |- | | |- |
| | style="border-top:none;border-bottom:0.5pt solid #000000;border-left:2.5pt solid #000000;border-right:none;padding-top:0.101cm;padding-bottom:0.101cm;padding-left:0.349cm;padding-right:0.349cm;" | <tt>'''!!cmd'''</tt> | | | | '''w ''' |
| | style="border-top:none;border-bottom:0.5pt solid #000000;border-left:0.5pt solid #000000;border-right:2.5pt solid #000000;padding-top:0.101cm;padding-bottom:0.101cm;padding-left:0.349cm;padding-right:0.349cm;" | Benutzt aktuelle Zeile als Eingabe für ''cmd'' und ersetzt durch dessen Ausgabe. | | | | Anfang nächstes Wort |
| |- | | |- |
| | style="border-top:none;border-bottom:2.5pt solid #000000;border-left:2.5pt solid #000000;border-right:none;padding-top:0.101cm;padding-bottom:0.101cm;padding-left:0.349cm;padding-right:0.349cm;" | <tt>'''Strg + g'''</tt> | | | | '''H ''' |
| | style="border-top:none;border-bottom:2.5pt solid #000000;border-left:0.5pt solid #000000;border-right:2.5pt solid #000000;padding-top:0.101cm;padding-bottom:0.101cm;padding-left:0.349cm;padding-right:0.349cm;" | Zeilennummer und Dateiinfo zeigen | | | | Anfang erste Zeile des Bildschirms |
| | |
| | |
| |- | | |- |
| |} | | | | '''L ''' |
| === Markierungen ===
| | | | Anfang letzten Zeile des Bildschirms |
| | |
| | |
| {| style="border-spacing:0;margin:auto;width:17.501cm;"
| |
| |- | | |- |
| | style="border-top:2.5pt solid #000000;border-bottom:0.5pt solid #000000;border-left:2.5pt solid #000000;border-right:none;padding-top:0.101cm;padding-bottom:0.101cm;padding-left:0.349cm;padding-right:0.349cm;" | <tt>'''v'''</tt> | | | | '''0 (Null) ''' |
| | style="border-top:2.5pt solid #000000;border-bottom:0.5pt solid #000000;border-left:0.5pt solid #000000;border-right:2.5pt solid #000000;padding-top:0.101cm;padding-bottom:0.101cm;padding-left:0.349cm;padding-right:0.349cm;" | Visuelles Markieren | | | | Zeilenanfang |
| |- | | |- |
| | style="border-top:none;border-bottom:0.5pt solid #000000;border-left:2.5pt solid #000000;border-right:none;padding-top:0.101cm;padding-bottom:0.101cm;padding-left:0.349cm;padding-right:0.349cm;" | <tt>'''m<u>''A'''''</u></tt> | | | | '''$ ''' |
| | style="border-top:none;border-bottom:0.5pt solid #000000;border-left:0.5pt solid #000000;border-right:2.5pt solid #000000;padding-top:0.101cm;padding-bottom:0.101cm;padding-left:0.349cm;padding-right:0.349cm;" | Marke <tt><u>'''''A'''''</u></tt> setzen | | | | Zeilenende |
| |- | | |- |
| | style="border-top:none;border-bottom:0.5pt solid #000000;border-left:2.5pt solid #000000;border-right:none;padding-top:0.101cm;padding-bottom:0.101cm;padding-left:0.349cm;padding-right:0.349cm;" | <tt>''''<u>''A'''''</u></tt> | | | | '''RETURN ''' |
| | style="border-top:none;border-bottom:0.5pt solid #000000;border-left:0.5pt solid #000000;border-right:2.5pt solid #000000;padding-top:0.101cm;padding-bottom:0.101cm;padding-left:0.349cm;padding-right:0.349cm;" | Zur Marke <tt><u>'''''A'''''</u></tt> springen | | | | nächste Zeile |
| |- | | |- |
| | style="border-top:none;border-bottom:0.5pt solid #000000;border-left:2.5pt solid #000000;border-right:none;padding-top:0.101cm;padding-bottom:0.101cm;padding-left:0.349cm;padding-right:0.349cm;" | <tt>'''d'<u>''A'''''</u></tt> | | | | <u>'''''n''</u>G ''' |
| | style="border-top:none;border-bottom:0.5pt solid #000000;border-left:0.5pt solid #000000;border-right:2.5pt solid #000000;padding-top:0.101cm;padding-bottom:0.101cm;padding-left:0.349cm;padding-right:0.349cm;" | Bis Marke <tt><u>'''''A'''''</u></tt> löschen
| | | | (''Go'') Gehe zu Zeile <u>'''''n'''''</u></tt>. <tt><u>'''''n'''''</u> ist eine Zeilennummer |
| | * Fehlt die Zahl, wird zur letzten Zeile der Datei gesprungen |
| |- | | |- |
| | style="border-top:none;border-bottom:2.5pt solid #000000;border-left:2.5pt solid #000000;border-right:none;padding-top:0.101cm;padding-bottom:0.101cm;padding-left:0.349cm;padding-right:0.349cm;" | <tt>'''y'<u>''A'''''</u></tt> | | | | '''%''' |
| | style="border-top:none;border-bottom:2.5pt solid #000000;border-left:0.5pt solid #000000;border-right:2.5pt solid #000000;padding-top:0.101cm;padding-bottom:0.101cm;padding-left:0.349cm;padding-right:0.349cm;" | Kopieren bis Marke <tt><u>'''''A'''''</u></tt> | | | | sucht zur aktuellen Klammer die korrespondierende öffnende oder schließende Klammer |
| | |
| | |
| |- | | |- |
| |} | | | | '''(''' |
| === Einrücken und klammern ===
| | | | Cursor zum Anfang des Satzes bewegen |
| | |
| | |
| {| style="border-spacing:0;margin:auto;width:17.501cm;"
| |
| |- | | |- |
| | style="border-top:2.5pt solid #000000;border-bottom:0.5pt solid #000000;border-left:2.5pt solid #000000;border-right:none;padding-top:0.101cm;padding-bottom:0.101cm;padding-left:0.349cm;padding-right:0.349cm;" | <tt>'''<<'''</tt> | | | | ''')''' |
| | style="border-top:2.5pt solid #000000;border-bottom:0.5pt solid #000000;border-left:0.5pt solid #000000;border-right:2.5pt solid #000000;padding-top:0.101cm;padding-bottom:0.101cm;padding-left:0.349cm;padding-right:0.349cm;" | rückt die aktuelle Zeile um eine Einrückungsbreite nach links. | | | | Cursor zum Anfang des nächsten Satzes bewegen |
| |- | | |- |
| | style="border-top:none;border-bottom:0.5pt solid #000000;border-left:2.5pt solid #000000;border-right:none;padding-top:0.101cm;padding-bottom:0.101cm;padding-left:0.349cm;padding-right:0.349cm;" | <tt>'''>>'''</tt> | | | | '''{''' |
| | style="border-top:none;border-bottom:0.5pt solid #000000;border-left:0.5pt solid #000000;border-right:2.5pt solid #000000;padding-top:0.101cm;padding-bottom:0.101cm;padding-left:0.349cm;padding-right:0.349cm;" | rückt die aktuelle Zeile um eine Einrückungsbreite nach rechts. | | | | Cursor zum Anfang des Absatzes bewegen |
| |- | | |- |
| | style="border-top:none;border-bottom:2.5pt solid #000000;border-left:2.5pt solid #000000;border-right:none;padding-top:0.101cm;padding-bottom:0.101cm;padding-left:0.349cm;padding-right:0.349cm;" | <tt>'''%'''</tt> | | | | '''}''' |
| | style="border-top:none;border-bottom:2.5pt solid #000000;border-left:0.5pt solid #000000;border-right:2.5pt solid #000000;padding-top:0.101cm;padding-bottom:0.101cm;padding-left:0.349cm;padding-right:0.349cm;" | Bewegt die Einfügemarke zwischen korrespondierenden Klammern | | | | Cursor zum Anfang des nächsten Absatzes bewegen |
| | |
| | |
| |- | | |- |
| |} | | |} |
| == Einstellungen ==
| |
|
| |
| <div style="margin-left:0cm;margin-right:0cm;">Durch das Belegen von vi-Optionen (Kommando :set) mit einem Wert oder das Setzen von Optionen kann die Arbeitsweise des Editors beeinflußt werden.</div>
| |
|
| |
| <div style="margin-left:0cm;margin-right:0cm;">Die Kommandos set können in ein File mit dem Namen $HOME/.exrc eingetragen werden, welches bei jedem vi-Editoraufruf abgearbeitet wird.</div>
| |
|
| |
|
| | == Installation == |
| | <syntaxhighlight lang="bash" highlight="1" line> |
| | sudo apt install vim |
| | </syntaxhighlight> |
|
| |
|
| {| style="border-spacing:0;margin:auto;width:17.492cm;"
| | == Anhang == |
| |-
| | === Siehe auch === |
| | style="background-color:transparent;border-top:2.5pt solid #000000;border-bottom:0.5pt solid #000000;border-left:2.5pt solid #000000;border-right:none;padding-top:0.101cm;padding-bottom:0.101cm;padding-left:0.3cm;padding-right:0.3cm;" | ''':set all'''
| | * [[gvim]] |
| | style="background-color:transparent;border-top:2.5pt solid #000000;border-bottom:0.5pt solid #000000;border-left:0.5pt solid #000000;border-right:2.5pt solid #000000;padding-top:0.101cm;padding-bottom:0.101cm;padding-left:0.3cm;padding-right:0.3cm;" | Anzeige Belegung aller Optionen
| | ---- |
| |-
| | {{Special:PrefixIndex/{{BASEPAGENAME}}}} |
| | style="background-color:transparent;border-top:none;border-bottom:0.5pt solid #000000;border-left:2.5pt solid #000000;border-right:none;padding-top:0.101cm;padding-bottom:0.101cm;padding-left:0.3cm;padding-right:0.3cm;" | ''':set number'''
| |
| | style="background-color:transparent;border-top:none;border-bottom:0.5pt solid #000000;border-left:0.5pt solid #000000;border-right:2.5pt solid #000000;padding-top:0.101cm;padding-bottom:0.101cm;padding-left:0.3cm;padding-right:0.3cm;" | Zeilennummern anzeigen
| |
| |-
| |
| | style="background-color:transparent;border-top:none;border-bottom:0.5pt solid #000000;border-left:2.5pt solid #000000;border-right:none;padding-top:0.101cm;padding-bottom:0.101cm;padding-left:0.3cm;padding-right:0.3cm;" | ''':set nonumber'''
| |
| | style="background-color:transparent;border-top:none;border-bottom:0.5pt solid #000000;border-left:0.5pt solid #000000;border-right:2.5pt solid #000000;padding-top:0.101cm;padding-bottom:0.101cm;padding-left:0.3cm;padding-right:0.3cm;" | Zeilennummern nicht anzeigen
| |
| |-
| |
| | style="background-color:transparent;border-top:none;border-bottom:0.5pt solid #000000;border-left:2.5pt solid #000000;border-right:none;padding-top:0.101cm;padding-bottom:0.101cm;padding-left:0.3cm;padding-right:0.3cm;" | ''':set ignorecase'''
| |
| | style="background-color:transparent;border-top:none;border-bottom:0.5pt solid #000000;border-left:0.5pt solid #000000;border-right:2.5pt solid #000000;padding-top:0.101cm;padding-bottom:0.101cm;padding-left:0.3cm;padding-right:0.3cm;" | Beim Suchen soll nicht zwischen Groß- und Kleinbuchstaben unterschieden werden
| |
| |-
| |
| | style="background-color:transparent;border-top:none;border-bottom:0.5pt solid #000000;border-left:2.5pt solid #000000;border-right:none;padding-top:0.101cm;padding-bottom:0.101cm;padding-left:0.3cm;padding-right:0.3cm;" | ''':set noignorecase'''
| |
| | style="background-color:transparent;border-top:none;border-bottom:0.5pt solid #000000;border-left:0.5pt solid #000000;border-right:2.5pt solid #000000;padding-top:0.101cm;padding-bottom:0.101cm;padding-left:0.3cm;padding-right:0.3cm;" | Beim Suchen soll zwischen Groß- und Kleinbuchstaben unterschieden werden
| |
| |-
| |
| | style="background-color:transparent;border-top:none;border-bottom:0.5pt solid #000000;border-left:2.5pt solid #000000;border-right:none;padding-top:0.101cm;padding-bottom:0.101cm;padding-left:0.3cm;padding-right:0.3cm;" | ''':set showmatch'''
| |
| | style="background-color:transparent;border-top:none;border-bottom:0.5pt solid #000000;border-left:0.5pt solid #000000;border-right:2.5pt solid #000000;padding-top:0.101cm;padding-bottom:0.101cm;padding-left:0.3cm;padding-right:0.3cm;" | Bei Eingabe einer schließenden Klammer wird die dazugehörige öffnende Klammer angezeigt
| |
| |-
| |
| | style="background-color:transparent;border-top:none;border-bottom:0.5pt solid #000000;border-left:2.5pt solid #000000;border-right:none;padding-top:0.101cm;padding-bottom:0.101cm;padding-left:0.3cm;padding-right:0.3cm;" | ''':set noshowmatch'''
| |
| | style="background-color:transparent;border-top:none;border-bottom:0.5pt solid #000000;border-left:0.5pt solid #000000;border-right:2.5pt solid #000000;padding-top:0.101cm;padding-bottom:0.101cm;padding-left:0.3cm;padding-right:0.3cm;" | Keine Klammernprüfung
| |
| |-
| |
| | style="background-color:transparent;border-top:none;border-bottom:0.5pt solid #000000;border-left:2.5pt solid #000000;border-right:none;padding-top:0.101cm;padding-bottom:0.101cm;padding-left:0.3cm;padding-right:0.3cm;" | ''':set autoindent'''
| |
| | style="background-color:transparent;border-top:none;border-bottom:0.5pt solid #000000;border-left:0.5pt solid #000000;border-right:2.5pt solid #000000;padding-top:0.101cm;padding-bottom:0.101cm;padding-left:0.3cm;padding-right:0.3cm;" | Automatische Einrückung
| |
| |-
| |
| | style="background-color:transparent;border-top:none;border-bottom:0.5pt solid #000000;border-left:2.5pt solid #000000;border-right:none;padding-top:0.101cm;padding-bottom:0.101cm;padding-left:0.3cm;padding-right:0.3cm;" | ''':set noautoindent'''
| |
| | style="background-color:transparent;border-top:none;border-bottom:0.5pt solid #000000;border-left:0.5pt solid #000000;border-right:2.5pt solid #000000;padding-top:0.101cm;padding-bottom:0.101cm;padding-left:0.3cm;padding-right:0.3cm;" | Keine automatische Einrückung
| |
| |-
| |
| | style="background-color:transparent;border-top:none;border-bottom:2.5pt solid #000000;border-left:2.5pt solid #000000;border-right:none;padding-top:0.101cm;padding-bottom:0.101cm;padding-left:0.3cm;padding-right:0.3cm;" | ''':set wrapmargin=n'''
| |
| | style="background-color:transparent;border-top:none;border-bottom:2.5pt solid #000000;border-left:0.5pt solid #000000;border-right:2.5pt solid #000000;padding-top:0.101cm;padding-bottom:0.101cm;padding-left:0.3cm;padding-right:0.3cm;" | Ab n Zeichen vor Zeilenende wird automatisch an einer Wortgrenze getrennt und eine neue Zeile begonnen
| |
| | |
| | |
| |-
| |
| |}
| |
| == {{anchor|RefHeading397871708724582}} Tipps und Tricks ==
| |
| | |
| '''Zeile verschieben'''* Zeile mit <tt>'''dd'''</tt> löschen
| |
| * Zur neuen Position wechseln
| |
| * mit p (hinter dem Cursor)''' '''
| |
| * <tt>'''P'''</tt> (vor dem Cursor) einfügen
| |
| | |
| | |
| | |
| '''Zeile kopieren'''* Zeile mit <tt>'''yy'''</tt> in den Puffer kopieren
| |
| * Zur neuen Position wechseln
| |
| * Zeile mit p (vor dem Cursor)
| |
| * oder P (nach dem Cursor) einfügen
| |
| | |
| | |
| | |
| '''Ein paar einfache Tricks'''* zwei '''aufeinander folgende Zeichen vertauschen: <tt>xp'''</tt>
| |
| * zwei aufeinander folgende Zeilen vertauschen: <tt>'''ddp'''</tt>
| |
| * eine Zeile duplizieren: <tt>'''yyp'''</tt>
| |
| | |
| | |
| | |
| '''Mehrere Zeilen verschieben oder kopieren: '''
| |
| | |
| Mehrere Zeilen werden durch Voranstellen der Zeilenzahl vor "<tt>'''dd'''</tt>" oder "<tt>'''yy'''</tt>" in den Puffer g'''ebracht. Alles weitere wie oben. '''
| |
| | |
| '''Weitere Puffer:'''
| |
| | |
| Neben dem anonymen Puffer können 26 weitere Pufferbereiche verwendet werden, die durch einen Buchstaben ("a" - "z") bezeichnet werden. Dazu wird ein Doppelapostroph und der Puffername vor den Befehl gestellt, z.B.:
| |
| | |
| | |
| {| style="border-spacing:0;margin:auto;width:17.501cm;"
| |
| |-
| |
| | style="border-top:2.5pt solid #000000;border-bottom:0.5pt solid #000000;border-left:2.5pt solid #000000;border-right:none;padding-top:0.101cm;padding-bottom:0.101cm;padding-left:0.349cm;padding-right:0.349cm;" | <tt>'''"ayy'''</tt>
| |
| | style="border-top:2.5pt solid #000000;border-bottom:0.5pt solid #000000;border-left:0.5pt solid #000000;border-right:2.5pt solid #000000;padding-top:0.101cm;padding-bottom:0.101cm;padding-left:0.349cm;padding-right:0.349cm;" | kopiere Zeile in Puffer <tt>'''a'''</tt>
| |
| |-
| |
| | style="border-top:none;border-bottom:0.5pt solid #000000;border-left:2.5pt solid #000000;border-right:none;padding-top:0.101cm;padding-bottom:0.101cm;padding-left:0.349cm;padding-right:0.349cm;" | <tt>'''"b6yy'''</tt>
| |
| | style="border-top:none;border-bottom:0.5pt solid #000000;border-left:0.5pt solid #000000;border-right:2.5pt solid #000000;padding-top:0.101cm;padding-bottom:0.101cm;padding-left:0.349cm;padding-right:0.349cm;" | kopiere die nächsten 6 Zeilen in Puffer <tt>'''b'''</tt>
| |
| |-
| |
| | style="border-top:none;border-bottom:2.5pt solid #000000;border-left:2.5pt solid #000000;border-right:none;padding-top:0.101cm;padding-bottom:0.101cm;padding-left:0.349cm;padding-right:0.349cm;" | <tt>'''"ap'''</tt>
| |
| | style="border-top:none;border-bottom:2.5pt solid #000000;border-left:0.5pt solid #000000;border-right:2.5pt solid #000000;padding-top:0.101cm;padding-bottom:0.101cm;padding-left:0.349cm;padding-right:0.349cm;" | Inhalt Puffer <tt>'''a'''</tt> nach dem Cursor einfügen
| |
| |-
| |
| |}
| |
| '''Blöcke von einer Datei in die andere übertragen:'''* Mit dem Kommando <tt>''':e <dateiname>'''</tt> kann eine neue Datei bearbeitet werden, ohne den vi zu verlassen.
| |
| * vi mit der ersten Datei aufrufen, z. B.: <tt>'''vi foo.txt'''</tt>
| |
| * Textblock mit den Yank-Kommando in einen Puffer schreiben: <tt>'''"f10yy'''</tt> (10 Zeilen in Puffer <tt>'''f'''</tt>)
| |
| * neue Datei holen, z. B.: <tt>''':e bar.txt '''</tt>
| |
| * an die gewünschte Stelle gehen und Puffer einfügen''': <tt>"fp '''</tt>
| |
|
| |
|
| | ==== Dokumentation ==== |
| | ===== Man-Page ===== |
| | ===== Info-Pages ===== |
| | ==== Links ==== |
| | ===== Projekt ===== |
| | ===== Weblinks ===== |
| | # http://vim.wikia.com |
| | # https://vim.fandom.com/wiki/Search_and_replace |
| | # http://wiki.ubuntu-forum.de/index.php?title=Vim |
| | # https://linuxwiki.de/Vim |
|
| |
|
| | {{DEFAULTSORT:vim}} |
| | {{DISPLAYTITLE:vim}} |
|
| |
|
| == Weblinks ==
| | [[Kategorie:vim]] |
| | [[Kategorie:Linux/Befehl]] |
|
| |
|
| * [http://vim.wikia.com/ http://vim.wikia.com]
| | </noinclude> |