Hier werden die Unterschiede zwischen zwei Versionen gezeigt.
Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung Nächste Überarbeitung | Vorherige Überarbeitung | ||
admin_grundlagen:vim [2016/01/18 11:49] ingo_wichmann |
admin_grundlagen:vim [2020/12/06 22:13] ingo_wichmann [Dokus und Links] |
||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
====== vi überleben ====== | ====== vi überleben ====== | ||
- | ^ Befehl ^ Funktion ^ | + | ^ Befehl ^ Funktion ^ |
| ''i'' | Einfügemodus (**i**nsert) | | | ''i'' | Einfügemodus (**i**nsert) | | ||
| ''<ESC>'' | Befehlsmodus | | | ''<ESC>'' | Befehlsmodus | | ||
Zeile 17: | Zeile 17: | ||
* mit einem Browser-Spiel: http://vim-adventures.com/ | * mit einem Browser-Spiel: http://vim-adventures.com/ | ||
* mit vimtutor: | * mit vimtutor: | ||
+ | |||
vimtutor | vimtutor | ||
Zeile 31: | Zeile 32: | ||
| ''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 53: | Zeile 54: | ||
| ''cc'' | Zeile ersetzen | | | ''cc'' | Zeile ersetzen | | ||
| ''C'' | bis zum Ende der Zeile ersetzen | | | ''C'' | bis zum Ende der Zeile ersetzen | | ||
- | ^ ^ ^ | + | |
+ | ^ ^ ^ | ||
| . | letzten Befehl wiederholen | | | . | letzten Befehl wiederholen | | ||
Zeile 69: | Zeile 71: | ||
| ''dw'' | Wort ausschneiden (delete word) | | | ''dw'' | Wort ausschneiden (delete word) | | ||
| ''dd'' | Zeile ausschneiden | | | ''dd'' | Zeile ausschneiden | | ||
- | | ''dj'' | Zeile und nächste Zeile ausschneiden | | ||
- | | ''dk'' | Zeile und vorherige Zeile ausschneiden | | ||
| ''D'' | bis zum Ende der Zeile ausschneiden | | | ''D'' | bis zum Ende der Zeile ausschneiden | | ||
^ y… ^ kopieren (**y**ank) ^ | ^ y… ^ kopieren (**y**ank) ^ | ||
Zeile 81: | Zeile 81: | ||
===== 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 ==== | ||
Zeile 93: | Zeile 93: | ||
| ''n'' | zum nächsten Treffer springen | | | ''n'' | zum nächsten Treffer springen | | ||
| ''.'' | Ersetzung wiederholen | | | ''.'' | Ersetzung wiederholen | | ||
+ | |||
+ | ==== Text Markieren ==== | ||
+ | | ''vip'' | aktuellen Absatz markieren | | ||
+ | | ''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 | ||
===== weitere Wege in den Einfügemodus ===== | ===== weitere Wege in den Einfügemodus ===== | ||
Zeile 103: | Zeile 120: | ||
====== Beispiel Texte ====== | ====== Beispiel Texte ====== | ||
- | [[vim beispiel texte]] zum Üben | + | [[admin_grundlagen:vim beispiel texte]] zum Üben |
====== Suchen und Ersetzen III ====== | ====== Suchen und Ersetzen III ====== | ||
Zeile 119: | Zeile 136: | ||
|''vi -p file1 file2'' |Tab-Modus\\ (Dateitabs wechseln mit ''g'' ''t'' (__g__o__t__o) - ''T'' für rückwärts | | |''vi -p file1 file2'' |Tab-Modus\\ (Dateitabs wechseln mit ''g'' ''t'' (__g__o__t__o) - ''T'' für rückwärts | | ||
- | ====== Konfigurationsdateien ohne Kommentare anzeigen ====== | + | ====== 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 ===== | ||
+ | :set ignorecase | ||
+ | |||
+ | ===== Konfigurationsdateien ohne Kommentare anzeigen ===== | ||
:set fdm=expr | :set fdm=expr | ||
:set fde=getline(v:lnum)=~'^\\s*#'?1:getline(prevnonblank(v:lnum))=~'^\\s*#'?1:getline(nextnonblank(v:lnum))=~'^\\s*#'?1:0 | :set fde=getline(v:lnum)=~'^\\s*#'?1:getline(prevnonblank(v:lnum))=~'^\\s*#'?1:getline(nextnonblank(v:lnum))=~'^\\s*#'?1:0 | ||
+ | |||
+ | ===== Syntax-Highlighting einschalten ===== | ||
+ | :syntax on | ||
+ | |||
+ | ===== Zeilennummern ein-/ausschalten ===== | ||
+ | :set number | ||
+ | :set nonumber | ||
+ | |||
+ | ===== Steuerzeichen anzeigen ===== | ||
+ | :set list | ||
====== Navigationsbefehle II ====== | ====== Navigationsbefehle II ====== | ||
Zeile 152: | Zeile 189: | ||
|| | || | ||
| :help <Befehl>| | | :help <Befehl>| | ||
- | | :syntax on | Syntax highlighting| | ||
- | | :set number| | ||
- | | :set nonumber| | ||
- | | :set list | Steuerzeichen anzeigen| | ||
| :set all | Zeigt alle Befehle an in Kombination mit set| | | :set all | Zeigt alle Befehle an in Kombination mit set| | ||
====== 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 170: | Zeile 206: | ||
* {{: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 |}} |