Vim Kurzanleitung

of 30 /30
FH Südwestfalen/Iserlohn/FB I+N/Angewandte Informatik gVim-Kurzanleitung gVim-Kurzanleitung Dr.-Ing. Fritz Mehner Inhaltsverzeichnis 1 Der Editor Vim/gVim 1 2 Betriebsarten (Modi) 2 3 Positionierung 4 4 Textveränderungen 5 5 Suchen 9 6 Wortergänzung 9 7 Unterschiedliche Befehle 10 8 Erstellen von C /C++-Programmen 12 9 Übersetzen und Ausführen 13 10 Tastenkürzel 14 11 Kommentierung und Formatierung 15 12 Navigation im Quellcode 18 13 Verwendung von Shell-Befehlen 21 14 Weitere plug-ins 22 15 Benutzereinstellungen 23 16 Zusätzliche Benutzungshinweise 29 17 Weitere Informationsquellen 29 1 Der Editor Vim / gVim Der Editor Vim und seine graphische Variante gVim sind die leistungsfähigsten Weiterentwicklungen des klassischen Unix -Editors vi . Ein wesentlicher Vorteil die- ser Editoren ist die Möglichkeit, aus einigen grundlegenden Editierbefehlen (Einfügen, Löschen, Kopieren, Austauschen, . . . ), zusammen mit Positionsangaben und Wieder- holungsfaktoren, systematisch mächtige Editierbefehle zusammenzusetzen. Meist lassen sich so mit wenigen Tastatureingaben Änderungen vornehmen, für die andere Editoren mehrere Einzelbefehle benötigen. Dieses Befehlssystem ermöglicht ein außerordentlich schnelles und bequemes Arbeiten. Vim und gVim sind ausgesprochene Programmiereditoren, die viele Möglichkeiten bieten, den Pro- grammierer zu unterstützen. Dazu gehören die Syntax-Einfärbung für etwa 350 Programmiersprachen (oder Dialekte), reguläre Ausdrücke beim Suchen, die Möglichkeit, Shell-Programme als Textfilter zu verwenden, das Einlesen von Fehlermeldungen von Compilern und vieles mehr. Ein Programmiereditor ist in der Regel programmiersprachenunabhängig, kann aber meist, etwa durch Zusatzmodule, einzelne Programmiersprachen hervorragend unterstützen. Damit ist er ein universell einsetzbares Werkzeug für alle anspruchsvollen Textbearbeitungen und wird zu einer Entwicklungs- umgebung, die mehrere Programmiersprachen gleichzeitig unterstützt. Version 1.12 Seite 1 von 30

Embed Size (px)

Transcript of Vim Kurzanleitung

FH Sdwestfalen/Iserlohn/FB I+N/Angewandte Informatik

gVim-Kurzanleitung

gVim-KurzanleitungDr.-Ing. Fritz Mehner

Inhaltsverzeichnis1 Der Editor Vim/gVim 2 Betriebsarten (Modi) 3 Positionierung 4 Textvernderungen 5 Suchen 6 Wortergnzung 7 Unterschiedliche Befehle 8 Erstellen von C /C++-Programmen 9 bersetzen und Ausfhren 1 2 4 5 9 9 10 12 13 14 Weitere plug-ins 15 Benutzereinstellungen 16 Zustzliche Benutzungshinweise 17 Weitere Informationsquellen 22 23 29 29 10 Tastenkrzel 11 Kommentierung und Formatierung 12 Navigation im Quellcode 13 Verwendung von Shell-Befehlen 14 15 18 21

1 Der Editor Vim / gVimDer Editor Vim und seine graphische Variante gVim sind die leistungsfhigsten Weiterentwicklungen des klassischen Unix -Editors vi . Ein wesentlicher Vorteil dieser Editoren ist die Mglichkeit, aus einigen grundlegenden Editierbefehlen (Einfgen, Lschen, Kopieren, Austauschen, . . . ), zusammen mit Positionsangaben und Wiederholungsfaktoren, systematisch mchtige Editierbefehle zusammenzusetzen. Meist lassen sich so mit wenigen Tastatureingaben nderungen vornehmen, fr die andere Editoren mehrere Einzelbefehle bentigen. Dieses Befehlssystem ermglicht ein auerordentlich schnelles und bequemes Arbeiten. Vim und gVim sind ausgesprochene Programmiereditoren, die viele Mglichkeiten bieten, den Programmierer zu untersttzen. Dazu gehren die Syntax-Einfrbung fr etwa 350 Programmiersprachen (oder Dialekte), regulre Ausdrcke beim Suchen, die Mglichkeit, Shell-Programme als Textlter zu verwenden, das Einlesen von Fehlermeldungen von Compilern und vieles mehr. Ein Programmiereditor ist in der Regel programmiersprachenunabhngig, kann aber meist, etwa durch Zusatzmodule, einzelne Programmiersprachen hervorragend untersttzen. Damit ist er ein universell einsetzbares Werkzeug fr alle anspruchsvollen Textbearbeitungen und wird zu einer Entwicklungsumgebung, die mehrere Programmiersprachen gleichzeitig untersttzt.

Version 1.12

Seite 1 von 30

FH Sdwestfalen/Iserlohn/FB I+N/Angewandte Informatik

gVim-Kurzanleitung

2 Betriebsarten (Modi)Betriebsart normal mode Zweck Alle Eingaben wirken als Editierbefehle, sofern die entsprechenden Tastenbelegungen und Tastenkombinationen als Befehle deniert sind. Der eingegebene Text erscheint im Puer. Der eingegebene Text berschreibt den Text an der Cursorposition. Entspricht dem normal mode. Die Bewegungsbefehle (siehe unten) verndern den hervorgehobenen Textbereich. Die anderen Befehle wirken sich nur auf den hervorgehobenen Textbereich aus. Dieser Modus erlaubt die Eingabe umfangreicherer Befehle in der Befehlszeile am unteren Rand des Hauptfensters. Hier knnen ExBefehle, Suchbefehle und Filterbefehle eingegeben werden. Tabelle 1: Betriebsarten Abb.

insert mode replace mode visual mode

1

command-line mode

2

PP PP nach PP normal PP von P

insertEinfg

replace

visual

command v

normal insert replace visual command

Esc Esc Esc

Einfg

Strg

Einfg

Tabelle 2: Wechsel zwischen den Betriebsarten Die meisten Editoren sind nach dem Aufruf im Einfgemodus und ermglichen damit die sofortige Texteingabe. Der Editor gVim besitzt dagegen mehrere Betriebsarten (Modi). Nach dem Aufruf bendet man sich zunchst im Normalmodus (normal mode); mit Hilfe der Taste Einfg gelangt man in den Einfgemodus. Um die weiter unten beschriebenen, mchtigen Editierbefehle zu verwenden zu knnen, mu gelegentlich mit Hilfe von Esc in den Normalmodus zurckgeschalten werden. Diese (und andere) Betriebsartenumschaltungen erscheinen demjenigen, der mit den Mglichkeiten des Editors noch wenig vertraut ist, zunchst als hinderlich. Sobald man jedoch einen berblick ber die Bedienung dieses Editors gewonnen hat, erkennt man, da dieser kleine Nachteil durch die zur Verfgung stehenden, einzigartigen Befehlskombinationen mehr als aufgewogen wird. Tabelle 2 zeigt die Wechselmglichkeiten zwischen den in Tabelle 1 erluterten Betriebsarten. Der Cursor nimmt je nach Betriebsart eine andere Form an (siehe Tabelle 3). Alle Modi (auer dem Normalmodus) werden in der Statuszeile angezeigt. Abbildung 1 zeigt den Editor im Markierungsmodus (visual mode). Der Cursor hat Blockform und der markierte Text ist dunkel unterlegt. In der Fuzeile werden der Modus und die Cursorposition angezeigt. Abbildung 2 zeigt den Editor im Befehlsmodus (command line mode). Der Cursor hat Blockform und steht hinter der Eingabe in der Befehlszeile am unteren Rand des Hauptfensters. Die anderen Angaben der Fuzeile sind bis zum Abschlu der Befehlseingabe nicht sichtbar.

Version 1.12

Seite 2 von 30

FH Sdwestfalen/Iserlohn/FB I+N/Angewandte Informatik

gVim-Kurzanleitung

Normalmodus Einfgemodus berschreibmodus

Der Cursor hat Blockform. In der Fuzeile wird die Cursorposition aber kein Modus angezeigt. Der Cursor hat Strichform und in der Fuzeile werden der Modus und die Cursorposition angezeigt. Der Cursor hat Unterstrichform und in der Fuzeile werden der Modus und die Cursorposition angezeigt. Tabelle 3: Betriebsarten und Cursorformen

Abbildung 1: Editor im visual mode (Bereich markiert)

Abbildung 2: Editor im command-line mode (Befehlseingabe in der Fuzeile)

Version 1.12

Seite 3 von 30

FH Sdwestfalen/Iserlohn/FB I+N/Angewandte Informatik

gVim-Kurzanleitung

3 PositionierungZur Positionierung des Cursors stehen mehrere umfangreiche Gruppen von Positionierungsbefehlen, sogenannte Bewegungen (engl. motion) zur Verfgung. Diese Bewegungen dienen auer zur Cursorpositionierung noch als Angabe des Wirkungsbereiches der eigentlichen Editierbefehle, die zur Vernderung des Textes erforderlich sind (zum Beispiel Suchen, Lschen, Ersetzen, Umwandlung in Grobuchstaben). Durch diese Verbindung sind uerst mchtige Editierbefehle mglich. Fast alle Positionier- und Editierbefehle knnen vorangestellte Wiederholungsfaktoren besitzen. Der Ersatzwert fr einen nicht vorhandenen Wiederholungsfaktor ist eins. So springt der Cursor im Normalmodus bei Eingabe des Befehls um ein Wort weiter, bei Eingabe des Befehls jedoch um drei Wrter. In den folgenden Tabellen wird die Bezeichnung N fr diesen Wiederholungsfaktor verwendet. Waagerechte Bewegungen N N links ( Pfeiltaste und backspace sind ebenfalls mglich)

rechts ( Pfeiltaste und Leertaste zum ersten Nichtleerzeichen der Zeile

sind ebenfalls mglich)

zum ersten Zeichen der Zeile ( Pos1 ist ebenfalls mglich) zur N -ten Spalte (Ersatzwert 1) Zeichen Zeichen zum N -ten Vorkommen von Zeichen nach rechts zum N -ten Vorkommen von Zeichen nach links

N N N

Tabelle 4: Waagerechte Bewegungen im Normalmodus (Auswahl)

Senkrechte Bewegungen N N N N N N N Zeilen nach oben; die Spaltenposition wird beibehalten, wenn die Zielzeile mindestens die gleiche Lnge besitzt ( Pfeiltaste ist ebenfalls mglich) N Zeilen nach unten; die Spaltenposition wird beibehalten, wenn die Zielzeile mindestens die gleiche Lnge besitzt ( Pfeiltaste ist ebenfalls mglich) N Zeilen nach oben zum ersten Nichtleerzeichen der Zielzeile

N Zeilen nach unten zum ersten Nichtleerzeichen der Zielzeile zur Zeile N (Ersatzwert: letzte Zeile) zur Zeile N (Ersatzwert: erste Zeile) Tabelle 5: Senkrechte Bewegungen im Normalmodus (Auswahl)

Version 1.12

Seite 4 von 30

FH Sdwestfalen/Iserlohn/FB I+N/Angewandte Informatik

gVim-Kurzanleitung

Textobjekt-Bewegungen N N N N N N N N N N N N

N Wrter vorwrts N WRTER vorwrts vorwrts zum Ende des N -ten Wortes vorwrts zum Ende des N -ten WORTES rckwrts zum Anfang des N -ten Wortes rckwrts zum Anfang des N -ten WORTES rckwrts zur N -ten nenden runden Klammer; vollstndige Klammerpaare . . . werden bersprungen rckwrts zur N -ten nenden geschweiften Klammer; vollstndige Klammerpaare . . . werden bersprungen vorwrts zur N -ten schlieenden runden Klammer; vollstndige Klammerpaare . . . werden bersprungen vorwrts zur N -ten schlieenden geschweiften Klammer; vollstndige Klammerpaare . . . werden bersprungen rckwrts zum N -ten Beginn eines C -Kommentars vorwrts zum N -ten Ende eines C -Kommentars

(word) (end) (begin)

Wort bezeichnet eine Zeichenkette bestehend aus Buchstaben, Ziern und Unterstrichen ohne Leerzeichen; WORT bezeichnet eine Zeichenkette aus beliebigen Zeichen ohne Leerzeichen Tabelle 6: Textobjekt-Bewegungen im Normalmodus (Auswahl)

4 TextvernderungenDie verndernden Befehle sind in den folgenden Tabellen gruppenweise zusammengefat. Es gibt eine Reihe von Grundbefehlen, die als Tastenkrzel oder in Tastenkombinationen verwendet werden. Die Tastenkrzel ergeben sich aus den englischen Verben, die den Befehl beschreiben und sind somit leicht zu merken. Grundbefehle Die Grundbefehle lauten:

append change delete insert join open put substitute yank

anhngen lschen und einfgen (ndern) lschen einfgen zusammenfassen nen Text aus dem Kopierregister einfgen lschen und einfgen (ersetzen) zeichenweise lschen Text in das Kopierregister herausziehen

Wiederholungsfaktor Fast allen Befehlen kann ein Wiederholungsfaktor vorangestellt werden. Der Faktor wird hier mit N bezeichnet und ist eine Zahlenangabe. So lscht der Befehl

Version 1.12

Seite 5 von 30

FH Sdwestfalen/Iserlohn/FB I+N/Angewandte Informatik

gVim-Kurzanleitung

Weitere Bewegungen N

N N

H M L

suche die nchste Klammer in der Zeile oder verwende die Klammer unter dem Cursor; springe zu deren Gegenstck; Klammern sind , sowie die Prprozessoranweisungen , , , , und Beginn und Ende eines C -Kommentars springe zur N -ten Zeile des Fensters (Home) springe zur Mitte des Fensters springe zur N -ten Zeile von unten des Fensters Tabelle 7: Weitere Bewegungen im Normalmodus (Auswahl) (Middle line) (Last line)

die Zeile, in der der Cursor steht. Der Befehl lscht insgesamt drei Zeilen, beginnend mit der Zeile, in der der Cursor steht. Bewegung Einzelnen Befehlen kann als Angabe ihres Wirkungsbereiches eine Bewegung nachgestellt werden. Die Bewegungen werden nachfolgend mit Bewegung bezeichnet. Der Befehl lscht den Rest des Wortes ab der Stelle an der der Cursor steht. Die Bewegung ist hier die Positionsangabe fr Wort. Alle oben angegebenen Positionsangaben knnen so verwendet werden. Bei den einzelnen Tabellen sind weitere Beispiele angegeben. Markierung Einzelnen Befehlen kann als Angabe ihres Wirkungsbereiches eine Markierung vorangestellt werden. Die Markierungen werden nachfolgend mit Markierung bezeichnet. Der Befehl lscht den markierten Bereich und speichert ihn im Kopierregister. Von dort kann er bei Bedarf mit Einfgebefehlen wieder an anderer Stelle eingefgt werden (zum Beispiel mit ). Die Markierung eines Bereiches kann mit der Maus oder mit der Tastatur erfolgen. Bei Verwendung der Maus haben ein bis vier Klicks (kurz nacheinander) folgende Wirkung: 1 2 3 4 Klick Klicks Klicks Klicks Cursor an die gewhlte Position setzen Wort unter dem Cursor markieren Zeile unter dem Cursor markieren Blockmarkierung einschalten

Wenn die linke Maustaste nach dem jeweils letzten Klick niedergehalten wird, kann durch Ziehen ein weiterer Bereich markiert werden (zeichen-, wort, zeilenweise oder rechteckig). Der Markierungsmodus kann im Normalmodus auch mit Hilfe von Tastenkrzeln eingeschaltet werden:

Strg

zeichenweise Markierung zeilenweise Markierung Blockmarkierung

(visual)

Wenn Markierungsmodus eingeschaltet ist, kann der Bereich mit den Richtungstasten oder mit Positionsangaben (zum Beispiel oder ) erweitert werden. Wenn der Cursor an einem Wortanfang steht und der Markierungsmodus mit eingeschaltet

Version 1.12

Seite 6 von 30

FH Sdwestfalen/Iserlohn/FB I+N/Angewandte Informatik

gVim-Kurzanleitung

wurde, dann markiert die danach eingegebene Positionsangabe die nchsten drei Wrter. Wenn der Cursor auf der nenden Klammern eines C -Blockes steht und der Markierungsmodus eingeschaltet wurde, dann markiert die danach eingegebene Positionsangabe den gesamten Block bis zur schlieenden Klammern. Ein markierter Block kann dann mit einem Grundbefehl bearbeitet werden ( , , , , ). Einfgen N N N N N N Text hinter dem Cursor einfgen (N -fach) Text am Zeilenende einfgen (N -fach) Text vor dem Cursor einfgen (N -fach) (Einfgetaste mglich)Einfg

ist ebenfalls

Text vor dem ersten Nichtleerzeichen der Zeile einfgen (N -fach) neue Zeile unter der Cursorposition nen und Text einfgen (N -fach) neue Zeile ber der Cursorposition nen und Text einfgen (N -fach) Tabelle 8: Einfgen im Normal- und Markierungsmodus (Auswahl)

N N N N N N

Bewegung Markierung

Lschen N Zeichen unter und nach dem Cursor lschen ( die Lschtaste Entf kann ebenfalls verwendet werden) N Zeichen vor dem Cursor lschen Text bis zur der Position lschen, die durch Bewegung festgelegt ist den markierten Text lschen lsche N Zeilen lsche bis zum Zeilenende (und ggf. N -1 weitere Zeilen)

Markierung Strg

N Zeilen zu einer Zeile zusammenfassen

die markierten Zeilen zu einer Zeile zusammenfassen Wort vor dem Cursor lschen (Einfgemodus)

Tabelle 9: Lschen im Normal- und Markierungsmodus (Auswahl) Hier einige Verwendungsbeispiele zum Lschen:

20 Zeichen ab der Cursorposition nach rechts lschen 5 Zeichen vor der Cursorposition lschen 3 Zeilen lschen, beginnend mit der Zeile, in der der Cursor steht von der Cursorposition bis zum Dateiende lschen von der Cursorposition bis zur zweiten schlieenden, runden Klammer in der aktuellen Zeile lschen

Version 1.12

Seite 7 von 30

FH Sdwestfalen/Iserlohn/FB I+N/Angewandte Informatik

gVim-Kurzanleitung

N N N

Bewegung Markierung

Kopieren N Zeilen in den Kopierpuer bernehmen N Zeilen in den Kopierpuer bernehmen Text bis zur der Position, die durch Bewegung festgelegt ist, in den Kopierpuer bernehmen markierten Text in den Kopierpuer bernehmen Text aus dem Kopierpuer N -mal vor der Cursorposition einfgen Text aus dem Kopierpuer N -mal nach der Cursorposition einfgen

N N

Tabelle 10: Kopieren im Normal- und Markierungsmodus (Auswahl)

Einige Verwendungsbeispiele zum Kopieren:

N N N N N N

5 Zeilen in den Kopierpuer bernehmen alles von der Cursorposition bis zum Dateiende in den Kopierpuer von der Cursorposition bis zur zweiten schlieenden, runden Klammer in den Kopierpuer Inhalt des Kopierpuers vor der aktuellen Zeile einfgen Inhalt des Kopierpuers 3 Mal vor der aktuellen Zeile einfgen Inhalt des Kopierpuers 2 Mal nach der aktuellen Zeile einfgen nderungen N Zeilen ersetzen Text bis zur der Position, die durch Bewegung festgelegt ist, ersetzen den markierten Text ersetzen ersetze bis zum Zeilenende (und ggf. N -1 weitere Zeilen) N Zeilen ersetzen N Zeichen ersetzen Gro- / Kleinschreibung fr N Zeichen wechseln Gro- / Kleinschreibung fr den markierten Bereich wechseln markierten Bereich in Kleinbuchstaben umwandeln markierten Bereich in Grobuchstaben umwandeln

BewegungMarkierung

Markierung Markierung

Markierung

Tabelle 11: nderungen im Normal- und Markierungsmodus (Auswahl)

Einige Verwendungsbeispiele zum ndern:

4 Zeilen lschen und in den Einfgemodus umschalten wenn der Cursorposition auf einer Klammer steht, alles bis zur Gegenklammer lschen und in den Einfgemodus umschalten 5 Zeichen lschen und in den Einfgemodus umschalten Gro-/Kleinschreibung fr 8 Zeichen ab der Cursorposition umschalten

Version 1.12

Seite 8 von 30

FH Sdwestfalen/Iserlohn/FB I+N/Angewandte Informatik

gVim-Kurzanleitung

nderungen rckgngig machen N N

Strg

die letzten N nderungen rckgngig machen

(undo)

die letzten N rckgngig gemachten nderungen rckgngig machen (redo) die letzte genderte Zeile wieder herstellen Tabelle 12: nderungen

5 SuchenN N N N N N N N

Suchmuster

Suchmuster

das N -te Vorkommen von Suchmuster vorwrts suchen das N -te Vorkommen von Suchmuster rckwrts suchen die letzte Suche wiederholen die letzte Suche in Gegenrichtung wiederholen das Wort unter dem Cursor vorwrts suchen das Wort unter dem Cursor rckwrts suchen zur lokalen Vereinbarung der Gre unter dem Cursor (zum Beispiel einer lokalen Variablen in C ) zur globalen Vereinbarung der Gre unter dem Cursor (zum Beispiel einer globalen Variablen in C ) Tabelle 13: Suchbefehle (Auswahl)

(next)

Die ersten beiden Befehle in Tabelle 13 ( und ) nen die Kommandozeile am unteren Rand des Hauptfensters (sihe auch Abbildung 2). Nach der Eingabe des Suchmusters wird die Eingabe durch abgeschlossen. Zum Suchen, sowie zum Suchen und Ersetzen stehen auerdem zwei Meneintrge im Hauptmen Edit (oder Editieren in der deutschen Version) zur Verfgung.

6 WortergnzungStrg Strg

die Zeichenkette links vom Cursor (Wortanfang) durch ein Wort ergnzen, welches vor dem Cursor vorkommt. (previous) die Zeichenkette links vom Cursor (Wortanfang) durch ein Wort ergnzen, welches nach dem Cursor vorkommt. (next) Tabelle 14: Wortergnzungen

Im Einfgemodus knnen angefangene Wrter durch die beiden Befehle in Tabelle 14 ergnzt werden. Dadurch kann, zum Beispiel bei lngeren Variablen- und Funktionsnamen, erhebliche Tipparbeit eingespart und gleichzeitig lstiges Kopieren vermieden werden. Bei mehreren mglichen Ergnzungen werden Wahlmglichkeiten angeboten. Wenn im aktuellen Puffer keine passende Ergnzungen vorkommt, dann werden die anderen Puer durchsucht. Findet sich auch dort nichts, dann werden (falls vorhanden) abgespeicherte Wortlisten (dictionaries) durchsucht.

Version 1.12

Seite 9 von 30

FH Sdwestfalen/Iserlohn/FB I+N/Angewandte Informatik

gVim-Kurzanleitung

7 Unterschiedliche BefehleEs gibt eine groe Anzahl sehr ntzlicher Befehle, die das Editieren beschleunigen und erleichtern. Ein umfassende Darstellung ist an dieser Stelle nicht mglich. Nachfolgend wird eine kleine Auswahl von Befehlen eingefhrt, die der gebte Benutzer fast immer bentigt. Letzte nderung wiederholen ()

Im Normalmodus wiederholt die Eingabe eines Punktes die zuletzt ausgefhrte nderung. Wurde zum Beispiel zuletzt ein Wort durch ein anderes ersetzt, dann reicht es aus, den Cursor auf das nchste zu ersetzende Wort zu stellen und die Ersetzung durch den Punkt-Befehl zu wiederholen. Mehrfachersetzungen fhrt man wie folgt aus: Die zu ersetzenden Wrter (zum Beispiel ein Variablenname) werden durch den Befehl markiert (siehe Abschnitt 5). Eines der markierten Wrter wird ersetzt (zum Beispiel mit ). Mit Hilfe des Positionierungsbefehls wird nun das nchste Vorkommen gesucht und mit dem Punkt-Befehl ersetzt. Zahlenwert erhhen oder vermindern ( )

Hug ist es erforderlich, einen Zahlenwert zu erhhen oder zu vermindern. Das kann im Normalund fr die Zahl unter dem Cursor geschehen. Wird modus durch die Befehle ein Wiederholungsfaktor verwendet, dann wird dieser Faktor addiert beziehungsweise subtrahiert. Oktalwerte (fhrende Null) und Hexadezimalwerte (fhrendes oder ) werden richtig behandelt. Positionsmarken verwenden ( )

Textpositionen knnen mit den Marken - und - bezeichnet werden. Dazu dient der Befehl , gefolgt von einem Markennamen (normal mode). Der Befehl ordnet der Zeile, in der der Cursor steht, die Marke zu. Mit dem Befehl gefolgt vom Markennamen wird die entsprechende Marke angesprungen (normal mode). Die Marke wird also mit dem Befehl angesprungen. Die kleingeschriebenen Marken sind nur im aktuellen Puer bekannt, grogeschriebene Marken sind global und knnen ber Puergrenzen hinweg angesprungen werden. Fr Rcksprnge zu den letzten Cursorpositionen steht der Befehl zur Verfgung. Gelegentlich mu dieser Befehl mehrfach angewendet werden, um zu der letzten Position zurckzukehren. Zeile vervollstndigen ( )

Mit Hilfe des Befehls kann eine begonnene Zeile im Eingabemodus so ergnzt werden, da sie einer anderen, bereits vorhandenen Zeile, entspricht, die denselben Anfang besitzt. Das zweite im nachfolgenden Beispiel wird zu einer vollstndigen Zeile ergnzt, die der ersten Zeile entspricht:

Durch wiederholtes Eingeben von nach einem vorausgegangenen werden der Reihe nach alle Zeilen als Ergnzung angeboten, die den vorhandenen Anfang besitzen. Dadurch knnen hug eine Suche und einen Kopiervorgang eingesparen werden, ohne da die augenblicklich bearbeitete Stelle im Puer verlassen werden mu.

Version 1.12

Seite 10 von 30

FH Sdwestfalen/Iserlohn/FB I+N/Angewandte Informatik

gVim-Kurzanleitung

Datei nen

(

)

Der Befehle (goto f ile) net die Datei, deren Name unter dem Cursor steht. Damit kann zum Beispiel eine Datei genet werden, deren Name in einer -Anweisung einer C -Quelle enthalten ist. C -Block ersetzen oder lschen (

)

Wenn der Cursor innerhalb eines C -Blockes ( . . . ) steht, dann lscht der Befehl (change a block) den gesamten Block einschlielich der geschweiften Klammern und schaltet in den Einfgemodus um. Der Befehl (change inner block) lscht nur den Blockinhalt. Der Cursor steht anschlieend im Einfgemodus zwischen den geschweiften Klammern. Die Befehle und lschen den gesamten Block beziehungsweise den Blockinhalt, behalten aber den Normalmodus bei. C -Bedingung ersetzen oder lschen (

)

Wenn der Cursor zwischen runden Klammern steht, dann lscht der Befehl (change a block) den gesamten Inhalt einschlielich der runden Klammern und schaltet in den Einfgemodus um. Der Befehl (change inner block) lscht nur den Klammerinhalt. Der Cursor steht anschlieend im Einfgemodus zwischen den verbliebene Klammern. und lschen den gesamten Block beziehungsweise den Inhalt, behalten aber den Die Befehle Normal-modus bei. Befehlsfolge aufzeichnen und anwenden ( )

Eine Folge von Editierbefehlen kann mit Hilfe des Befehls , gefolgt von einem Registernamen ( -), aufgezeichnet werden. Die Aufzeichnung wird durch ein weiteres beendet. Wenn der Cursor anschlieend neu positioniert ist, kann die Befehlsfolge mit dem Befehl , gefolgt von dem Registernamen, angewendet werden. Die Angabe eines Wiederholungsfaktors vor der Verwendung veranlat eine Mehrfachausfhrung.

Version 1.12

Seite 11 von 30

FH Sdwestfalen/Iserlohn/FB I+N/Angewandte Informatik

gVim-Kurzanleitung

8 Untersttzung beim Erstellen von C /C++-ProgrammenZur Untersttzung der Erstellung von C /C++-Programmen kann das plug-in 1 verwendet werden. Nach der Installation ist in der Hauptmenleiste der Meneintrag C/C++ vorhanden (Abbildung 3).

Abbildung 3: gVim-Hauptfenster mit dem Men des C-plug-ins Die ersten sechs Untermens ( Comments . . . C++ ) dienen dem Einfgen von Anweisungen, Konstrukten und Kommentaren, die immer wieder vorkommen. Die meisten Eintrge sind selbsterklrend und knnen einfach ausprobiert werden. Die Codeteile und Kommentare aus diesen Untermens werden beim Einfgen entsprechend ihrer Position im umgebenden Code automatisch eingerckt. Das Run -Untermen dient zur Untersttzung der Compilierung und Ausfhrung der gerade im Puffer bendlichen Programme, sowie zur Erzeugung von Ausdrucken (Abschnitt 9). Das Untermen Comments bietet umfangreiche Mglichkeiten zur Kommentierung der Quellen. Diese Kommentierungsmglichkeiten sollen vor allem einen durchgngigen Kommentierungsstil ermglichen. Dieser ist eine wichtige Voraussetzung fr die gute Lesbarkeit und Wartbarkeit von Programmen. Er ermglicht auerden den Einsatz von Hilfsmitteln zur automatischen Erstellung von Dokumentationen (zum Beispiel mit dem Programm ) und erleichtert die Suche in umfangreichen Quellcode-Bestnden mit Suchprogrammen (zum Beispiel ). Darber hinaus erspart die Verwendung der vorgefertigten Kommentaren natrlich eine Menge Schreibarbeit. Der Aufbau und die Zusammenstellung der Kommentare ist an professionellen Stilrichtlinien und Dokumentationsvorschriften ausgerichtet. Das Untermen Snippets bietet die Mglichkeit, eigene Code-Schnipsel unter einem Dateinamen in einem dafr vorgesehenen Verzeichnis abzulegen und bei Bedarf von dort wieder in den aktuellen Puer einzulesen. Der Eintrag write code snippet kopiert eine markierten Zeilenbereich in eine Code-Schnipsel-Datei. Im Normalmodus (keine Markierung vorhanden) wird der gesamte Puerinhalt kopiert. Der Eintrag pick up prototype kopiert einen markierten Zeilenbereich, der einen C-Funktionskopf oder den Kopf einer Methodenimplementierung enthlt, in einen Prototypen-Puer und hngt ein Semikolon an. Kommentare werden entfernt. Wenn bereits Prototypen im Puer waren, dann wird der neue Prototyp an diese angehngt. Der Eintrag insert prototype(s) fgt die im Prototypen-Puer gesammelten Prototypen als neue Zeilen unterhalb des Cursors ein und lscht den Prototypen-Puer.1

, Fritz Mehner

Version 1.12

Seite 12 von 30

FH Sdwestfalen/Iserlohn/FB I+N/Angewandte Informatik

gVim-Kurzanleitung

9 bersetzen und Ausfhren von C /C++-ProgrammenDie ersten drei Eintrge des Untermens Run (Abbildung 4b) ermglichen die Ausfhrung der Einzelschritte zur Erzeugung eines Programmes aus dem Inhalt des aktiven Editierpuers: save and compile Der Inhalt des aktiven Puers wird gespeichert und compiliert. Es entsteht eine Objekt-Datei. link Aus der Objekt-Datei die zur C /C++-Datei im aktiven Puer gehrt, wird ein ausfhrbares Programm erzeugt. Wenn die Objekt-Datei nicht vorhanden oder lter als die Quelle ist, dann wird sie zunchst erzeugt. run Die ausfhrbare Datei, die zur C /C++-Datei im aktiven Puer gehrt, wird ausgefhrt. Wenn diese Datei nicht vorhanden ist, oder lter als die Objekt-Datei oder die Quelle ist, dann wird sie zunchst erzeugt. Es gengt also in den meisten Fllen, nach einer nderung des aktuellen Puerinhaltes sofort run auszufh(a) Hauptmen (b) Run-Men ren. Statt der Meneintrge knnen auch die Tastenkrzel verwendet werden. Bentigt das auszufhrende ProAbbildung 4: Das Hauptmen und das Rungramm Kommandozeilenargumente, dann knnen diese Men des C -plug-ins ber den Meneintrag command line arguments angegeben oder gendert werden. Bei einem Aufruf des Programmes ber den Meneintrag run oder ber das Tastenkrzel Strg F9 werden diese Argumente bercksichtigt. Wurden bei der bersetzung Fehler erkannt, dann werden die Fehlerbeschreibungen in den Editor zurckgelesen und in einem Fehlerfenster im unteren Teil des Hauptfensters dargestellt (Abbildung 5). Die einzelnen Meldungen knnen mit der Maus oder mit der Eingabetaste ausgewhlt werden. Der Cursor springt dann an die Stelle, an der der Fehler erkannt wurde.

Abbildung 5: Fehlerfenster nach einer bersetzung

Version 1.12

Seite 13 von 30

FH Sdwestfalen/Iserlohn/FB I+N/Angewandte Informatik

gVim-Kurzanleitung

10 TastenkrzelIn einer benutzereigenen Einstellungsdatei und in Editor-Erweiterungen, wie zum Beispiel im C plug-in , knnen zur Bedienerleichterung einige Tastenkrzel festgelegt werden oder bereits festgelegt seinauch Abschnitt 15 und Liste 1, Abschnitt 15.1. Nachfolgend werden die Voreinstellungen verwendet. Die erste Gruppe ist unabhngig vom Puerinhalt gltig, das heit also auch unabhngig von der gerade verwendeten Programmiersprache :F2 F3 F4 F5 F6 F7 F8 Strg

q

aktuellen Puer abspeichern erweiterten Datei-Browser aufrufen preview-Fenster nen (siehe Abschnitt 12.2) Fenster mit der Liste der Compilierungsfehler nen Fenster mit der Liste der Compilierungsfehler schlieen [0.0ex] zum vorherigen Compilierungsfehler springen zum nchsten Compilierungsfehler springen aktuellen Puer abspeichern und zum vorhergehenden Puer der Puerliste springen alle Puer abspeichern und den Editor verlassen

10.1 Krzel fr C /C++-ProgrammeBendet sich im aktuellen Puer eine C - oder C++-Datei, dann sind folgende Tastenkrzel deniert: Strg F9 Die zum aktuellen Puer gehrende ausfhrbare Datei starten, gegebenenfalls vorher bersetzen und binden2 . Aktuellen Puer abspeichern und compilieren. Alt F9 F9 Das zur Quelle im aktuellen Puer gehrende Objekt binden. F9 Kommandozeilenargument fr das Programm im aktuellen Puer eingeben.

10.2 Krzel fr bash-SkripteBendet sich im aktuellen Puer ein Shell-Skript, dann ist das folgende Tastenkrzel deniert, wenn das plugin installiert ist (siehe Seite 22): Strg F9 Das Skript im aktuellen Puer abspeichern und ausfhren2 . F9 Kommandozeilenargument fr das Skript im aktuellen Puer eingeben. Alt F9 Aktuellen Puer abspeichern und die Syntax prfen. F9 bash-Debugger starten.

10.3 Krzel fr Perl -ProgrammeBendet sich im aktuellen Puer eine Perl -Datei, dann sind folgende Tastenkrzel deniert, wenn das plugin installiert ist (siehe Seite 22): Strg F9 Das Skript im aktuellen Puer abspeichern und ausfhren2 . Aktuellen Puer abspeichern und die Syntax prfen. Alt F9 F9 Kommandozeilenargument fr das Skript im aktuellen Puer eingeben.F9 F1

Debugger starten. Fr den Begri unter dem Cursor die Perl -Dokumentation aufrufen (Programm ) und in einem neuen Fenster darstellen.

Version 1.12

Seite 14 von 30

FH Sdwestfalen/Iserlohn/FB I+N/Angewandte Informatik

gVim-Kurzanleitung

11 Kommentierung und Formatierung von QuellcodeDie Formatierung von Programmquellen verfolgt zwei Haupziele: die Verbesserung der Lesbarkeit und die Verbesserung der Wartbarkeit. Der Sinn des ersten Zieles ist oensichtlich. Die Wartbarkeit wird in sinnvoll formatierten Quellen hauptschlich dadurch erleichtert, da beim wiederholten Editieren Blockbefehle angewendet werden knnen, mit denen beliebige rechteckige Ausschnitte eines Editierpuers durch einzelne Editierbefehle verndert werden (siehe Abschnitt 4). Die Verwendung von Blockbefehlen erlaubt in vielen Fllen ein sehr schnelles Editieren.

11.1 Einrckung

(

)

Der folgende Programmausschnitt ist oensichtlich unformatiert und uerst unleserlich. Die Schachtelungstiefe der Vereinbarungen und Anweisungen ist nicht zu erkennen. Dieser Programmausschnitt wirkt stmperhaft !

Der Editor Vim/gVim ermglicht mit Hilfe des Befehls die Einrckung von Quelltexten. Im einfachsten Fall werden dazu die betreenden Zeilen mit der Maus oder mit der Tastatur (Seite 6) markiert und anschlieend der Befehl eingegeben. Der Text sieht nun wie folgt aus:

Man erkennt, da innerhalb des Hauptprogrammes alle Anweisungen um zwei Zeichen eingerckt sind. Der Inhalt der -Schleife ist um weitere zwei Zeichen eingerckt. Entsprechend wrde bei tieferen Schachtelungen verfahren. Wenn lngere Programmabschnitte oder die gesamte Datei formatiert werden sollen, dann ist die Markierung mit der Maus schlecht oder gar nicht durchfhrbar. Im Normalmodus kann hier zur Formatierung der Befehl mit nachfolgender Bewegung (siehe auch Seite 4 .) eingegeben werden. Hierzu einige Beispiele: die aktuelle Zeile formatieren den Block formatieren, in dem der Cursor steht (inner Block) wenn der Cursor auf einer geschweiften Klammer steht: alles bis zur Gegenklammer formatieren (in C /C++ einen vollstndigen Block) von der Cursorposition bis zum Dateianfang / Dateiende formatieren

Version 1.12

Seite 15 von 30

FH Sdwestfalen/Iserlohn/FB I+N/Angewandte Informatik

gVim-Kurzanleitung

11.2 Kommentare

(

)

Kommentare erhalten die Einrckung, die der Schachtelungstiefe der kommentierten Programmeinheit entspricht. Fr Kommentartexte, die nur aus Flietext bestehen und keine weitere Struktur aufweisen mssen, besteht die Mglichkeit, den Text zu umbrechen. Dabei entsteht linksbndigt ausgerichteter Text, der hchstens bis zur Spalte 79 reicht. Der Kommentar im folgenden Beispiel ist zwar eingerckt, aber unformatiert:

Der Text wird nun markiert (Maus oder Tastatur) und anschlieend der Befehl erhlt der Kommentar das folgende Aussehen:

eingegeben. Damit

Der Befehl

ist in gleicher Weise auf C++-Kommentare anwendbar.

11.3 AusrichtungDas Vim/gVim-plug-in 2 ermglicht die Ausrichtung verschiedener Bestandteile eines C Programmes. Dadurch kann eine Menge lstiger Formatierungsarbeit eingespart werden. Drei Mglichkeiten sollen hier vorgestellt werden. Prprozessoranweisungen (\ )

Die folgenden Prprozessoranweisungen sollen ausgerichtet werden:

2

, Charles Campbell

Version 1.12

Seite 16 von 30

FH Sdwestfalen/Iserlohn/FB I+N/Angewandte Informatik

gVim-Kurzanleitung

Wenn das plug-in installiert ist, dann gengt die Markierung der Zeilen und die anschlieende Eingabe der Tastenfolge um das folgende Ergebnis zu erhalten:

Die einzelnen Bestandteile der -Anweisungen beginnen nun in der selben Spalte. Die Kommentare beginnen ebenfalls in der selben Spalte und werden auf eine gemeinsame Lnge gesetzt. Variablenvereinbarungen (\

)

Die folgenden Vereinbarungen knnen nach ihrer Markierung mit dem Befehl werden.

ausgerichtet

Als Ergebnis erhlt man das folgende Aussehen:

Die einzelnen Bestandteile der Vereinbarungen sind nun bersichtlich in mehreren Spalten angeordnet. Zuweisungen ( \ )

Aufeinanderfolgende Zuweisungen sollten wegen der besseren Lesbarkeit unbedingt an den Gleichheitszeichen ausgerichtet sein. Die zugehrigen Zeilenendkommentare sollten in der selben Spalte beginnen. Wenn die Kommentare hnliche Lngen haben, ist die Ausrichtung der Kommentarenden ebenfalls wnschenswert. Die folgenden Zeilen stellen ein auffallend schlechtes Beispiel fr die Formatierung aufeinanderfolgender Zuweisungen dar:

Nach ihrer Markierung knnen diese jedoch mit dem Befehl

wie folgt ausgerichtet werden:

Version 1.12

Seite 17 von 30

FH Sdwestfalen/Iserlohn/FB I+N/Angewandte Informatik

gVim-Kurzanleitung

12 Navigation im QuellcodeDas Aufnden bestimmter Programmstellen kann grundstzlich durch Blttern oder Suchen bewerkstelligt werden. Wenn die Datei umfangreich ist oder die gesuchte Stelle (zum Beispiel die Denition einer Funktion) in einer anderen Datei liegt, dann ist diese Vorgehensweise mhsam und zeitraubend. Es gibt aber eine Reihe von Werkzeugen, die diese Suche untersttzen. Eines davon ist das Programm 3 . Dieses Programm erstellt fr eine oder mehrere Quellcodedateien eine Art Datenbank (tag-Liste), in der unter anderem die Code-Positionen von Klassen, Makros, Aufzhlungen, Funktionen, Typdenitionen und Variablen festgehalten werden. untersttzt mehr als 30 Programmiersprachen, darunter C , C++, Java, Perl und verschiedene Shells. Das Programm ist nicht Bestandteil von Vim/gVim und mu getrennt installiert werden.

12.1 Navigation mit Hilfe des -plug-insEine Mglichkeit zu benutzen, ist die Verwendung des Vim-plug-ins 4 . Um ein Navigationsfenster fr den gerade aktiven Puer zu nen, kann die Taste F11 verwendet werden (Abbildung 6). Dieselbe Taste schliet das Navigationsfenster auch. Die Belegung dieser Funktionstaste geschieht in einer benutzereigenen Einstellungsdatei (siehe Abschnitt 15.1, Liste 1).

Abbildung 6: Navigation im Quellcode mit Hilfe von

Mit der Maus kann im Navigationsfenster eine Position ausgewhlt werden (Abbildung 6, gelbe Unterlegung im linken Fenster). Der Cursor springt anschlieend an die ausgewhlte Programmstelle im vorher aktiven Puer (Abbildung 6, Cursorposition).

3 4

, Darren Hiebert

, Yegappan Lakshmanan

Version 1.12

Seite 18 von 30

FH Sdwestfalen/Iserlohn/FB I+N/Angewandte Informatik

gVim-Kurzanleitung

12.2 Navigation mit Hilfe von tags und dem preview-FensterMit Hilfe des Icons5

kann fr alle Dateien im und unterhalb des Arbeitsverzeichnisses eine tag-Liste

erstellt werden. Wenn diese Liste vorhanden ist, dann kann mit Hilfe des Icons zu der Denition des Programmelementes unter dem Cursor gesprungen werden. Bendet sich das Sprungziel nicht im aktuellen Puer, dann wird die entsprechende Datei genet oder in einen bereits oenen Puer gesprungen. Beim direkten Sprung zu einer anderen Dateiposition (zum Beispiel der Denition einer Funkti-

Abbildung 7: Verwendung des preview-Fensters on) ist der Startpunkt (zum Beispiel der Aufruf der Funktion) natrlich nicht mehr sichtbar. Diese Unschnheit kann durch die Verwendung eines sogenannte preview-Fensters vermieden werden. In Abbildung 7 steht der Cursor im unteren Fenster auf dem Aufruf der Funktion . Durch das Tastenkrzel F4 wird in der tag-Liste die Position der Funktionsdenition gesucht und die entsprechende Datei im oberen Fenster, dem preview-Fenster, dargestellt. Das preview-Fenster bleibt nun oen und kann in der selben Weise zur Anzeige weiterer Programmelemente weiterverwendet werden. Der Cursor bleibt dabei stets im aktiven Puer.

12.3 Navigation in vielen PuernBenutzer, die hug mit einer greren Anzahl Dateien arbeiten, mssen stndig den aktuellen Puer wechseln. Der Wechsel kann ber das Puer-Men (gVim) oder ber die Kommandozeile (Vim: Befehle und ) erfolgen. Der folgende Eintrag in der Datei verbindet die beiden Kommandozeilenbefehle und belegt die Funktionstaste F12 damit: 5

Die Icons knnen, abhngig von den bei der bersetzung des gVim verwendeten Graphikbibliotheken, ein unterschiedliches Aussehen haben.

Version 1.12

Seite 19 von 30

FH Sdwestfalen/Iserlohn/FB I+N/Angewandte Informatik

gVim-Kurzanleitung

Die Funktionstaste zeigt nun die Puerliste im Fubereich des Hauptfensters. Der Befehl erwartet eine der Puernummern aus dieser Liste. Nach der Eingabe wird der ausgewhlt Puer zum aktuellen Puer. Weitergehende Ansprche erfllt das plug-in 6 . Es stellt die Puerliste in einem eigenen Fenster dar. Die Eintrge knnen unter anderem nach unterschiedlichen Gesichtspunkten sortiert werden. Die Suche nach Namensbestandteilen ist mit den blichen Suchbefehlen mglich (Abschnitt 5). Abbildung 8 zeigt den buer explorer in einem Unterfenster.

Abbildung 8: Verwendung des buer explorer zur Auswahl des nchsten Editierpuers Alternativ zu der oben gezeigten Tastenbelegung, kann auch die Verwendung des buer explorers auf eine Funktionstaste gelegt werden:

Damit ist eine sehr schnelle und bequeme Navigation bei vielen Puern mglich.

12.4 Liste der zuletzt verwendeten DateienDas plug-in 7 unterhlt eine Liste der zuletzt verwendeten Dateien. Die Liste erscheint als Untermen im Datei-Men oder in einem eigenen Puer. In Liste 2 wird zum nen der Liste die Tastenkombination F3 festlegt. Damit knnen insbesondere die Dateien aus den letzten Editorsitzungen sehr schnell wieder genet werden.

6 7

Version 1.12

Seite 20 von 30

FH Sdwestfalen/Iserlohn/FB I+N/Angewandte Informatik

gVim-Kurzanleitung

13 Verwendung von Shell-BefehlenLinux -/Unix -Systemprogramme, Skripte und Filterprogramme, die von der Kommandozeile aufrufbar sind, knnen auch aus dem Editor heraus zur Bearbeitung oder Ergnzung des Inhaltes verwendet werden. Pipes und Ein-/Ausgabeumlenkungen sind mglich. Die folgenden Zeilen wurden zur Verwendung als Prototypen zusammengestellt und sollen der besseren Lesbarkeit wegen tabellenartig formatiert werden:

Diese Zeilen werden zunchst markiert, dann wird die Befehlszeile aufgerufen. Dort erscheint bereits der markierte Zeilenbereich ( ). Dieser kann wie folgt ergnzt werden:

Das Ausrufezeichen leitet die nachfolgenden Shell-Befehle ein, an die der markierte Bereich zur Filterung weitergeleitet wird. Der Befehl richtet die Zeilen tabellenartig aus (siehe ). Das Ergebnis wird durch eine pipe an den Filter weitergegeben (siehe ). Diese Befehlsfolge ersetzt den markierten Bereich durch das formatierte Ergebnis:

In hnlicher Weise lassen sich Programm- und Befehlsausgaben in den Editor einlesen. Die nachstehende Zeile liest mit Hilfe des Editorkommandos die Ausgabe des nachfolgenden Shell-Befehls in den aktuellen Puer ein.

Der Befehl

listet alle -Dateien im Unterverzeichnis

auf:

Das plug-in 8 stellt verschiedene Filteroperationen zur Textbearbeitung zur Verfgung (Sortierungen, Zeilennummerierung, Ausrichtung von rechteckigen Bereichen, Umwandlung Tabulatoren Leerzeichen und andres mehr). Gelegentlich ist es erforderlich, eine grere Anzahl von Dateien in den Editor zu laden. Um nicht jede Datei einzeln nen zu mssen, gibt man die Dateien mit Hilfe geeigneter Befehle auf der Aufrufzeile an. Im folgenden Aufruf ermittelt alle -Dateien in und unterhalb des Arbeitsverzeichnisses. Der Befehl gibt von den gefundenen Dateien nur noch die Namen derjenigen aus, die enthalten. Diese Dateinamen werden als Kommandozeilenparameter die Zeichenkette beim Aufruf von gVim verwendet: 8

, Fritz Mehner

Version 1.12

Seite 21 von 30

FH Sdwestfalen/Iserlohn/FB I+N/Angewandte Informatik

gVim-Kurzanleitung

Mit Hilfe des Kommandoszusatzes kann nun ein Editorkommando der Reihe nach auf alle Puer angewendet werden, zum Beispiel eine globale Ersetzung mit Besttigung:

14 Weitere plug-insDurch Hinzufgen von plug-ins kann der Bedienkomfort des Editors weiter gesteigert werden. Weiterhin knnen Funktionen ergnzt werden, die von Integrierten Entwicklungsumgebungen her bekannt sind. Es folgen einige Vorschlge, die besonders fr Programmierer interessant sind. Diese plug-ins haben jeweils eine eigene Dokumentation und zum Teil umfangreiche Einstellmglichkeiten zur Anpassung an die Benutzerbedrfnisse.

14.1 Allgemein verwendbare plug-insAlign Textausrichtung (siehe Abschnitt 11.3). a.vim9

Schneller Wechsel zwischen den Puern zusammengehriger -/- und -/ -Dateien.10

bufexplorer.vim

Schneller Wechsel zwischen beliebigen Puern (siehe Abschnitt 12.3).11

cvscommand.vim

Zugri auf CVS-Archive.

mru.vim 12 Unterhlt eine Liste der zuletzt verwendeten Dateien. Die Liste erscheint als Untermen im Datei-Men oder in einem eigenen Puer (siehe Abschnitt 12.4). matchit.vim 13 Erweiterung des Vim-Operators (Seite 6), der das Gegenstck zu einer Klammer eines Klammerpaares sucht. Diese Erweiterung springt zusammengehrige Schlsselwortklammern und Markierungen an, zum Beispiel (C /C++) oder A (HTML). Zu den untersttzten Sprachen gehren unter anderen L TEX, Pascal, XML und verschiedene Shells. project14

Leistungsfhige Projektverwaltung.

taglist.vim Quellcode-Browser (siehe Abschnitt 12.1).

14.2 Sprachspezische plug-insbash-support.vim 15 Dieses plug-in stellt eine Bash-IDE zur Verfgung. Das Einfgen von Kommentaren, Anweisungen, Code-Schnippseln, Tests, Bash-Optionen und regulren Ausdrucken wird untersttzt. Die meisten Funktionen stehen per Tastenkrzel auch im nicht-graphischen Modus zur Verfgung. perl-support.vim 16 Dieses plug-in stellt eine Perl-IDE zur Verfgung. Das Einfgen von Kommentaren, Anweisungen, Code-Schnippseln, Test und Spezialvariablen wird untersttzt. Das bequeme und schnelle Erzeugen, Analysieren und Testen von regulren Ausdrcken ist ebenso mglich wie das Erstellen und Testen von POD-Dokumentationen. Die Verwendung von ,9 10 11 12 13 14 15 16

Version 1.12

Seite 22 von 30

FH S 1 dwestfalen/Iserlohn/FB I+N/Angewandte Informatik 4

gVim-Kurzanleitung

und drei Prolern ist integriert. Die meisten Funktionen stehen per Tastenkrzel auch im nicht-graphischen Modus zur Verfgung.Weiter sprachspeizische plug-ins nden sich in der Skript-Sammlung auf der Vim-Seite [Vim].

15 BenutzereinstellungenDie systemweit gltigen Einstellungsdateien des Vim-Editors sind bei einer Standard-Installation unter Linux im Verzeichnisbaum mit der Wurzel enthalten und mssen normalerweise nicht bearbeitet werden. Fr einen Benutzer empehlt es sich, eigene Einstellungsdateien und in seinem home-Verzeichnis anzulegen. Die Listen 1 und 2 zeigen Beispiele fr solche Dateien. In diesen Dateien knnen beliebige Einstellungen eingetragen werden, um den Editor den persnlichen Bedrfnissen anzupassen. Beide Dateien werden von Vim und gVim bei ihrem Aufruf gelesen, wenn sie vorhanden sind. Die Einstellungen in werden fr beide Varianten wirksam, diejenigen in nur fr den gVim. Der Benutzer hat weiterhin die Mglichkeit, Erweiterungsskripte (sogenannte plug-ins), Wrterbcher, Vorlagedateien, Code-Schnipsel, zustzliche Syntaxeinfrbungen und so weiter zu verwenden. Fr einige dieser Erweiterungen mssen Standardverzeichnisse verwendet werden. Abbildung 9 zeigt einen Verzeichnisbaum unterhalb des versteckten Verzeichnisses Benutzer , wobei Benutzer hier den tatschlichen Verzeichnisnamen unterhalb darstellt. Der Name und der Verwendungszweck der folgenden Verzeichnisse ist fest vorgegeben: In diesem Verzeichnis stehen die Hilfedateien, die zu einzelnen plug-ins gehren. In diesem Verzeichnis stehen Dateien, in denen Einstellungen und Manahmen be-

schrieben sind, die nur fr bestimmte Dateitypen gltig sind (zum Beispiel nur fr C /C++Dateien). Einzelne plug-ins bringen derartige Dateien mit. Der Benutzer kann auch selbst welche erstellen.

stets die Erweiterung . Alle plug-ins in diesem Verzeichnis werden vom Editor beim Start geladen. Diesem Verzeichnis wird unter anderem vom

In diesem Verzeichnis werden die eigentlichen plug-ins abgelegt. Die plug-ins haben

-plug-in verwendet.

Im Verzeichnisbaum mit der Wurzel knnen weitere Verzeichnisse und Dateien vorhanden sein. Sofern diese von fertigen plug-ins (zum Beispiel von http://vim.sourceforge.net) verwendet werden, sind genaue Angaben der begleitenden Dokumentation zu entnehmen.

15.1 Beispiele fr eigene EinstellungsdateienEine weitere Mglichkeit besteht darin, eigene Dateien und anzulegen, die eigene Benutzereinstellungen enthalten. Die Listen 1 und 2 zeigen Beispiele fr ntzliche Einstellungen.

Version 1.12

Seite 23 von 30

FH S 1 dwestfalen/Iserlohn/FB I+N/Angewandte Informatik 4

gVim-Kurzanleitung

/autoload

... /codesnippets /doc /rc /scripts /templates /wordlists /codesnippets /doc /rc /scripts /templates /wordlists bashsupport.txt csupport.txt

/bash-support

/c-support

/.vim

/doc

perlsupport.txt taglist.txt c.vim perl.vim sh.vim ... /codesnippets /doc /modules

/home/Benutzer

.gvimrc

/ftplugin

.vimrc /perl-support

/rc /scripts /templates /wordlists bash-support.vim

/plugin

c.vim perl-support.vim taglist.vim ...

Abbildung 9: Persnliche Vim-Verzeichnisse und Einstellungsdateien (Auswahl)

Version 1.12

Seite 24 von 30

FH Sdwestfalen/Iserlohn/FB I+N/Angewandte Informatik

gVim-Kurzanleitung

Liste 1: Beispiel fr die Einstellungsdatei 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66

Version 1.12

Seite 25 von 30

FH Sdwestfalen/Iserlohn/FB I+N/Angewandte Informatik

gVim-Kurzanleitung

67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122

Version 1.12

Seite 26 von 30

FH Sdwestfalen/Iserlohn/FB I+N/Angewandte Informatik

gVim-Kurzanleitung

123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178

Version 1.12

Seite 27 von 30

FH Sdwestfalen/Iserlohn/FB I+N/Angewandte Informatik

gVim-Kurzanleitung

179 180 181 182 183 184 185 186 187 188 189 190 191 192 193

Liste 2: Beispiel fr die Einstellungsdatei 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49

Version 1.12

Seite 28 von 30

FH Sdwestfalen/Iserlohn/FB I+N/Angewandte Informatik

gVim-Kurzanleitung

50 51 52

16 Zustzliche BenutzungshinweiseEditoraufrufe Rufen Sie den Editor mglichst nur einmal auf, um mgliche Konikte mit mehrfach geneten Dateien zu vermeiden. Es ist im allgemeinen einfacher, mehrere Dateien im selben ). Editor zu bearbeiten (Vim-Hilfe Dateinamen Verwenden Sie unter Linux -/Unix -Systemen mglichst Dateinamen ohne Leerzeichen. Wechseldatentrger Editieren Sie keine Dateien direkt auf einer Diskette oder einem USB-Stick. Das ist einerseits langsam, anderseits legt der Editor eine Auslagerungsdatei an, die oen bleiben kann, wenn der Editor nicht richtig beendet wurde. Mglicherweise kann dadurch die Einbindung des Datentrger (mount) anschlieend nicht gelst werden ! Kopieren Sie die bentigten Dateien vor dem Gebrauch auf die Platte und danach auf den Datentrger zurck. Tastenkombination Strg F9 Diese Tastenkombination ist in der KDE-Oberche (Linux ) fr den Wechsel zum (meist nicht vorhandenen) neunten Desktop vorgesehen. Um die Tastenkombination zum Compilieren verwenden zu knnen, mu diese Belegung aufgehoben werden. Das geschieht mit Hilfe des KDE-Kontrollzentrums (Tastenkrzel-Serien). Tabulatorweite Beim Wechsel zwischen verschiedenen Editoren oder IDEs geht ein Teil der Formatierung verloren, wenn die Tabulatorweite der Editoren unterschiedlich eingestellt sind. bereinstimmende Einstellungen beheben diese Schwierigkeit. Der sicherste Weg ist die Umwandlung aller Tabulatoren in Leerzeichen vor dem letzten Sichern der Datei (Vim-Hilfe oder plug-in , Seite 21).

17 Weitere InformationsquellenDie vorliegende Kurzanleitung fhrt in die grundlegende Bedienung des Editors ein. Es gibt jedoch weitere, reichhaltige Fhigkeiten und Bedienmglichkeiten, deren Darstellung den hier gewhlten Rahmen sprengen wrde. Dazu zhlen unter anderem eine Reihe weiterer Befehle, regulre Ausdrcke (Suchen und Ersetzen) und die Erweiterbarkeit des Editors durch zustzliche Skripte (plug-ins). Darber hinaus gibt es eine Reihe von Kongurierungsoptionen zur Anpassung an die Benutzerbedrfnisse. Die Originaldokumentation ist Bestandteil des Programmpaketes und kann ber die Hilfefunktion ( F1 , Men oder Kommandozeile) eingesehen werden. Die Hilfetexte sind verlinkt; eine Suchfunktion ist vorhanden. Die Hilfe beschreibt alle Befehle und jede Einstellungs- und Programmiermglichkeit und wenden sich daher an Anwender mit Grundkenntnissen. Fr den Anfnger ist eine Einfhrung vorhanden (VIM USER MANUAL). Weiterhin stehen die unten angefhrten Bcher und Anleitungen zur Verfgung.

Version 1.12

Seite 29 von 30

FH Sdwestfalen/Iserlohn/FB I+N/Angewandte Informatik

gVim-Kurzanleitung

Literatur[Gre] Gregoire, Laurent: VIM Reference Card. . Die wichtigsten vim-Befehle auf 2 Seiten als Gedchtnissttze (in mehreren Sprachen erhltlich).

[LRH08] Lamb, Linda ; Robbins, Arnold ; Hannah, Elbert: Learning the vi and Vim Editors. 7. Edition. OReilly, 2008. ISBN 9780596529833. The standard guide for vi and the leading vi clone Vim. [Qua01] Qualine, Steve: Vi IMproved - Vim. New Riders Publishing, 2001. Umfangreiches Handbuch, das schrittweise in die Benutzung, Kongurierung und Programmierung einfhrt. Empfehlenswert. Unter als PDF-Datei erhltlich. [Rob00] Robbins, Arnold: vi Editor kurz & gut. 2. Auage. OReilly, 2000. ISBN 9780596 529833. Kurzanleitung fr den vi und die wichtigsten Abkmmlinge (insbesondere vim). [Vim] Vim: The Vim (Vi IMproved) Home Page. . Homepage des vim-Projektes. Viele Verweise auf andere Seiten und auf zustzliche Dokumentation. vim-Skripte zur Erweiterung des Editors, Tips, Neuigkeiten, Patches, . . .

[Wob07] Wobst, Reinhard: vim GE-PACKT. 3. Auage. mitp-Verlag, Bonn, 2007. ISBN 9783 826617812. Handliche Einfhrung in die Benutzung und in die vim-Skriptsprache.

c 2003-2009 Fritz Mehner, Die jeweils aktuelle Version dieses Dokumentes bendet sich unter A Dieses Dokument wurde mit dem Editor gVim unter Linux in L TEX gesetzt.

.

Version 1.12

Seite 30 von 30