Einfügemodus¶
Der Einfügemodus dient – wie der Name schon sagt – zum Einfügen von Text in die aktuelle Datei. Hier gleicht Vim einem “normalen” Editor: Alle Buchstaben, Zahlen, etc. erscheinen nach der Eingabe an der aktuellen Position auf dem Bildschirm.
Ausgehend vom Normalmodus gelangt man in den Einfügemodus durch Drücken einer der folgenden Tasten:
i |
Text einfügen vor der momentanen Position | (insert) |
I |
Text einfügen zu Beginn der momentanen Zeile | |
a |
Text einfügen nach der momentanen Position | (append) |
A |
Text einfügen am Ende der momentanen Zeile | |
o |
Text einfügen unter der aktuellen Zeile | (open a new line) |
O |
Text einfügen über der aktuellen Zeile |
Auch mit s, S, c, C, r, R
gelangt man in den Einfügemodus. Hierbei wird
jedoch bestehender Text ersetzt.
Gibt man beispielsweise 10i
gefolgt von etwas Text ein, so wird nach Beenden
der Eingabe mit Esc
das 10-fache des eingegebenen Textes eingefügt.
Im Einfügemodus gibt es standardmäßig folgende Tastenkombinationen:
Ctrl n bzw. Ctrl p |
Vervollständigung des aktuellen Wortes anhand eines bereits vorkommenden Wortes | (next bzw. previous word) |
Ctrl x Ctrl l |
Vervollständigung der aktuellen Zeile anhand einer bereits vorkommenden Zeile | (line-completion) |
Ctrl x Ctrl f |
Vervollständigung der Eingabe von Dateinamen und Pfaden | (file-completion) |
Snippets
Durch die Verwendung von so genannten “Snippets” kann viel Tipparbeit gespart
werden. Das Prinzip hierbei ist sehr einfach: Man definiert sich frei wählbare
Abkürzungen, die dann nach einem Drücken der Tab
-Taste (oder einer anderen
frei wählbaren Taste) ein ganzes Template ausrollen können, so dass nur noch an
einzelnen Stellen Text eingefügt werden muss.
Das meiner Meinung nach beste Snippet-Plugin ist Ultisnips;
man kann damit je nach Dateityp beziehungsweise Endung einer Datei
unterschiedliche Abkürzungen definieren. Die Abkürzungen liegen allesamt in
einem gemeinsamen Ordner und sind jeweils mit dateityp.snippets
benannt.
Beispielsweise kann man sich so sowohl für C-Dateien als auch für Python-Dateien
je ein Snippet mit der Abkürzung ife
definieren, das dann nach einem Drücken
der Tab
-Taste im jeweiligen Dateityp eine if-else
-Abfrage mit
Sprungmarken zu den jeweiligen Eingabestellen erstellt.
Besonders praktisch sind Snippets für ein Arbeiten mit LaTeX-Dateien: So kann
man beispielsweise ein Snippet namens art
definieren, das eine gesamte
Standard-Präambel für die Dokumentklasse article
definiert. So genügt es
dann, eine leere .tex
-Datei zu öffnen, im Einfügemodus art
und Tab
einzugeben, und man kann bereits mit dem Schreiben des eigentlichen Dokuments
beginnen. :-)
Snippets-Beispieldateien: