admin_grundlagen:vim
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.
| Beide Seiten, vorherige ÜberarbeitungVorherige ÜberarbeitungNächste Überarbeitung | Vorherige Überarbeitung | ||
| admin_grundlagen:vim [2016/01/18 10:41] – [Änderungsbefehle I] ingo_wichmann | admin_grundlagen:vim [2022/09/28 14:25] (aktuell) – Externe Bearbeitung 127.0.0.1 | ||
|---|---|---|---|
| Zeile 1: | Zeile 1: | ||
| + | ====== vi überleben ====== | ||
| + | Für Debian/ | ||
| - | ====== Überleben mit vi ====== | + | ^ Befehl |
| - | | Befehl | + | | '' |
| - | | i | Einfügemodus | + | | '' |
| - | | < | + | | '' |
| - | | :w | speichern | + | | '' |
| - | | :q! | + | | '' |
| - | | :wq | + | | '' |
| - | | :x | speichern und beenden | + | |
| - | ===== Weitere Befehle ===== | + | | '' |
| - | | u | Rückgängig | + | | '' |
| - | | Strg+r | undo Wiederherstellen | + | |
| In älteren Vim-Versionen nützlich: | In älteren Vim-Versionen nützlich: | ||
| - | | J | hängt die nächste Zeile an das Ende der aktuellen Zeile an (join) | | + | | '' |
| - | ====== VIM lernen | + | ====== VIM lernen ====== |
| + | * mit einem Browser-Spiel: | ||
| + | * mit vimtutor: | ||
| - | http:// | + | |
| - | + | ||
| - | ===== VIM lernen mit VIM ===== | + | |
| - | $ vimtutor | + | |
| ====== Grundlagen ====== | ====== Grundlagen ====== | ||
| Zeile 28: | Zeile 27: | ||
| {{: | {{: | ||
| - | | w | ein Wort weiter (word) | | + | Aufbau: [Anzahl] Befehl |
| - | | b | ein Wort zurück (back) | | + | |
| - | | gg | Dateianfang (go) | | + | |
| - | | 10gg | Zeile 10 | | + | |
| - | | G | Dateiende (go) | | + | |
| - | | / | Vorwärts suchen | + | |
| - | | ? | Rückwärts suchen | + | |
| - | | n | Zum nächsten Treffer in gleicher Richtung springen | | + | |
| - | | N | Zum nächsten Treffer in entgegengesetzter Richtung springen | | + | |
| - | ===== Änderungsbefehle I ===== | + | Beispiel: '' |
| - | ^ d… ^ ausschneiden | + | |
| - | | dw | Wort ausschneiden | + | |
| - | | dd | Zeile ausschneiden | + | |
| - | | dj | Zeile und nächste Zeile ausschneiden | + | |
| - | | dk | Zeile und vorherige Zeile ausschneiden | + | |
| - | | D | bis zum Ende der Zeile ausschneiden | + | |
| - | ^ c… ^ ersetzen | + | |
| - | | cw | Wort ersetzen (change word) | | + | |
| - | | cc | Zeile ersetzen | + | |
| - | | C | bis zum Ende der Zeile ersetzen | + | |
| - | ==== copy & paste ==== | + | | '' |
| - | | yy | Zeile kopieren | + | | '' |
| - | | dd | Zeile ausschneiden | + | | '' |
| - | | p | + | | '' |
| - | | P | + | | '' |
| - | | vwy | + | | '' |
| - | | yw | Wort kopieren | + | | '' |
| + | | '' | ||
| + | | ''/'' | ||
| + | | ''?'' | ||
| + | | '' | ||
| + | | '' | ||
| - | ====== Beispiel Texte ====== | + | ===== Änderungsbefehle I ===== |
| - | [[vim beispiel texte]] | + | Aufbau: |
| - | ====== Anwendung | + | '' |
| - | ===== suchen und ersetzen I ===== | + | ausgeführt werden soll. Mit '' |
| - | | / | suchen | + | der Datei zu bewegen. Manche Befehle erwarten keinen Anwendungsbereich. |
| - | .. Suchwort eingeben .. | + | |
| - | | v | visueller modus - zeichenweise | + | |
| - | | [Shift] v | visueller modus - zeilenweise | + | |
| - | | [Strg] v | visueller modus - spaltenweise | + | |
| - | .. Suchwort markieren .. | + | |
| - | | c | markierten text ändern | + | |
| - | | I | einfügen | + | |
| - | | d | löschen | + | |
| - | | y | kopieren | + | |
| - | .. Ersatzwort eingeben | + | |
| - | | < | + | |
| - | | n | nächster Treffer | + | |
| - | | . | letzen Befehl wiederholen | | + | |
| + | Beispiel: '' | ||
| - | ====== Fortgeschrittene Befehle ====== | + | ^ c… ^ ersetzen (**c**hange) |
| - | | Befehl | + | | '' |
| - | | ZZ | speichern & verlassen | + | | '' |
| - | | :x | speichern & verlassen | + | | '' |
| - | ===== Suchen und Ersetzen II ===== | + | ^ ^ ^ |
| - | | Befehl | Funktion | | + | | . | letzten Befehl wiederholen |
| - | | '': | + | |
| - | | '': | + | |
| - | ===== Dateinamen-Ergänzung a la Tab-Taste ===== | + | ==== Anwendungsbeispiel: |
| - | Im Einfügemodus: | + | | / | suchen |
| - | | + | |.. Suchwort eingeben .. || |
| - | Mehr dazu: [[ http:// | + | | '' |
| + | |.. Ersatzwort eingeben ..|| | ||
| + | | ''< | ||
| + | | '' | ||
| + | | '' | ||
| - | ===== Mehrere Dateien bearbeiten ===== | + | ==== copy & paste ==== |
| - | |'' | + | ^ d… ^ ausschneiden (**d**elete) |
| - | |'' | + | | '' |
| - | |'' | + | | '' |
| + | | '' | ||
| + | ^ y… ^ kopieren | ||
| + | | '' | ||
| + | | '' | ||
| + | | '' | ||
| + | | '' | ||
| + | ^ ^ einfügen | ||
| + | | '' | ||
| + | | '' | ||
| - | ===== Konfigurationsdateien ohne Kommentare anzeigen | + | ===== Visueller Modus ===== |
| - | :set fdm=expr | + | | '' |
| - | :set fde=getline(v:lnum)=~'^\\s*#'?1:getline(prevnonblank(v: | + | | '' |
| + | | '' | ||
| - | ====== Navigationsbefehle | + | ==== Anwendungsbeispiel: |
| - | | { | zum nächsten | + | | ''/'' |
| - | | } | + | |.. Suchwort eingeben .. || |
| + | | '' | ||
| + | |.. Ersatzwort eingeben ..|| | ||
| + | | ''< | ||
| + | | '' | ||
| + | | '' | ||
| - | ====== Nützliche Informationen und Befehle ====== | + | ==== Text Markieren |
| - | Vim öffnen: | + | | '' |
| + | | '' | ||
| + | | '' | ||
| + | | '' | ||
| + | | '' | ||
| + | | '' | ||
| + | | '' | ||
| + | | '' | ||
| + | | '' | ||
| + | | '' | ||
| + | | '' | ||
| + | | '' | ||
| + | | '' | ||
| + | | '' | ||
| + | Quelle: http:// | ||
| - | vim < | + | ===== weitere Wege in den Einfügemodus ===== |
| - | vim + < | + | | '' |
| - | vim . - Ich kann mit die Datei aussuchen welche ich öffnen will. Durch den Punkt werden die Dateien aus dem aktuellen | + | | '' |
| + | | '' | ||
| + | | '' | ||
| + | | '' | ||
| + | | '' | ||
| - | Modi: | + | ====== Beispiel Texte ====== |
| + | [[admin_grundlagen:vim beispiel texte]] zum Üben | ||
| - | - Command/ | + | ====== Suchen und Ersetzen III ====== |
| - | - Insert Mode (zum normalen Schreiben) | + | ^ Befehl |
| - | - Ex Mode (das was man kriegt, wenn man im command-Mode ":" | + | | '': |
| - | - Visual Mode | + | | '': |
| + | ====== Eingabehilfen im Einfügemodus ====== | ||
| + | | '' | ||
| + | | '' | ||
| - | Command Mode: | + | ====== Mehrere Dateien bearbeiten ====== |
| + | |'' | ||
| + | |'' | ||
| + | |'' | ||
| - | Im command-Mode haben Befehle den folgenden Aufbau: | + | ====== Einstellungen ====== |
| + | ===== Den vim.tiny smart machen ===== | ||
| - | [count][command][range] | + | Folgende Zeilen in der ~/.vimrc sorgen dafür, dass auch im vim.tiny im Insert-Modus die Cursortasten und Backspace vernünftig, |
| + | set nocompatible | ||
| + | set backspace=2 | ||
| - | oder | + | ===== Groß-/ |
| + | :set ignorecase | ||
| - | [command][count][range] | + | ===== Konfigurationsdateien ohne Kommentare anzeigen ===== |
| - | + | :set fdm=expr | |
| - | [count] ist Dabei optional. Es gibt an, wie oft [command] oder [range] | + | |
| - | ausgeführt werden soll. | + | |
| - | + | ||
| - | Mit " | + | |
| - | der Datei zu bewegen. Manche commands erwarten keine range. | + | |
| - | + | ||
| - | Die wichtigsten Commands: | + | |
| - | + | ||
| - | | + | |
| - | y - yank - in den zwischenspeicher kopieren | + | |
| - | yw - Wort kopieren | + | |
| - | yy - Zeile kopieren | + | |
| - | 3yy - 3 Zeilen kopieren | + | |
| - | p - vorher Kopiertes einfügen | + | |
| - | P - vorher Kopiertes | + | |
| - | c - change - löschen, und danach in den insert-Modus wechseln | + | |
| - | shift + J - fügt Zeilen zusammen | + | |
| - | + | ||
| - | Die gebräuchlisten Ranges: | + | |
| - | + | ||
| - | w - Wort vorwärts springen | + | |
| - | b - Wort rückwärts springen | + | |
| - | + | ||
| - | Beispiele: | + | |
| - | + | ||
| - | w - Wort weiterspringen | + | |
| - | dw - Wort löschen - command " | + | |
| - | d2w - einmal zwei Worte löschen | + | |
| - | 2dw - zwei mal ein Wort löschen | + | |
| - | 10i- - 10 " | + | |
| - | + | ||
| - | Das ist der grundsätzliche Aufbau, den man mit allen anderen Befehlen | + | |
| - | kombiniert. | + | |
| - | + | ||
| - | Andere Nützlichkeiten im command-Mode: | + | |
| - | + | ||
| - | . - letzes command wiederholen. | + | |
| - | cw - Wort austauschen. Wie " | + | |
| - | i - in den insert-Modus wechseln | + | |
| - | I - in den insert-Modus wechseln und Cursor an den Anfang der Zeile positionieren. Kurz: Wenn man etwas am Anfang der Zeile einfügen will | + | |
| - | a - append -> wenn man etwas hinter dem Cursor einfügen will | + | |
| - | A - append -> wenn man etwas am Ende der Zeile einfügen will | + | |
| - | o - open new line - Leerzeile anfügen + insert-Mode | + | |
| - | O - open new line - Leerzeile einfügen + insert-Mode | + | |
| - | ddp - aktuelle Zeile eins nach unten verschieben | + | |
| - | xp - Buchstaben vertauschen | + | |
| - | + | ||
| - | Bewegen im command-mode / " | + | |
| - | + | ||
| - | w - Wort weiter springen | + | |
| - | W - wie w, überspringt aber mehr (z.B. Kommas) | + | |
| - | b - Wort zurück springen | + | |
| - | B - wie b, überspringt aber mehr (z.B. Kommas) | + | |
| - | e - springt bis zum Ende des Wortes unter dem Cursor | + | |
| - | E - wie E, überspringt aber mehr (z.B. Kommas) | + | |
| - | { } - Absatz vor/zurück springen. Sehr praktisch in einer .rhosts! | + | |
| - | 0 - pos1 | + | |
| - | $ - ende | + | |
| - | | + | |
| - | | + | |
| - | + | ||
| - | Insert Mode: | + | |
| - | + | ||
| - | Insert Modus - wenn unten " | + | |
| - | + | ||
| - | Ex Mode: | + | |
| - | + | ||
| - | :w < | + | |
| - | :e . - Eine andere Datei auf dem aktuellen Verzeichnis öffnen | + | |
| - | :e /etc/passwd - Die Datei passwd öffnen | + | |
| - | :r /etc/hosts - Den Inhalt der angegebenen Datei an die Cursorposition des offenen Dokuments einlesen | + | |
| - | :tabnew - Neuen Tab erstellen | + | |
| - | :tabnext - In den nächsten Tab springen | + | |
| - | :tabclose - Tab schließen | + | |
| - | :redo - Holt den Text wieder wenn ich zuviele undos gemacht habe | + | |
| - | + | ||
| - | Suchen und ersetzen: | + | |
| - | + | ||
| - | :1,60 - ersetzen von Reihe 1-60 | + | |
| - | | + | |
| - | | + | |
| - | :.,+10 - von der Courser Position an Zehn Zeilen | + | |
| - | :-5,10 | + | |
| - | + | ||
| - | :%s/bash$/sh/ - ersetzt bash wenn es am Ende steht durch sh | + | |
| - | | + | |
| - | : | + | |
| - | : | + | |
| - | : | + | ===== Syntax-Highlighting einschalten ===== |
| + | :syntax on | ||
| - | :help < | + | ===== Zeilennummern ein-/ |
| - | :syntax on - Syntax highlighting | + | |
| :set number | :set number | ||
| :set nonumber | :set nonumber | ||
| - | :set list - Steuerzeichen anzeigen | ||
| - | :set all - Zeigt alle Befehle an in Kombination mit set | ||
| - | Visual Mode: | + | ===== Steuerzeichen anzeigen ===== |
| + | | ||
| - | neben den 3 standard-Modi hat vim noch den Visual mode. Er ist wie normales | + | ====== Navigationsbefehle II ====== |
| - | Markieren mit shift-Cursortasten und wählt einen Bereich aus, den man dann mit | + | | { | zum nächsten Absatz | |
| - | commands editieren kann. | + | | } | zum vorherigen Absatz | |
| + | | * | | | ||
| + | | # | | | ||
| - | v | + | ====== Weitere Informationen und Befehle ====== |
| - | | + | Modi: |
| - | ^V eckiges markieren (block mode) | + | |
| - | Bsp: Block auskommentieren | + | * Command/ |
| + | * Insert Mode (zum normalen Schreiben) | ||
| + | * Ex Mode (das was man kriegt, wenn man im command-Mode ":" drückt) | ||
| + | * Visual Mode | ||
| - | Mit Strg-V in den Modus --VISUELL BLOCK-- wechseln. | + | ===== Ex Mode ===== |
| - | Die Zeilen die auskommentiert werden sollen mit den Cursor Tasten markieren. | + | |
| - | Mit Shift-I in den Einfüge Modus wechseln. | + | |
| - | Das Kommentarzeichen (z.B. #) einfügen. | + | |
| - | ESC drücken um aus dem Modus zu kommen. | + | |
| - | Die Zeilen bekommen wie von Zauberhand das '#' | + | |
| - | Bsp: Block entkommentieren im Visual Mode: | + | ^ Befehl ^ Funktion ^ |
| + | | ZZ | speichern & verlassen | | ||
| + | | :x | speichern & verlassen | | ||
| + | | :w < | ||
| + | | :e . | Eine andere Datei auf dem aktuellen Verzeichnis öffnen| | ||
| + | | :e /etc/passwd | Die Datei passwd öffnen| | ||
| + | | :r /etc/hosts | Den Inhalt der angegebenen Datei an die Cursorposition des offenen Dokuments einlesen| | ||
| + | | :tabnew | Neuen Tab erstellen| | ||
| + | | :tabnext | In den nächsten Tab springen| | ||
| + | | :tabclose | Tab schließen| | ||
| + | | :redo | Holt den Text wieder wenn ich zuviele undos gemacht habe| | ||
| + | || | ||
| + | | :help < | ||
| + | | :set all | Zeigt alle Befehle an in Kombination mit set| | ||
| - | Mit Strg-V in den Modus --VISUELL BLOCK-- wechseln. | + | ====== Alternative Editoren ====== |
| - | Die Zeilen die entkommentiert werden sollen mit den Cursor Tasten markieren. | + | |
| - | Die Entf Taste drücken. | + | |
| - | Fertig. | + | |
| + | Eigentlich keine. | ||
| - | ====== Alternative Editoren ====== | ||
| | Befehl | SuSE Paket | Debian Paket | CentOS Paket | Beschreibung | | Befehl | SuSE Paket | Debian Paket | CentOS Paket | Beschreibung | ||
| | mcedit | mc | mc | | mcedit | mc | mc | ||
| | nano | | nano | ||
| - | |||
| - | |||
| ====== Dokus und Links ===== | ====== Dokus und Links ===== | ||
| Zeile 271: | Zeile 210: | ||
| * {{: | * {{: | ||
| + | {{ : | ||
admin_grundlagen/vim.1453113662.txt.gz · Zuletzt geändert: 2016/01/18 10:41 von ingo_wichmann
