Vi: Unterschied zwischen den Versionen

Aus Info-Theke
Zur Navigation springen Zur Suche springen
Zeile 40: Zeile 40:
* "y/^}" kopiert den Text von der Cursurposition bis (ausschließlich) der ersten Zeile, die mit '}' beginnt, 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 ==
== Kommandos im Kommandomodus ==
* q: beendet den Vi ohne Speichern nur, wenn nichts geändert wurde
* q: beendet den Vi ohne Speichern nur, wenn nichts geändert wurde
* q!: beendet den Vi ohne Speichern, auch wenn Änderungen vorliegen
* q!: beendet den Vi ohne Speichern, auch wenn Änderungen vorliegen

Version vom 1. September 2016, 14:28 Uhr


Betriebsmodus

  • "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"

  • 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

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