Vim/Anwendung: Unterschied zwischen den Versionen

Aus Foxwiki
Keine Bearbeitungszusammenfassung
Markierung: Ersetzt
Zeile 28: Zeile 28:


= TMP =
= TMP =
=== Einführung ===
Der Editor vi (visual) ist ein bildschirmorientierter Editor, das heißt der Text ist in seiner aktuellen Version auf dem Bildschirm zu sehen
Vim verfügt über drei verschiedene Arbeitsmodi
* Diese werden im folgenden kurz beschrieben
* Die wichtigsten Tastenkürzel zur Arbeit mit dem Vim werden im Artikel Vim/Shortcuts erläutert
Nach dem Aufruf des vi befindet sich der Benutzer im Kommandomodus
* Die Arbeit spielt sich wie beim ed immer in zwei Ebenen ab
; Kommandomodus
* Freies Positionieren innerhalb des Textes
* Umsetzen von Textblöcken
* Schreiben und Lesen von Dateien
* Löschen von Textblöcken und Aufruf von UNIX-Kommandos
'''Eingabemodus'''
* Einfügen von Text
* Ü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
==== Starten ====
'''vi [Dateiname]'''
* 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
** Wenn diese Informationen nicht angezeigt werden, könnte es sein, dass der Terminaltyp falsch gesetzt ist
** Dann sollte der vi mit :q! 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
==== Hilfen ====
{|class="wikitable sortable"
|-
| | '''man vi'''
| | Manualpage von '''vi''' aufrufen
|-
| | ''':h <Stichwort>'''
| | Hilfe aufrufen (mit :q verlassen)
|-
| | '''vimtutor'''
| | Lernprogramm
|-
|}
==== 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
|-
| k || Schritt aufwärts
|-
| h || Schritt nach links
|-
| l || Schritt nach rechts
|-
| dd || löscht eine komplette Zeile an der Cursorposition
|-
| u || macht letzte Änderung rückgängig
|-
| STRG + R || macht u rückgängig
|-
| ZZ || speichert die Datei und beendet Vim
|}
==== Einfügemodus ====
Befindet sich der Vim im Einfügemodus, so kann der Text nach Belieben editiert werden
{| class="wikitable options"
! Tastenkürzel !! Aktion
|-
| i || Editiermodus an der Cursorposition starten
|-
| a || Editiermodus eine Stelle hinter der Cursorposition starten
|-
| o || Zeile unterhalb der Cursorposition einfügen und Editiermodus starten
|-
| ESC || Editiermodus verlassen
|}
==== 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
{| class="wikitable options"
! Tastenkürzel !! Aktion
|-
| :w || Datei speichern
|-
|:w name || Datei unter name speichern
|-
| :q! || Vim ohne Speichern beenden
|-
| /ausdruck || Datei nach ''ausdruck'' durchsuchen
|-
| :e ''dateiname'' || Datei ''dateiname'' öffnen
|-
| :e # || zur zuvor bearbeiteten Datei zurückkehren
|}
==== 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 '''
| | Zeichen links (auch Backspace)
|-
| | '''l '''
| | Zeichen rechts (auch blank)
|-
| | '''k '''
| | Zeile höher
|-
| | '''j '''
| | Zeile tiefer
|-
| | '''b '''
| | Wortanfang
|-
| | '''e '''
| | Wortende
|-
| | '''w '''
| | Anfang nächstes Wort
|-
| | '''H '''
| | Anfang erste Zeile des Bildschirms
|-
| | '''L '''
| | Anfang letzten Zeile des Bildschirms
|-
| | '''0 (Null) '''
| | Zeilenanfang
|-
| | '''$ '''
| | Zeilenende
|-
| | '''RETURN '''
| | nächste Zeile
|-
| | <u>'''''n''</u>G '''
| | (''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
|-
| | '''%'''
| | sucht zur aktuellen Klammer die korrespondierende öffnende oder schließende Klammer
|-
| | '''('''
| | Cursor zum Anfang des Satzes bewegen
|-
| | ''')'''
| | Cursor zum Anfang des nächsten Satzes bewegen
|-
| | '''{'''
| | Cursor zum Anfang des Absatzes bewegen
|-
| | '''}'''
| | Cursor zum Anfang des nächsten Absatzes bewegen
|-
|}
=== Befehls-Modus ===
[[Vim/Anwendungen/Befehls-Modus]]
=== Tipps und Tricks ===
==== Zeile verschieben ====
* Zeile mit '''dd''' löschen
* Zur neuen Position wechseln
* mit p (hinter dem Cursor)''' '''
* '''P''' (vor dem Cursor) einfügen
==== Zeile kopieren ====
* Zeile mit '''yy''' 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: xp'''
* zwei aufeinander folgende Zeilen vertauschen: '''ddp'''
* eine Zeile duplizieren: '''yyp'''
==== Mehrere Zeilen verschieben oder kopieren ====
Mehrere Zeilen werden durch Voranstellen der Zeilenzahl vor '''dd''' oder '''yy''' in den Puffer gebracht. 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, zum Beispiel
{|class="wikitable sortable"
|-
| | '''"ayy'''
| | kopiere Zeile in Puffer '''a'''
|-
| | '''"b6yy'''
| | kopiere die nächsten 6 Zeilen in Puffer '''b'''
|-
| | '''"ap'''
| | Inhalt Puffer '''a''' nach dem Cursor einfügen
|-
|}
==== Blöcke von einer Datei in die andere übertragen ====
* Mit dem Kommando ''':e <dateiname>''' kann eine neue Datei bearbeitet werden, ohne den vi zu verlassen
* vi mit der ersten Datei aufrufen, z.&nbsp;B.&nbsp;: '''vi foo.txt'''
* Textblock mit den Yank-Kommando in einen Puffer schreiben: '''"f10yy'''</tt> (10 Zeilen in Puffer <tt>'''f''')
* neue Datei holen, z.&nbsp;B.&nbsp;: ''':e bar.txt '''
* an die gewünschte Stelle gehen und Puffer einfügen''': "fp '''
[[Kategorie:vim]]
[[Kategorie:vim]]

Version vom 15. Oktober 2024, 10:38 Uhr

topic - Kurzbeschreibung

Beschreibung

Installation

Syntax

Optionen

Parameter

Umgebungsvariablen

Exit-Status

Anwendung

Fehlerbehebung

Konfiguration

Dateien

Anhang

Siehe auch

Dokumentation

Man-Pages
Info-Pages

Links

Projekt
Weblinks

TMP