vim 7.3 GE-PACKT von Reinhard Wobst 4., überarbeitete Auflage 2012 vim 7.3 GE-PACKT Wobst schnell und portofrei erhältlich bei beck-shop.de DIE FACHBUCHHANDLUNG Thematische Gliederung: Textverarbeitung Textverarbeitung mitp/bhv 2011 Verlag C.H. Beck im Internet: www.beck.de ISBN 978 3 8266 8190 5
I Inhaltsverzeichnis V Vorwort........................................ 13 E Einleitung...................................... 15 1 vim ist mehr als vi............................... 19 1.1 vim im Schnellgang: Versionen, Navigieren, Editieren... 19 1.2 Was vi nicht kann: Hilfe, Undo-Stack, Farbe............ 25 1.2.1 Die Hilfe................................... 25 1.2.2 Undo...................................... 29 1.2.3 Visueller Modus............................. 30 1.2.4 Farbe...................................... 32 1.2.5 Tastaturkürzel, Aufzeichnen (Recording)........ 33 1.2.6 Marken.................................... 34 1.2.7»Tabbed Windows«: Mehrere Fenster bei vim7... 35 1.2.8 Navigieren in Archiven und Verzeichnissen mit vim7................................... 36 1.2.9 Weitere Unterschiede zu vi.................... 36 1.3 Grafische Oberfläche: gvim, evim.................... 37 2 Aufruf, Einfüge- und Kommandomodus............. 39 2.1 Start und Beenden von vim......................... 39 2.1.1 Aufruf von vim.............................. 39 2.1.2 Aufrufoptionen (Schalter)..................... 41 2.1.3 Initialisierung............................... 43 2.1.4 Dateien und Puffer........................... 45 2.1.5 Einlesen, nächste Datei, Speichern, Beenden von vim.................................... 45 5
2.2 Syntax und Systematik der vim-befehle............... 48 2.3 Einfügen......................................... 51 2.3.1 Wechseln in den Einfügemodus................ 51 2.3.2 Arbeiten im Einfügemodus.................... 52 2.3.3 Verlassen des Einfügemodus.................. 56 2.4 Positionieren..................................... 56 2.4.1 Zeichenweise............................... 57 2.4.2 Wortweise.................................. 59 2.4.3 Zeilenweise................................ 60 2.4.4 Satzweise.................................. 60 2.4.5 Seitenweise, Rollen.......................... 61 2.4.6 Globale Positionierung....................... 62 2.4.7 Marken, Sprunglisten........................ 64 2.5 Editieren......................................... 67 2.5.1 Ohne folgendes Positionierkommando.......... 68 2.5.2 Mit folgendem Positionierkommando........... 70 2.6 Suchen und reguläre Ausdrücke..................... 73 2.6.1 Suchbefehle und Optionen.................... 74 2.6.2 Such-Geschichte (Such-History)................ 76 2.6.3 Reguläre Ausdrücke......................... 77 2.7 Visueller Modus................................... 83 2.8 Register......................................... 87 2.9 Sonstige Kommandos.............................. 90 2.9.1 Wiederholung, Undo, Redo.................... 90 2.9.2 Aufzeichnen (Recording)...................... 92 2.9.3 Geteilte Fenster............................. 92 2.9.4 vim7: Tabbed Windows als bessere Lösung...... 96 2.9.5 Nützliches und Fragliches..................... 98 3 ex-kommandos................................. 103 3.1 Die ex-kommandos nutzen.......................... 104 3.2 Bereiche......................................... 107 3.3 Editierbefehle.................................... 109 6
3.3.1 Ersetzung (Substitution)...................... 109 3.3.2 Weitere Editierkommandos................... 111 3.4 Sonstige Befehle (Auswahl)......................... 114 3.4.1 Verbindung zur Außenwelt.................... 114 3.4.2 Spezielle Ausgaben.......................... 116 3.4.3 Verschlüsselung............................. 117 4 Einstellungen konfigurieren, speichern, wiederherstellen................................ 119 4.1 Konfigurieren aber wo?........................... 119 4.2 Optionen setzen: Syntax............................ 122 4.3 Optionen setzen: die richtige finden.................. 125 4.4 Optionenliste..................................... 126 4.5 Ein Beispiel mit Tipps.............................. 148 4.6 Abspeichern und Wiederherstellen................... 153 4.6.1 Was tun nach einem Abbruch?................. 153 4.6.2 Sitzungen und Einstellungen speichern und einlesen................................ 155 5 vim-skripte..................................... 161 5.1 Aufbau einer Skriptzeile............................ 162 5.2 Konstanten....................................... 164 5.3 Variable......................................... 165 5.3.1 Datentypen................................. 165 5.3.2 Variablennamen............................. 166 5.3.3 Gültigkeitsbereich........................... 167 5.3.4 Spezielle Variable........................... 168 5.4 Ausdrücke und Operatoren......................... 169 5.5 Anweisungen..................................... 173 5.5.1 Zuweisung................................. 173 5.5.2 Ausgabe................................... 174 5.5.3 Ablaufsteuerung............................ 175 5.5.4 Nützliches.................................. 177 5.5.5 Fehlerbehandlung........................... 179 7
8 5.6 Funktionen....................................... 183 5.6.1 Nutzerdefinierte Funktionen................... 183 5.6.2 Vordefinierte Funktionen..................... 190 5.7 Elemente aus Python: Listen, Dictionaries, Funktionsreferenzen (vim7)......................... 207 5.7.1 Listen..................................... 207 5.7.2 Dictionaries................................ 210 5.7.3 Funktionsreferenzen......................... 211 5.7.4 Diskussion................................. 211 5.8 Eine praktische Anwendung: Fließtext erzeugen........ 212 5.9 Fehlersuche...................................... 216 5.10 Guter Stil........................................ 223 6 Features, die man kennen sollte................... 225 6.1 Abkürzungen..................................... 225 6.2 Mappings........................................ 229 6.3 Anwenderdefinierte Kommandos.................... 231 6.4 Autokommandos.................................. 234 6.4.1 Autokommandos definieren................... 235 6.4.2 Ereignistypen, Autokommandos auslösen....... 237 6.4.3 Autokommando-Gruppen..................... 243 6.4.4 Autokommandos anzeigen und löschen......... 244 6.4.5 Tipps zur Anwendung........................ 245 6.5 Faltungen........................................ 247 6.5.1 Faltungskommandos......................... 249 6.5.2 Faltungsmethoden........................... 249 6.5.3 Tipps zur Anwendung........................ 254 6.6 Modelines....................................... 256 6.7 Text formatieren.................................. 257 6.7.1 Ausrichtung verändern....................... 258 6.7.2 Einrücken, automatisch Umbrechen, Tabulatoren................................ 259 6.7.3 Intelligent formatieren....................... 261 6.8 Syntaxerkennung (Einrücken)....................... 265
6.8.1 C- und andere Programme einrücken........... 265 6.8.2 Einrückung frei wählen....................... 272 6.9 Syntaxerkennung (Farben, Faltung).................. 273 6.9.1 Syntaxfarben einschalten..................... 274 6.9.2 Farben verändern............................ 275 6.9.3 Syntaxbeschreibungen ändern oder neu erstellen................................... 278 6.10 Navigation für Programmierer: %, [, ctags, cscope...... 281 6.10.1 Eingebaute Navigationskommandos............ 281 6.10.2 ctags...................................... 283 6.10.3 cscope..................................... 284 6.10.4 Tipps für den Einsatz......................... 285 6.11 Quickfix-Modus: :make, :grep und»missbrauch«....... 287 6.12 vimdiff.......................................... 291 6.13 Python und Perl................................... 294 6.13.1 Python-Einbindung.......................... 294 6.13.2 Perl-Einbindung............................. 303 6.14 Jonglieren mit Dateinamen: expand(), <sfile> und andere....................................... 305 6.15 Das netrw-plug-in (vim7)........................... 308 6.15.1 Arbeiten über das Netzwerk................... 308 6.15.2 Wandern durch Verzeichnisse................. 310 6.16 Arbeit mit zip- und tar-archiven (vim7)................ 311 7 vim in der Praxis................................ 313 7.1 Automatismen kontra»handarbeit«.................. 313 7.2 Zwei kleine Beispiele: Text formatieren und C-Programme editieren............................. 315 7.3 Chiffriertes bearbeiten............................. 316 7.3.1 Die eingebaute Verschlüsselung nutzen......... 318 7.3.2 Passwort ändern, Verschlüsselung aufheben..... 319 7.3.3 Passwortcontainer auch für Windows-Nutzer..... 319 7.3.4 Alternative: gpgvi............................ 320 9
10 7.3.5 Diskussion: Sicherheit, Vor- und Nachteile gegenüber Alternativen....................... 321 7.3.6 Wahl des Algorithmus........................ 321 7.3.7 Klartext bleibt (fast) geschützt................. 322 7.3.8 Implementierung............................ 322 7.3.9 Restrisiken................................. 323 7.4 Vollkomfort: XML editieren.......................... 324 7.5 Killerapplikation in zwei Varianten: die Stilverbesserer................................... 329 7.5.1 Dateityp sywdh: Der letzte Farbschrei........... 330 7.5.2»:Style«und <F4> für Profis................... 332 7.6 Rechtschreibprüfung inklusive...................... 337 7.6.1 Die alte Rechtschreibprüfung (bis vim6)......... 337 7.6.2 Einfacher und schneller mit vim7............... 340 7.7 Hexdumps bearbeiten.............................. 342 7.8 Der Farb-Pager less.sh............................. 344 7.9 C-Programme falten............................... 345 7.10 Anwendungen über Anwendungen................... 348 8 Tipps ohne Ende................................ 349 8.1 Tipps aus der Hilfe................................ 349 8.2 FAQs und www.vim.org............................. 350 8.3 Eigene Tipps..................................... 352 8.3.1 Elementare Probleme........................ 352 8.3.2 Alltag...................................... 354 8.3.3 Farbprobleme............................... 358 8.3.4 Kontakt zum System......................... 359 8.3.5 Kniffligere Editieraufgaben.................... 361 8.4 Meine Favoriten................................... 362 9 Installation, Lizenz.............................. 371 9.1 Wann müssen Sie»vim«selbst installieren oder übersetzen?.................................. 371 9.2»vim«selbst übersetzen oder Teile installieren....... 372
9.2.1 Der Standardfall............................. 373 9.2.2 Lokale Installation........................... 375 9.2.3 Übersetzen mit Extra-Features................. 377 9.2.4 Installation unter Windows.................... 378 9.3 Lizenz........................................... 379 L Literatur....................................... 381 S Stichwortverzeichnis............................. 383 11