Eine kurze Einf hrung in Vim - uni-leipzig.de · 2012. 7. 26. · Eine kurze Einführung in Vim...
Transcript of Eine kurze Einf hrung in Vim - uni-leipzig.de · 2012. 7. 26. · Eine kurze Einführung in Vim...
-
Eine kurze Einführung in Vim
Johannes Englisch
Universität Leipzig
Institut für Linguistik
Seminar „Sprachwissenschaftliche Elementarkompetenz”
Johannes Englisch (Uni Leipzig) Vim Sem. wissenschaftl. Arbeiten 1 / 25
-
Plot
1 Einführung
2 Die Modi
3 Befehle
4 Konfiguration
5 Hilfe
6 Quellen
Johannes Englisch (Uni Leipzig) Vim Sem. wissenschaftl. Arbeiten 2 / 25
-
Einführung Appetitmacher
Vim und Emacs
(Quelle: [0xBABAF000L])
Johannes Englisch (Uni Leipzig) Vim Sem. wissenschaftl. Arbeiten 3 / 25
-
Einführung Appetitmacher
Warum Vim?
Vorteile
viele Steuerbefehle sind mit nur einem Tastendruck erreichbar
komplexere Befehle setzen sich logisch aus primitiveren Befehlen zusammen
Arbeitserleichterungen wie das Erfassen von Klammerpaaren, Syntax highlighting
und das Suchen mittels regulärer Ausdrücke sind fester Bestandteil von Vim
Vim ist durch eine Masse an Plugins erweiterbar
Nachteile
Vim braucht etwas Übung und Umgewöhnung
die verschiedenen Modi können u. U. verwirrend sein – Stichwort ‘magical vim
commands’
Johannes Englisch (Uni Leipzig) Vim Sem. wissenschaftl. Arbeiten 4 / 25
-
Einführung Der Vimtutor
Der Vimtutor
der Vimtutor ist eine Textdatei, an der man die Steuerung von Vim lernen und üben kann
Starten im Windows
Startmenü → Programme → Vim 7.3 → Vim tutor
Starten in Linux/Mac
Terminal öffnen
vimtutor eingeben und Enter drücken
Johannes Englisch (Uni Leipzig) Vim Sem. wissenschaftl. Arbeiten 5 / 25
-
Die Modi Übersicht
Die Modi von Vim
(Graphik frei nach: [introduction])
Johannes Englisch (Uni Leipzig) Vim Sem. wissenschaftl. Arbeiten 6 / 25
-
Die Modi Der normale Modus
Der normale Modus
jeder Tastendruck ist ein Befehl
hier wird der Cursor bewegt, kopiert, ausgeschnitten, eingefügt u. v. a. m.
der Modus ist der Default und kann immer mit ESC erreicht werden
Johannes Englisch (Uni Leipzig) Vim Sem. wissenschaftl. Arbeiten 7 / 25
-
Die Modi Der Einfügenmodus
Der Einfügenmodus
hier wird Text eingefügt
funktioniert dann wie andere Editoren auch
unten markiert mit --INSERT-- oder --EINFÜGEN--
Johannes Englisch (Uni Leipzig) Vim Sem. wissenschaftl. Arbeiten 8 / 25
-
Die Modi Der visuelle Modus
Der visuelle Modus
Sonderfall des Kommandomodus
Bewegungsbefehle markieren Text
es gelten ansonsten dieselben Tastenbefehle
unten markiert mit --VISUAL-- oder --VISUELL--
Johannes Englisch (Uni Leipzig) Vim Sem. wissenschaftl. Arbeiten 9 / 25
-
Die Modi Der Kommandozeilenmodus
Der Kommandozeilenmodus
öffnet eine Kommandozeile, in der Befehle eingegeben werden können
Befehle steuern meistens den Editor selbst (Dateien öffnen, speichern, schließen,
Verwalten mehrerer Dateien usw.
erkennbar am Doppelpunkt unten
Johannes Englisch (Uni Leipzig) Vim Sem. wissenschaftl. Arbeiten 10 / 25
-
Befehle Datei
Datei
Öffnen, Speichern und Schließen
:e [Datei] edit file
:w [Datei] write file
:w! [Datei] force write file umgehe Schreibschutz
:q quit file
:q! force quit file schließe ohne Speichern
:qa quit all
:qa! force quit all
:wq write & quit
:wq! force write & quit
:wqa write & quit all
:wqa! force write & quit all
Johannes Englisch (Uni Leipzig) Vim Sem. wissenschaftl. Arbeiten 11 / 25
-
Befehle Steuerung
Steuerung I
Zeichen für Zeichen
k
h l
j
Johannes Englisch (Uni Leipzig) Vim Sem. wissenschaftl. Arbeiten 12 / 25
-
Befehle Steuerung
Steuerung I
Zeichen für Zeichen
k
h l
j
Hinweis
die Pfeiltasten gehen zwar standardmäßig auch, es lohnt sich aber, die HJKL-Steuerung
zu lernen, da sie für eine leichtere Verwendung mit dem Zehnfingerschreibsystem
konzipiert wurde
Johannes Englisch (Uni Leipzig) Vim Sem. wissenschaftl. Arbeiten 12 / 25
-
Befehle Steuerung
Steuerung II
weitere Bewegung
Einheit zurück vor
Wort b B (one word back) e E (end of word)
w W (next word)
Satz ( )
Zeile ^ (Zeilenanfang) $ (Zeilenende)
- (Anfang letzte Zeile) + (Anfang nächster Zeile)
Klammer % (zur passenden Klammer)
Absatz { (Absatzanfang) } (Absatzende)
Text gg (ganz hoch) G (ganz runter)
Johannes Englisch (Uni Leipzig) Vim Sem. wissenschaftl. Arbeiten 13 / 25
-
Befehle Editieren
Editieren I
Text einfügen
i insert text before character I insert before line
a append text after character A append after line
o open new line after current O open new line before current
Johannes Englisch (Uni Leipzig) Vim Sem. wissenschaftl. Arbeiten 14 / 25
-
Befehle Editieren
Editieren II
Text löschen und ersetzen
x lösche aktuelles Zeichen
d delete textm D delete rest of line
c change textmi C change rest of linei
r replace character R replace text
s substitute characteri S substitute whole linei
(m : der Befehl wird für den nächsten Bewegungsbefehl ausgeführt)
(i : der Befehl wechselt in den Einfügenmodus)
Johannes Englisch (Uni Leipzig) Vim Sem. wissenschaftl. Arbeiten 15 / 25
-
Befehle Editieren
Editieren III
Rückgängig und Wiederherstellen
u undo
Strg+r redo
. führe letzten Befehl nocheinmal aus
[Zahl] führe den nächsten Befehl [Zahl]-mal aus
Johannes Englisch (Uni Leipzig) Vim Sem. wissenschaftl. Arbeiten 16 / 25
-
Befehle Kopieren und Einfügen
Kopieren und Einfügen
Kopieren und Einfügen
y yank textm Y yank whole line
p put text after curser P put text before cursor
Hinweis I
alle Befehle, die Text löschen, schneiden den eigentlich aus
Hinweis II
Vim benutzt seinen eigenen Speicher zum Kopieren – um die Zwischenablage mit
anderen Programmen zu nutzen muß man vor dem Lösch-/Yank-/Einfügenbefehl die
Kombination "+ eingeben
Johannes Englisch (Uni Leipzig) Vim Sem. wissenschaftl. Arbeiten 17 / 25
-
Befehle Markieren von Text
Markieren von Text im visuellen Modus
Welchsel in den visuellen Modus
v markiere zeichenweise
V markiere zeilenweise
Strg+v markiere blockweise
→ Bewegungsbefehle verändern die Markierung
→ Befehle zum Editieren werden auf die gesamte Markierung angewendet
Johannes Englisch (Uni Leipzig) Vim Sem. wissenschaftl. Arbeiten 18 / 25
-
Befehle Suchen und Ersetzen
Suchen und Ersetzen I
Suchen und Ersetzen im normalen Modus
/ suche vorwärts ? suche rückwärts
n next result N letztes Ergebnis
* nächstes Vorkommen # letztes Vorkommen
vom Wort unter dem Cursor vom Wort unter dem Cursor
Johannes Englisch (Uni Leipzig) Vim Sem. wissenschaftl. Arbeiten 19 / 25
-
Befehle Suchen und Ersetzen
Suchen und Ersetzen II
Suchen und Ersetzen über die Kommandozeile
:s/ABC/XYZ Ersetze das erste „ABC” in der aktuellen Zeile durch „XYZ“
:s/ABC/XYZ/g Ersetze jedes „ABC“ in der aktuellen Zeile durch „XYZ“
:x,ys/ABC/XYZ/g Ersetze jedes „ABC“ in den Zeilen x bis y durch „XYZ“
:%s/ABC/XYZ/g Ersetze jedes „ABC“ im Dokument durch „XYZ“
Johannes Englisch (Uni Leipzig) Vim Sem. wissenschaftl. Arbeiten 20 / 25
-
Befehle Reguläre Ausdrücke
Reguläre Ausdrücke I
→ die Suche und das Ersetzen von Text erlaubt die Verwendung von regulären
Ausdrücken
Beispiel
:%s/\(\\\)\(sub\)\{-}\(section\)\({\)/\1\2\3*\4/g
→ setzt Sterne hinter alle sections, subsections usw.
Mehr Informationen zu RegEx in Vim unter
[vimregex]
Johannes Englisch (Uni Leipzig) Vim Sem. wissenschaftl. Arbeiten 21 / 25
-
Befehle Reguläre Ausdrücke
Reguläre Ausdrücke II
Hinweis
Man kann das Verwenden regulärer Ausdrücke unterbinden, indem man am Anfang des
Suchbegriffs ein „\V“ einfügt
→ Schrägstriche und Backslashes müssen trotzdem noch als \\ und \/ eingegeben
werden
Johannes Englisch (Uni Leipzig) Vim Sem. wissenschaftl. Arbeiten 22 / 25
-
Konfiguration
Konfiguration von Vim
→ Vim wird über eine Plaintextdatei konfiguriert
Windows
\_vimrc
Linux/Mac
/.vimrc
Johannes Englisch (Uni Leipzig) Vim Sem. wissenschaftl. Arbeiten 23 / 25
-
Hilfe
Die Hilfefunktion von Vim
Aufrufen der Hilfe
:help [Thema/Befehl/usw.]
Johannes Englisch (Uni Leipzig) Vim Sem. wissenschaftl. Arbeiten 24 / 25
-
Quellen
Vim-Homepage [link]
http://vimregex.com/ [link]
Vim introduction and tutorial [link]
0xBABAF000L [link]
Johannes Englisch (Uni Leipzig) Vim Sem. wissenschaftl. Arbeiten 25 / 25
www.vim.orghttp://vimregex.com/http://www.interlinked.org/tutorials/vim_tutorial.htmlhttp://tnerual.eriogerg.free.fr/0xBABAF000L/10_en.html
EinführungDie ModiBefehleKonfigurationHilfeQuellen