Vi: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
(Die Seite wurde neu angelegt: „Kategorie:DesktopApplikation == Betriebsmodus == * "visual mode": Buchstaben bedeuten Kommandos * "Insert mode": getippte Buchstaben gelangen ins Dokumne…“) |
|||
(3 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
Zeile 4: | Zeile 4: | ||
== Betriebsmodus == | == Betriebsmodus == | ||
* "visual mode": Buchstaben bedeuten Kommandos | * "visual mode": Buchstaben bedeuten Kommandos | ||
* " | * "Input mode": getippte Buchstaben gelangen ins Dokumnent (wie bei "normale" Editoren). Beendent mit ESC. Wird in der Statuszeile angezeigt | ||
** gestartet mit i (insert, fügt an Cursorposition ein), oder "a" (add, fügt hinter Cursorposition ein) oder 'A' (add, fügt in neue Zeile unter der Cursorposition) | ** gestartet mit i (insert, fügt an Cursorposition ein), oder "a" (add, fügt hinter Cursorposition ein) oder 'A' (add, fügt in neue Zeile unter der Cursorposition) | ||
** Beenden mit ESC | ** Beenden mit ESC | ||
Zeile 12: | Zeile 12: | ||
== Kommandos des "Visual Modes" == | == Kommandos des "Visual Modes" == | ||
* c<range>: löscht den Bereich <range> und geht in den "Input mode" | |||
* d<range>: löscht <range> | * d<range>: löscht <range> | ||
* f<char>: findet nächstes Zeichen <char> in der aktuellen Cursorzeile | * f<char>: findet nächstes Zeichen <char> in der aktuellen Cursorzeile | ||
Zeile 18: | Zeile 19: | ||
* /<rexpr>: Suche <rexpr> (regulären Ausdruck) | * /<rexpr>: Suche <rexpr> (regulären Ausdruck) | ||
* ?<expr>: Suche rückwärts | * ?<expr>: Suche rückwärts | ||
* x<char>: ersetzt das Zeichen an der Cursorposition durch <char> | |||
<range>: | <range>: | ||
Zeile 29: | Zeile 31: | ||
* "5dw": lösche 5 Wörter | * "5dw": lösche 5 Wörter | ||
* "d/Jonny": löscht von Cursor bis zum Zeichen vor "Jonny", auch über mehrere Zeilen | * "d/Jonny": löscht von Cursor bis zum Zeichen vor "Jonny", auch über mehrere Zeilen | ||
== Kopieren von Text== | |||
Mit dem Kommando "y<range> kann Text in den Kopierpuffer gebracht werden, das Kommando 'p' fügt den Kopierpuffer | |||
Beispiele: | |||
* "5yy" kopiert 5 Zeilen (ab der Cursorposition) in den Kopierpuffer | |||
* "3yw" kopiert 3 Wörter in den Kopierpuffer | |||
* "y/^}" kopiert den Text von der Cursurposition bis (ausschließlich) der ersten Zeile, die mit '}' beginnt, in den Kopierpuffer | |||
== Kommandos im Kommandomodus == | |||
* q: beendet den Vi ohne Speichern nur, wenn nichts geändert wurde | |||
* q!: beendet den Vi ohne Speichern, auch wenn Änderungen vorliegen | |||
* s<range>/<search>/replacement/ | |||
* 'w': schreibt den Editor-Inhalt in die Datei | |||
* 'wq': schreibt den Editor-Inhalt in die Datei und beendet den Vi | |||
=== Beispiele für Ersetzen === | |||
* .,.+10s/abc/Abc/ | |||
** Ersetzt von der aktuellen Cursorposition (".") bis 10 Zeilen später (".+10") die Zeichenfolge "abc" durch "Abc", einmal je Trefferzeile | |||
* 24,$s/bspw./beispielsweise/g | |||
** Ersetze von Zeile 24 bis Dateiende ('$') "bspw." durch "beispielsweise", beliebig oft je Zeile ("g" für "global") | |||
* /Error/s/xxx/yyy/g | |||
** Suche alle Zeilen mit dem String "Error" und ersetze dort "xxx" durch "yyy", beliebig of ("g") | |||
* 1,.s/^/call / | |||
** Füge von Zeile 1 bis zur Cursorposition am Zeilenanfang ("^") den String "call " ein |
Aktuelle Version vom 1. September 2016, 12:48 Uhr
Betriebsmodus[Bearbeiten]
- "visual mode": Buchstaben bedeuten Kommandos
- "Input mode": getippte Buchstaben gelangen ins Dokumnent (wie bei "normale" Editoren). Beendent mit ESC. Wird in der Statuszeile angezeigt
- gestartet mit i (insert, fügt an Cursorposition ein), oder "a" (add, fügt hinter Cursorposition ein) oder 'A' (add, fügt in neue Zeile unter der Cursorposition)
- Beenden mit ESC
- command mode: Eingabe von Kommandos mit Parametern.
- Gestartet mit ':' (aus dem "Visual mode)
- Beenden mit ESC
Kommandos des "Visual Modes"[Bearbeiten]
- c<range>: löscht den Bereich <range> und geht in den "Input mode"
- d<range>: löscht <range>
- f<char>: findet nächstes Zeichen <char> in der aktuellen Cursorzeile
- G: Gehe in letzte Zeile
- 107G Gehe in Zeile 107
- /<rexpr>: Suche <rexpr> (regulären Ausdruck)
- ?<expr>: Suche rückwärts
- x<char>: ersetzt das Zeichen an der Cursorposition durch <char>
<range>:
- w: bis Wortende $: bis Zeilenende
- /<rexpr<>: Bereich von Cursorposition bis zum Zeichen vor dem Auftreten des Suchstrings
Jedem Kommando kann eine Zahl vorangestellt werden, dann wird der Befehl entsprechend oft aufgerufen:
Beispiele:
- "3f-": finde das 3.te '-' ab Cursorposition
- "5dw": lösche 5 Wörter
- "d/Jonny": löscht von Cursor bis zum Zeichen vor "Jonny", auch über mehrere Zeilen
Kopieren von Text[Bearbeiten]
Mit dem Kommando "y<range> kann Text in den Kopierpuffer gebracht werden, das Kommando 'p' fügt den Kopierpuffer
Beispiele:
- "5yy" kopiert 5 Zeilen (ab der Cursorposition) in den Kopierpuffer
- "3yw" kopiert 3 Wörter in den Kopierpuffer
- "y/^}" kopiert den Text von der Cursurposition bis (ausschließlich) der ersten Zeile, die mit '}' beginnt, in den Kopierpuffer
Kommandos im Kommandomodus[Bearbeiten]
- q: beendet den Vi ohne Speichern nur, wenn nichts geändert wurde
- q!: beendet den Vi ohne Speichern, auch wenn Änderungen vorliegen
- s<range>/<search>/replacement/
- 'w': schreibt den Editor-Inhalt in die Datei
- 'wq': schreibt den Editor-Inhalt in die Datei und beendet den Vi
Beispiele für Ersetzen[Bearbeiten]
- .,.+10s/abc/Abc/
- Ersetzt von der aktuellen Cursorposition (".") bis 10 Zeilen später (".+10") die Zeichenfolge "abc" durch "Abc", einmal je Trefferzeile
- 24,$s/bspw./beispielsweise/g
- Ersetze von Zeile 24 bis Dateiende ('$') "bspw." durch "beispielsweise", beliebig oft je Zeile ("g" für "global")
- /Error/s/xxx/yyy/g
- Suche alle Zeilen mit dem String "Error" und ersetze dort "xxx" durch "yyy", beliebig of ("g")
- 1,.s/^/call /
- Füge von Zeile 1 bis zur Cursorposition am Zeilenanfang ("^") den String "call " ein