|
|
Zeile 1: |
Zeile 1: |
| '''Vim/Anwendung''' - Kurzbeschreibung | | '''Vim/Anwendung''' - Kurzbeschreibung |
|
| |
| === 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
| |
|
| |
| ; Modus
| |
| Vim verfügt über drei verschiedene Arbeitsmodi
| |
|
| |
| {| class="wikitable options"
| |
| | 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
| |
| |-
| |
| | ex-Modus ||
| |
| * Dateien speichern, öffnen, wechseln
| |
| * Suchen und ersetzen
| |
| * Konfiguration
| |
| |}
| |
|
| |
| Nach dem Aufruf des vi befindet sich der Benutzer im Kommandomodus
| |
|
| |
| ==== 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 === | | === Befehls-Modus === |
Vim/Anwendung - Kurzbeschreibung
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
"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. B. : vi foo.txt
- Textblock mit den Yank-Kommando in einen Puffer schreiben: "f10yy (10 Zeilen in Puffer f)
- neue Datei holen, z. B. : :e bar.txt
- an die gewünschte Stelle gehen und Puffer einfügen: "fp
Installation
Anwendung
Problembehebung
Anhang
Siehe auch
Dokumentation
Man-Page
Info-Pages
Links
Projekt
Weblinks