Hier werden die Unterschiede zwischen zwei Versionen gezeigt.
| Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung Nächste Überarbeitung | Vorherige Überarbeitung | ||
|
admin_grundlagen:vim [2016/09/16 08:21] ingo_wichmann [Text Markieren] |
admin_grundlagen:vim [2022/09/28 14:25] (aktuell) |
||
|---|---|---|---|
| Zeile 1: | Zeile 1: | ||
| ====== vi überleben ====== | ====== vi überleben ====== | ||
| + | |||
| + | 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. | ||
| + | |||
| ^ Befehl ^ Funktion ^ | ^ Befehl ^ Funktion ^ | ||
| | ''i'' | Einfügemodus (**i**nsert) | | | ''i'' | Einfügemodus (**i**nsert) | | ||
| Zeile 7: | Zeile 10: | ||
| | '':q!'' | beenden ohne speichern | | | '':q!'' | beenden ohne speichern | | ||
| | '':wq'' | speichern und beenden | | | '':wq'' | speichern und beenden | | ||
| - | | '':x'' |::: | | ||
| | ''u'' | Rückgängig (**u**ndo) | | | ''u'' | Rückgängig (**u**ndo) | | ||
| Zeile 18: | Zeile 20: | ||
| * mit einem Browser-Spiel: http://vim-adventures.com/ | * mit einem Browser-Spiel: http://vim-adventures.com/ | ||
| * mit vimtutor: | * mit vimtutor: | ||
| + | |||
| vimtutor | vimtutor | ||
| Zeile 32: | Zeile 35: | ||
| | ''e'' | zum nächsten Wortende (**e**nd)| | | ''e'' | zum nächsten Wortende (**e**nd)| | ||
| | ''0'' | zum Zeilenanfang | | | ''0'' | zum Zeilenanfang | | ||
| - | | ''$'' | zum Zeileneinde | | + | | ''$'' | zum Zeilenende | |
| | ''gg'' | Dateianfang (**g**o) | | | ''gg'' | Dateianfang (**g**o) | | ||
| | ''10gg'' | Zeile 10 | | | ''10gg'' | Zeile 10 | | ||
| Zeile 75: | Zeile 78: | ||
| | ''yw'' | Wort kopieren | | | ''yw'' | Wort kopieren | | ||
| | ''yy'' | Zeile kopieren | | | ''yy'' | Zeile kopieren | | ||
| - | | ''Y'' | bis zum Ende der Zeile kopieren | | + | | ''Y'' | Zeile kopieren | |
| + | | ''y$'' | bis zum Ende der Zeile kopieren | | ||
| ^ ^ einfügen (**p**aste)^ | ^ ^ einfügen (**p**aste)^ | ||
| | ''P'' | an aktueller Position einfügen | | | ''P'' | an aktueller Position einfügen | | ||
| Zeile 81: | Zeile 85: | ||
| ===== Visueller Modus ===== | ===== Visueller Modus ===== | ||
| - | | ''v'' | Visueller Modus | | + | | ''v'' | markieren (visual) | |
| - | | ''V'' | Visueller Modus, zeilenweise | | + | | ''V'' | markieren, zeilenweise | |
| - | | ''Strg+v'' | Visueller Modus, blockweise | | + | | ''Strg+v'' | markieren, blockweise | |
| ==== Anwendungsbeispiel: suchen und ersetzen II ==== | ==== Anwendungsbeispiel: suchen und ersetzen II ==== | ||
| | ''/'' | suchen | | | ''/'' | suchen | | ||
| |.. Suchwort eingeben .. || | |.. Suchwort eingeben .. || | ||
| - | | ''vwc'' | 1 Wort ersetzen | | + | | ''vec'' | 1 Wort ersetzen | |
| |.. Ersatzwort eingeben ..|| | |.. Ersatzwort eingeben ..|| | ||
| | ''<ESC>'' | Änderung beenden | | | ''<ESC>'' | Änderung beenden | | ||
| Zeile 96: | Zeile 100: | ||
| ==== Text Markieren ==== | ==== Text Markieren ==== | ||
| | ''vip'' | aktuellen Absatz markieren | | | ''vip'' | aktuellen Absatz markieren | | ||
| - | | ''vap'' | aktuellen Absatz inklusive Leerzeilen außenrum markieren | | ||
| | ''vit'' | Text innerhalb des aktuellen xml-Tags markieren | | | ''vit'' | Text innerhalb des aktuellen xml-Tags markieren | | ||
| - | | ''vat'' | Text um das aktuelle xml-Tag markieren | | ||
| | ''vi('' oder ''vib''| Text innerhalb der (Klammern) markieren | | | ''vi('' oder ''vib''| Text innerhalb der (Klammern) markieren | | ||
| - | | ''va('' oder ''vab''| Text inklusive der (Klammern) markieren | | ||
| | ''vi{'' oder ''viB''| Text innerhalb der {Klammern} markieren | | | ''vi{'' oder ''viB''| Text innerhalb der {Klammern} markieren | | ||
| - | | ''vi{'' oder ''vaB''| Text inklusive der {Klammern} markieren | | ||
| | ''vi['' | 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 [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 | ||
| ===== weitere Wege in den Einfügemodus ===== | ===== weitere Wege in den Einfügemodus ===== | ||
| Zeile 132: | Zeile 141: | ||
| ====== Einstellungen ====== | ====== Einstellungen ====== | ||
| + | ===== Den vim.tiny smart machen ===== | ||
| + | |||
| + | 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 | ||
| + | |||
| ===== Groß-/Kleinschreibung beim Suchen ignorieren ===== | ===== Groß-/Kleinschreibung beim Suchen ignorieren ===== | ||
| :set ignorecase | :set ignorecase | ||
| Zeile 181: | Zeile 196: | ||
| ====== Alternative Editoren ====== | ====== Alternative Editoren ====== | ||
| + | |||
| + | Eigentlich keine. | ||
| + | |||
| | Befehl | SuSE Paket | Debian Paket | CentOS Paket | Beschreibung | | | Befehl | SuSE Paket | Debian Paket | CentOS Paket | Beschreibung | | ||
| | mcedit | mc | mc | | Teil vom Midnight Commander | | | mcedit | mc | mc | | Teil vom Midnight Commander | | ||
| Zeile 192: | Zeile 210: | ||
| * {{: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 |}} | ||