Hier werden die Unterschiede zwischen zwei Versionen gezeigt.
| Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung Nächste Überarbeitung | Vorherige Überarbeitung | ||
| admin_grundlagen:vim [2014/06/03 10:19] carsten_strotmann [Dokus und Links] | admin_grundlagen:vim [2022/09/28 14:25] (aktuell) | ||
|---|---|---|---|
| Zeile 1: | Zeile 1: | ||
| - | ====== Überleben mit vi ====== | + | ====== vi überleben ====== | 
| - | | Befehl | Funktion  | | + | |
| - | | i | Einfügemodus  | | + | |
| - | | <ESC>  | Befehlsmodus  | | + | |
| - | | :w | speichern  | | + | |
| - | | :q! | beenden ohne speichern | | + | |
| - | | :wq | speichern und beenden  | | + | |
| - | | :x | speichern und beenden  | | + | |
| - | ===== Weitere Befehle ===== | + | Für Debian/Ubuntu empfohlen: Das Paket ''vim'' installieren, welches eine komfortablere Version von ''vi'' enthält. Dann wird u.a. immer angezeigt, wenn sich der Editor im Einfüge-Modus befindet. | 
| - | | u | Rückgängig  | | + | |
| - | | Strg+r | undo Wiederherstellen  | | + | ^ Befehl  ^ Funktion  ^ | 
| + | | ''i''  | Einfügemodus (**i**nsert)  | | ||
| + | | ''<ESC>''  | Befehlsmodus  | | ||
| + | | '':w''  | speichern (**w**rite)  | | ||
| + | | '':q''  | beenden (**q**uit)  | | ||
| + | | '':q!''  | beenden ohne speichern  | | ||
| + | | '':wq''  | speichern und beenden  | | ||
| + | |||
| + | | ''u''  | Rückgängig (**u**ndo)  | | ||
| + | | ''Strg+r'' | undo Wiederherstellen (**r**edo) | | ||
| 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) | | + | | ''J''  | hängt die nächste Zeile an das Ende der aktuellen Zeile an (**j**oin) | | 
| - | ====== VIM lernen mit einem Browser-Spiel ====== | + | ====== VIM lernen ====== | 
| + | * mit einem Browser-Spiel: http://vim-adventures.com/ | ||
| + | * mit vimtutor: | ||
| - | http://vim-adventures.com/ | + | vimtutor | 
| ====== Grundlagen ====== | ====== Grundlagen ====== | ||
| Zeile 23: | Zeile 27: | ||
| {{:admin_grundlagen:adm-3a-hjkl-keyboard.jpg?200|}} | {{:admin_grundlagen:adm-3a-hjkl-keyboard.jpg?200|}} | ||
| - | | w | ein Wort weiter (word) | | + | Aufbau: [Anzahl] Befehl | 
| - | | b | ein Wort zurück (back) | | + | |
| - | | gg | Dateianfang (go) | | + | |
| - | | 10gg | Zeile 10 | | + | |
| - | | G | Dateiende (go) | | + | |
| - | | / | suchen  | | + | |
| - | ===== Änderungsbefehle I ===== | + | Beispiel: ''10w'' (10 Wörter weiter springen) | 
| - | | dw | Wort löschen (delete word) | | + | |
| - | | dd | Zeile löschen  | | + | |
| - | | D | bis zum Ende der Zeile löschen  | | + | |
| - | | cw | Wort ändern (change word) | | + | |
| - | | cc | Zeile ändern  | | + | |
| - | | C | bis zum Ende der Zeile ändern  | | + | |
| - | ==== copy & paste ==== | + | | ''w''  | ein Wort weiter (**w**ord) | | 
| - | | yy | Zeile kopieren  | | + | | ''b''  | ein Wort zurück (**b**ack) | | 
| - | | dd | Zeile ausschneiden  | | + | | ''e''  | zum nächsten Wortende (**e**nd)| | 
| - | | P | einfügen  | | + | | ''0''  | zum Zeilenanfang | | 
| - | | vwy | Wort kopieren  | | + | | ''$''  | zum Zeilenende | | 
| - | | yw | Wort kopieren  | | + | | ''gg''  | Dateianfang (**g**o)  | | 
| + | | ''10gg'' | Zeile 10 | | ||
| + | | ''G''  | letzte Zeile | | ||
| + | | ''/''  | Vorwärts suchen  | | ||
| + | | ''?''  | Rückwärts suchen  | | ||
| + | | ''n''  | Zum nächsten Treffer in gleicher Richtung springen (**n**ext)| | ||
| + | | ''N''  | Zum nächsten Treffer in entgegengesetzter Richtung springen | | ||
| - | ====== Anwendung der Grundlagen ====== | + | ===== Änderungsbefehle I ===== | 
| - | ===== suchen und ersetzen I ===== | + | Aufbau: [''Anzahl''] ''Befehl'' ''Anwendungsbereich'' | 
| - | | / | suchen  | | + | |
| - | .. 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 | + | |
| - | | <ESC>  | Änderung beenden  | | + | |
| - | | n | nächster Treffer  | | + | |
| - | | . | letzen Befehl wiederholen | | + | |
| + | ''Anzahl'' ist dabei optional. Es gibt an, wie oft der ''Befehl''  | ||
| + | ausgeführt werden soll. Mit ''Anwendungsbereich'' bezeichne ich Navigationsbefehle. Sie werden benutzt, um sich innerhalb  | ||
| + | der Datei zu bewegen. Manche Befehle erwarten keinen Anwendungsbereich. | ||
| - | ====== Fortgeschrittene Befehle ====== | + | Beispiel: ''cwERSATZTEXT'' (Text bis zum nächster Wort durch ERSATZTEXT ersetzen) | 
| - | | Befehl | Funktion | | + | |
| - | | ZZ | speichern & verlassen | | + | |
| - | | :x | speichern & verlassen | | + | |
| - | ===== Suchen und Ersetzen II ===== | + | ^ c… ^ ersetzen (**c**hange)  ^ | 
| - | | Befehl | Funktion | | + | | ''cw''  | Wort ersetzen (change word) | | 
| - | | '':g/^$/d'' | Alle Leerzeilen löschen | | + | | ''cc''  | Zeile ersetzen  | | 
| - | | '':%s/suchwort/ersatz/gc'' | suchen und ersetzen, mit Bestätigung | | + | | ''C''  | bis zum Ende der Zeile ersetzen  | | 
| - | ===== Dateinamen-Ergänzung a la Tab-Taste ===== | + | ^ ^  ^ | 
| - | Im Einfügemodus: | + | | . | letzten Befehl wiederholen | | 
| - | Strg+x f | + | |
| - | Mehr dazu: [[ http://vimdoc.sourceforge.net/htmldoc/insert.html#ins-completion | vim.org Dokumentation ]] | + | |
| - | ===== Mehrere Dateien bearbeiten ===== | + | ==== Anwendungsbeispiel: suchen und ersetzen I ==== | 
| - | |''vi -o file1 file2''  |horizontaler Split\\ (Fenster wechseln mit ''Ctrl+W Cursortaste'') | | + | | / | suchen  | | 
| - | |''vi -O file1 file2''  |vertikaler Split (Dateien nebeneinander) | | + | |.. Suchwort eingeben .. || | 
| - | |''vi -p file1 file2''  |Tab-Modus\\ (Dateitabs wechseln mit ''g'' ''t'' (__g__o__t__o) - ''T'' für rückwärts | | + | | ''cw''  | 1 Wort ersetzen  | | 
| + | |.. Ersatzwort eingeben ..|| | ||
| + | | ''<ESC>'' | Änderung beenden  | | ||
| + | | ''n''  | zum nächsten Treffer springen  | | ||
| + | | ''.''  | Ersetzung wiederholen | | ||
| - | ===== Konfigurationsdateien ohne Kommentare anzeigen ===== | + | ==== copy & paste ==== | 
| - | :set fdm=expr | + | ^ d… ^ ausschneiden (**d**elete) ^ | 
| - | :set fde=getline(v:lnum)=~'^\\s*#'?1:getline(prevnonblank(v:lnum))=~'^\\s*#'?1:getline(nextnonblank(v:lnum))=~'^\\s*#'?1:0 | + | | ''dw''  | Wort ausschneiden (delete word) | | 
| + | | ''dd''  | Zeile ausschneiden  | | ||
| + | | ''D''  | bis zum Ende der Zeile ausschneiden  | | ||
| + | ^ y… ^ kopieren (**y**ank) ^ | ||
| + | | ''yw''  | Wort kopieren  | | ||
| + | | ''yy''  | Zeile kopieren  | | ||
| + | | ''Y''  | Zeile kopieren | | ||
| + | | ''y$''  | bis zum Ende der Zeile kopieren  | | ||
| + | ^ ^ einfügen (**p**aste)^ | ||
| + | | ''P''  | an aktueller Position einfügen | | ||
| + | | ''p''  | nach aktueller Position einfügen | | ||
| - | ====== Navigationsbefehle II ====== | + | ===== Visueller Modus ===== | 
| - | | { | zum nächsten Absatz | | + | | ''v''  | markieren (visual) | | 
| + | | ''V''  | markieren, zeilenweise | | ||
| + | | ''Strg+v'' | markieren, blockweise | | ||
| - | ====== Nützliche Informationen und Befehle ====== | + | ==== Anwendungsbeispiel: suchen und ersetzen II ==== | 
| - | Vim öffnen: | + | | ''/''  | suchen  | | 
| + | |.. Suchwort eingeben .. || | ||
| + | | ''vec''  | 1 Wort ersetzen  | | ||
| + | |.. Ersatzwort eingeben ..|| | ||
| + | | ''<ESC>''  | Änderung beenden  | | ||
| + | | ''n''  | zum nächsten Treffer springen  | | ||
| + | | ''.''  | Ersetzung wiederholen | | ||
| - | vim <Datein> - öffnet mir eine leere Datei mit dem Namen welche ich beim öffnen angegeben habe | + | ==== Text Markieren ==== | 
| - | vim + <Zeilennummer> + <Datei> - öffnet mir eine leere Datei mit dem Namen welchen ich angegeben habe und springt in die angegebene Zeile | + | | ''vip'' | aktuellen Absatz markieren | | 
| - | vim . - Ich kann mit die Datei aussuchen welche ich öffnen will. Durch den Punkt werden die Dateien aus dem aktuellen Verzeichnis angezeigt | + | | ''vit'' | Text innerhalb des aktuellen xml-Tags markieren | | 
| + | | ''vi('' oder ''vib''| Text innerhalb der (Klammern) markieren | | ||
| + | | ''vi{'' oder ''viB''| Text innerhalb der {Klammern} markieren | | ||
| + | | ''vi['' | Text innerhalb der [Klammern] markieren | | ||
| + | | ''vi%%"%%'' | Text innerhalb der %%"Anführungszeichen"%% markieren | | ||
| + | | ''vi%%'%%'' | Text innerhalb der 'Anführungszeichen' markieren | | ||
| + | | ''vap'' | aktuellen Absatz inklusive Leerzeilen außenrum markieren | | ||
| + | | ''vat'' | Text um das aktuelle xml-Tag markieren | | ||
| + | | ''va('' oder ''vab''| Text inklusive der (Klammern) markieren | | ||
| + | | ''va{'' oder ''vaB''| Text inklusive der {Klammern} markieren | | ||
| + | | ''va['' | Text inklusive der [Klammern] markieren | | ||
| + | | ''va%%"%%'' | Text inklusive der %%"Anführungszeichen"%% markieren | | ||
| + | | ''va%%'%%'' | Text inklusive der 'Anführungszeichen' markieren | | ||
| + | Quelle: http://vimdoc.sourceforge.net/htmldoc/motion.html#object-select | ||
| - | Modis: | + | ===== weitere Wege in den Einfügemodus ===== | 
| + | | ''i'' | an der aktuellen Position| | ||
| + | | ''I'' | am Zeilen- bzw. Blockanfang | | ||
| + | | ''a'' | hinter der aktuellen Position| | ||
| + | | ''A'' | am Zeilen- bzw. Blockende | | ||
| + | | ''o'' | neue Zeile darunter einfügen| | ||
| + | | ''O'' | neue Zeile darüber einfügen| | ||
| - | - Command/normal mode | + | ====== Beispiel Texte ====== | 
| - | - Insert mode (zum normalen schreiben) | + | [[admin_grundlagen:vim beispiel texte]] zum Üben | 
| - | - Ex mode (das was man kriegt, wenn man im command-mode ":" drückt) | + | |
| - | - Visual mode | + | |
| + | ====== Suchen und Ersetzen III ====== | ||
| + | ^ Befehl  ^ Funktion ^ | ||
| + | | '':%s/suchwort/ersatz/g'' | suchen und ersetzen (**s**ubstitute, **g**lobal) | | ||
| + | | '':g/^$/d''  | Alle Leerzeilen löschen | | ||
| - | Command Mode: | + | ====== Eingabehilfen im Einfügemodus ====== | 
| + | | ''Strg+n''  | Wort-Ergänzung  | | ||
| + | | ''Strg+x'' ''f'' | Dateinamen-Ergänzung a la Tab-Taste | Mehr dazu: [[ http://vimdoc.sourceforge.net/htmldoc/insert.html#ins-completion | vim.org Dokumentation ]] | ||
| - | im command-mode haben befehle den folgenden aufbau: | + | ====== Mehrere Dateien bearbeiten ====== | 
| + | |''vi -o file1 file2''  |horizontaler Split\\ (Fenster wechseln mit ''Ctrl+W Cursortaste'')  | | ||
| + | |''vi -O file1 file2''  |vertikaler Split (Dateien nebeneinander)  | | ||
| + | |''vi -p file1 file2''  |Tab-Modus\\ (Dateitabs wechseln mit ''g'' ''t'' (__g__o__t__o) - ''T'' für rückwärts  | | ||
| - | [count][command][range] | + | ====== Einstellungen ====== | 
| + | ===== Den vim.tiny smart machen ===== | ||
| - | oder | + | Folgende Zeilen in der ~/.vimrc sorgen dafür, dass auch im vim.tiny im Insert-Modus die Cursortasten und Backspace vernünftig, auch über die Grenzen des gerade eingefügten Textes hinaus, funktionieren: | 
| + | set nocompatible | ||
| + | set backspace=2 | ||
| - | [command][count][range] | + | ===== Groß-/Kleinschreibung beim Suchen ignorieren ===== | 
| + | :set ignorecase | ||
| - | [count] ist dabei optional. Es gibt an, wie oft [command] oder [range]  | + | ===== Konfigurationsdateien ohne Kommentare anzeigen ===== | 
| - | ausgeführt werden soll. | + | :set fdm=expr | 
| + | :set fde=getline(v:lnum)=~'^\\s*#'?1:getline(prevnonblank(v:lnum))=~'^\\s*#'?1:getline(nextnonblank(v:lnum))=~'^\\s*#'?1:0 | ||
| - | Mit "range" bezeichne ich sprungbefehle. Sie werden benutzt, um sich innerhalb  | + | ===== Syntax-Highlighting einschalten ===== | 
| - | der datei zu bewegen. Manche commands erwarten keine range. | + | :syntax on | 
| - | Die wichtigsten Commands: | + | ===== Zeilennummern ein-/ausschalten ===== | 
| + | :set number | ||
| + | :set nonumber | ||
| - | d - delete - löschen | + | ===== Steuerzeichen anzeigen ===== | 
| - | y - yank - in den zwischenspeicher kopieren | + | :set list | 
| - | yw - wort kopieren | + | |
| - | yy - Zeile kopieren | + | |
| - | 3yy - 3 Zeilen kopieren | + | |
| - | p - vorher kopiertes einfügen (put | leichter zu merken ist "paste") | + | |
| - | P - vorher kopiertes *vor* dem cursor einfügen | + | |
| - | c - change - löschen, und danach in den insert-modus wechseln | + | |
| - | shift + J - fügt Zeilen zusammen | + | |
| - | Die gebräuchlisten Ranges: | + | ====== Navigationsbefehle II ====== | 
| + | | { | zum nächsten Absatz | | ||
| + | | } | zum vorherigen Absatz | | ||
| + | | * | | | ||
| + | | # | | | ||
| - | w - wort vorwärts springen | + | ====== Weitere Informationen und Befehle ====== | 
| - | b - wort rückwärts springen | + | Modi: | 
| - | Beispiele: | + | * Command/normal Mode | 
| + | * Insert Mode (zum normalen Schreiben) | ||
| + | * Ex Mode (das was man kriegt, wenn man im command-Mode ":" drückt) | ||
| + | * Visual Mode | ||
| - | w - wort weiterspringen | + | ===== Ex Mode ===== | 
| - | dw - wort löschen - command "delete", reichweite "cursor bis sprungende" (wort) einfach zu merken mit "del word" | + | |
| - | d2w - einmal zwei worte löschen | + | |
| - | 2dw - zwei mal ein wort löschen (gleiches ergebnis wie d2w) | + | |
| - | 10i- - 10 "-" einfügen (erst beim wechsel in den command-mode, da ja der ganze insert-mode (i) 10 mal ausgeführt wird) | + | |
| - | Das ist der Grundsätzliche aufbau, den man mit allen anderen befehlen  | + | ^ Befehl ^ Funktion ^ | 
| - | kombiniert. | + | | ZZ | speichern & verlassen | | 
| + | | :x | speichern & verlassen | | ||
| + | | :w <Datei> | Speichert es in einer neuen Datei| | ||
| + | | :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 <Befehl>| | ||
| + | | :set all | Zeigt alle Befehle an in Kombination mit set| | ||
| - | Andere nützlichkeiten im command-mode: | + | ====== Alternative Editoren ====== | 
| - | . - letzes command wiederholen. | + | Eigentlich keine. | 
| - | cw - wort austauschen. Wie "dwi". "change word" | + | |
| - | 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 / "range"-befehle: | + | |
| - | + | ||
| - | 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 | + | |
| - | * - springt vorwärts zum nächsten vorkommen des wortes unter dem cursor | + | |
| - | # - springt rücwärts zum vorherigen vorkommen des wortes unter dem cursor | + | |
| - | + | ||
| - | Suche: | + | |
| - | + | ||
| - | /<was ich suche> (vorwärts) (mit n zum nächsten, mit strg + n zum vorherigen) | + | |
| - | ?<was ich suche> (rückwärts suche) | + | |
| - | + | ||
| - | Insert Mode: | + | |
| - | + | ||
| - | insert modus - wenn unten "insert" steht. Was man drueckt wird direkt eingefuegt. Verlassen mit ESC | + | |
| - | + | ||
| - | Ex Mode: | + | |
| - | + | ||
| - | :w <Datei> - Speichert es in einer neuen Datei | + | |
| - | :e . - Eine andere Datei auf dem aktuellen Verzeichnis öffnen | + | |
| - | :e /etc/passwd - Die Datei passwd öffnen | + | |
| - | :tabnew - Neuen Tab erstellen | + | |
| - | :tabnext - In den nächsten Tab springen | + | |
| - | :tabclose - Tab schließen | + | |
| - | :redo - Holt mir meinen Text wieder wenn ich zuviele undos gemacht habe | + | |
| - | + | ||
| - | Suchen und ersetzen: | + | |
| - | + | ||
| - | :1,60 - ersetzen von Reihe 1-60 | + | |
| - | :1,$ - ganzer Text (bis Textende) | + | |
| - | :% - ganzer Text (ebenfalls bis Textende) | + | |
| - | :.,+10 - von der Courser Position an Zehn Zeilen | + | |
| - | :-5,10 | + | |
| - | + | ||
| - | :%s/bash$/sh/ - ersetzt bash wenn es am Ende steht durch sh | + | |
| - | :%s/bash/sh/ - ersetzt bash durch sh, aber pro Zeile nur den ersten treffen | + | |
| - | :%s/bash/sh/g - ersetzt bash durch sh, im ganzen Text, auch mehrmals pro Zeile wenn es vorkommt | + | |
| - | :%s/bash/sh/gc - ersetzt bash druch sh, im ganzen Text, auch mehrmals pro Zeiel wenn es vorkommt und man wird gefragt ob man das ändern will | + | |
| - | + | ||
| - | :%s/^a/A/ - ersetzt alle kleingeschrieben a am Anfang jeder Zeile durch ein A | + | |
| - | + | ||
| - | :help <Befehl> | + | |
| - | :syntax on - Syntax highlighting | + | |
| - | :set number | + | |
| - | :set nonumber | + | |
| - | :set list - Steuerzeichen anzeigen | + | |
| - | :set all - Zeigt alle befehle an in kombination mit set | + | |
| - | + | ||
| - | Visual Mode: | + | |
| - | + | ||
| - | neben den 3 standard-modi hat vim noch den Visual mode. Er ist wie normales | + | |
| - | markieren mit shift-cursortasten und wählt einen Bereich aus, den man dann mit | + | |
| - | commands editieren kann. | + | |
| - | + | ||
| - | v normales markieren | + | |
| - | V zeilenweises markieren | + | |
| - | ^V eckiges markieren (block mode) | + | |
| - | + | ||
| - | Bsp: Block auskommentieren im Visual Mode: | + | |
| - | + | ||
| - | Mit Strg-V in den Modus --VISUELL BLOCK-- wechseln. | | + | |
| - | 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 '#' Zeichen vorangestellt. | | + | |
| - | + | ||
| - | Bsp: Block entkommentieren im Visual Mode: | + | |
| - | + | ||
| - | Mit Strg-V in den Modus --VISUELL BLOCK-- wechseln. | | + | |
| - | Die Zeilen die entkommentiert werden sollen mit den Cursor Tasten markieren. | | + | |
| - | Die Entf Taste drücken. | | + | |
| - | Fertig. | | + | |
| - | + | ||
| - | + | ||
| - | ====== Alternative Editoren ====== | + | |
| - | | Befehl | SuSE Paket | Debian Paket | Fedora Paket | | + | |
| - | | mcedit | mc | mc |  | | + | |
| - | | e3ne | e3 | e3 |  | | + | |
| - | | aee | | aee | |  | + | |
| + | | Befehl | SuSE Paket | Debian Paket | CentOS Paket | Beschreibung  | | ||
| + | | mcedit | mc | mc |  | Teil vom Midnight Commander | | ||
| + | | nano |  | | | |  | ||
| ====== Dokus und Links ===== | ====== Dokus und Links ===== | ||
| * [[http://www.debian-administration.org/article/Hiding_comments_in_configuration_files]] | * [[http://www.debian-administration.org/article/Hiding_comments_in_configuration_files]] | ||
| + | * [[https://blog.interlinked.org/tutorials/vim_tutorial.html|Tutorial mit Graphiken zur Navigation]] | ||
| * Interview mit Bill Joy über die Entstehung von "vi" [[http://web.cecs.pdx.edu/~kirkenda/joy84.html]]  | * Interview mit Bill Joy über die Entstehung von "vi" [[http://web.cecs.pdx.edu/~kirkenda/joy84.html]]  | ||
| * {{:vi-vim-cheat-sheet.gif|http://www.viemu.com/vi-vim-cheat-sheet.gif}} | * {{:vi-vim-cheat-sheet.gif|http://www.viemu.com/vi-vim-cheat-sheet.gif}} | ||
| + | {{ :admin_grundlagen:vim_grafiken.svg |}} | ||