|
|
(82 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) |
Zeile 1: |
Zeile 1: |
| == Einführung ==
| | '''vim''' - Editor für die Kommandozeile |
| Der Editor vi (visual) ist ein bildschirmorientierter Editor, das heißt der Text ist in seiner aktuellen Version auf dem Bildschirm zu sehen.
| |
|
| |
|
| Nach dem Aufruf des vi befindet sich der Benutzer im Kommandomodus. Die Arbeit spielt sich wie beim ed immer in zwei Ebenen ab:
| | == Beschreibung == |
| | | == Installation == |
| '''Kommandomodus'''
| | <syntaxhighlight lang="bash" highlight="1" line> |
| * Freies Positionieren innerhalb des Textes
| | sudo apt install vim |
| * Umsetzen von Textblöcken
| | </syntaxhighlight> |
| * Schreiben und Lesen von Dateien
| |
| * Löschen von Textblöcken und Aufruf von UNIX-Kommandos
| |
| '''Eingabemodus'''
| |
| * Einfügen von Text
| |
| * Überschreiben vorhandener Textpassagen
| |
| | |
| * Das Umschalten zwischen den Modi erfolgt mit der [ESC]-Taste.
| |
| * Die Handhabung des Kommandomodus des vi macht die Bedienung für den Anfänger etwas ungewohnt.
| |
| * Die Cursorpositionierung erfolgt mit verschiedenen Tasten, für die Eingabe von Dateibefehlen oder anderen Funktionen (z. B. Suchen/ersetzen) ist die Eingabe eines Doppelpunktes nötig.
| |
| * Man befindet sich dann in ex-Modus, der ähnliche Eigenschaften hat, wie der Editor ed.
| |
|
| |
|
| === Starten === | | == Syntax == |
| '''vi [Dateiname]'''
| | <syntaxhighlight lang="bash" highlight="1" line> |
| | vim [Datei] |
| | </syntaxhighlight> |
|
| |
|
| * Ist die Datei vorhanden, wird sie in den Editorpuffer geladen, andernfalls wird sie neu angelegt.
| | Auf den meisten Systemen ist auch die Kurzform vi ausreichend, die als Alias für vim genutzt wird |
| * Wird der vi ohne die Angabe eines Dateinamens gestartet, ist der Bildschirm auf der linken Seite mit Tilden (~) gefüllt.
| | * Um eine bestimmte Datei zu öffnen oder zu erstellen, setzt man einfach ihren Namen (ggf. inklusive Pfad) hinter den Aufruf |
| * Jede leere Zeile hinter dem Ende der Datei wird auf diese Art dargestellt.
| | <syntaxhighlight lang="bash" highlight="1" line> |
| * Am unteren Ende des Bildschirms wird der Dateiname anzeigt, falls eine existierende Datei angegeben wurde. | | vi datei_name |
| ** Die Größe der Datei wird ebenfalls angezeigt.
| | </syntaxhighlight> |
| ** Wenn diese Informationen nicht angezeigt werden, könnte es sein, dass der Terminaltyp falsch gesetzt ist.
| |
| ** Dann sollte der vi mit :q! und [ENTER] verlassen und der Terminaltyp korrekt eingestellt werden.
| |
| | |
| Falls die angegebene Datei nicht existiert, wird auf folgende Art angezeigt, dass es sich um eine neue Datei handelt:
| |
| "newfile" [New file]
| |
| | |
| Nach dem Start ohne Dateinamen, ist die unterste Bildschirmzeile leer.
| |
|
| |
|
| === Optionen === | | === Optionen === |
| {|class="wikitable sortable" | | {| class="wikitable options" |
| |-
| |
| | | '''-r '''
| |
| | | (recovery) Stellt die letzte Datei nach einem Absturz wieder her
| |
| |-
| |
| |}
| |
| | |
| === Hilfen ===
| |
| {|class="wikitable sortable"
| |
| |-
| |
| | | '''man vi'''
| |
| | | Manualpage von '''vi''' aufrufen
| |
| |-
| |
| | | ''':h <Stichwort>'''
| |
| | | Hilfe aufrufen (mit :q verlassen)
| |
| |-
| |
| | | '''vimtutor'''
| |
| | | Lernprogramm
| |
| |-
| |
| |}
| |
| | |
| == Cursorpositionierung ==
| |
| Normalerweise ist der '''vi''' an die Pfeiltasten der Tastatur richtig angepasst. Daneben gibt es noch folgende Möglichkeiten (Auswahl):
| |
| {|class="wikitable sortable"
| |
| |-
| |
| | | '''h '''
| |
| | | Zeichen links (auch Backspace)
| |
| |-
| |
| | | '''l '''
| |
| | | Zeichen rechts (auch blank)
| |
| |-
| |
| | | '''k '''
| |
| | | Zeile höher
| |
| |-
| |
| | | '''j '''
| |
| | | Zeile tiefer
| |
| |-
| |
| | | '''b '''
| |
| | | Wortanfang
| |
| |-
| |
| | | '''e '''
| |
| | | Wortende
| |
| |-
| |
| | | '''w '''
| |
| | | Anfang nächstes Wort
| |
| |-
| |
| | | '''H '''
| |
| | | Anfang erste Zeile des Bildschirms
| |
| |-
| |
| | | '''L '''
| |
| | | Anfang letzten Zeile des Bildschirms
| |
| |-
| |
| | | '''0 (Null) '''
| |
| | | Zeilenanfang
| |
| |-
| |
| | | '''$ '''
| |
| | | Zeilenende
| |
| |-
| |
| | | '''RETURN '''
| |
| | | nächste Zeile
| |
| |-
| |
| | | <u>'''''n''</u>G '''
| |
| | | (''Go'') Gehe zu Zeile <u>'''''n'''''</u></tt>. <tt><u>'''''n'''''</u> ist eine Zeilennummer. Fehlt die Zahl, wird zur letzten Zeile der Datei gesprungen.
| |
| |-
| |
| | | '''%'''
| |
| | | sucht zur aktuellen Klammer die korrespondierende öffnende oder schließende Klammer
| |
| |- | | |- |
| | | '''('''
| | ! Option !! Beschreibung |
| | | Cursor zum Anfang des Satzes bewegen
| |
| |-
| |
| | | ''')'''
| |
| | | Cursor zum Anfang des nächsten Satzes bewegen
| |
| |-
| |
| | | '''{'''
| |
| | | Cursor zum Anfang des Absatzes bewegen
| |
| |-
| |
| | | '''}'''
| |
| | | Cursor zum Anfang des nächsten Absatzes bewegen
| |
| | |
| |- | | |- |
| | | -r || (recovery) Stellt die letzte Datei nach einem Absturz wieder her |
| |} | | |} |
|
| |
|
| == Befehle im Befehls-Modus == | | === Parameter === |
| Die Befehle des ''Befehls''-Modus haben folgendes Format:
| | === Umgebungsvariablen === |
| [Anzahl] Befehl [Ort]
| | === Exit-Status === |
| | |
| * Die meisten Befehle sind ein Zeichen lang.
| |
| * Mit ''Anzahl'' wird ein Wiederholungsfaktor dür den folgenden Befehl angegeben.
| |
| * So löscht zum Beispiel der Befehl x</tt> das Zeichen unter der Schreibmarke.
| |
| * Wird <tt>10x eingegeben, werden 10 Zeichen gelöscht.
| |
| | |
| Einige Befehle nutzen einen optionalen ''Ort''-Parameter, der angibt, wieviele Zeilen oder wieviel Text des Dokuments vom Befehl bearbeitet werden soll. Der ''Ort''-Parameter kann auch jeder Befehl sein, der die Schreibmarke bewegt.
| |
| | |
| === Allgemeine Befehle === | |
| {|class="wikitable sortable"
| |
| |-
| |
| | | ''':q'''
| |
| | | vi beenden (wenn keine Änderungen)
| |
| |-
| |
| | | ''':q!'''
| |
| | | vi beenden und Änderungen verwerfen
| |
| |-
| |
| |}
| |
|
| |
|
| === Dateibefehle === | | == Anhang == |
| {|class="wikitable sortable"
| | === Siehe auch === |
| |-
| | * [[gvim]] |
| | | ''':r Datei'''
| | ---- |
| | | Text aus der angegebenen Datei nach der momentanen Zeile einfügen
| | {{Special:PrefixIndex/{{BASEPAGENAME}}}} |
| |-
| |
| | | ''':w'''
| |
| | | Datei speichern
| |
| |-
| |
| | | ''':w!'''
| |
| | | Datei speichern und Schreibschutz ignorieren
| |
| |-
| |
| | | ''':w Datei'''
| |
| | | Speichern unter ... (angegebene Datei wird überschrieben)
| |
| |-
| |
| | | ''':w >> Datei'''
| |
| | | Text an die angegebene Datei anhängen
| |
| |-
| |
| | | ''':wq oder :x oder ZZ'''
| |
| | | Text speichern und vi beenden
| |
| |-
| |
| |}
| |
|
| |
|
| === Mehrere Dateien bearbeiten === | | ==== Dokumentation ==== |
| Um mehr als eine Datei zu bearbeiten, können beim Aufruf mehrere Dateinamen übergeben oder nachträglich weitere Dateien geöffnet werden.
| | ===== Man-Pages ===== |
| {|class="wikitable sortable"
| | ===== Info-Pages ===== |
| |-
| | ==== Links ==== |
| | | ''':e Datei'''
| | ===== Projekt ===== |
| | | Neue Datei bearbeiten
| | ===== Weblinks ===== |
| |-
| | # http://vim.wikia.com |
| | | ''':n'''
| |
| | | Wechselt zur nächsten geladenen Datei
| |
| |-
| |
| |}
| |
| | |
| === Blättern auf dem Bildschirm ===
| |
| Normalerweise ist der '''vi''' an die Pfeiltasten der Tastatur richtig angepasst. Daneben gibt es noch folgende Möglichkeiten (Auswahl):
| |
| | |
| {|class="wikitable sortable"
| |
| |-
| |
| | | '''STRG-F '''
| |
| | | Eine Bildschirmseite vorwärts
| |
| |-
| |
| | | '''STRG-B '''
| |
| | | Eine Bildschirmseite rückwärts
| |
| |-
| |
| | | '''STRG-D '''
| |
| | | Eine halbe Bildschirmseite vorwärts
| |
| |-
| |
| | | '''STRG-U'''
| |
| | | Eine halbe Bildschirmseite rückwärts
| |
| |-
| |
| | | '''STRG-L '''
| |
| | | Bildschirm neu aufbauen (wenn zum Beispiel eine Nachricht kam)
| |
| |-
| |
| |}
| |
| | |
| === Texteingabe === | |
| {|class="wikitable sortable"
| |
| |-
| |
| | | '''i'''
| |
| | | (''insert'') Eingabe links vom Cursor
| |
| |-
| |
| | | '''I '''
| |
| | | Eingaben am Zeilenanfang
| |
| |-
| |
| | | '''a'''
| |
| | | (''append'') Eingabe rechts vom Cursor
| |
| |-
| |
| | | '''A '''
| |
| | | (appand) Eingabe am Zeilenende
| |
| |-
| |
| | | '''o '''
| |
| | | Neue Zeile unter der aktuellen Zeile
| |
| |-
| |
| | | '''O '''
| |
| | | Eingabe in der vorhergehenden Zeile, Spalte 1
| |
| |-
| |
| |}
| |
| Der Eingabemodus wird durch Drücken der [ESC]-Taste verlassen.
| |
| | |
| === Text ändern ===
| |
| {|class="wikitable sortable"
| |
| |-
| |
| | | '''~'''
| |
| | | Wechsel Groß-/Kleinbuchstaben (kein Abschluss mit [ESC])
| |
| |-
| |
| | | '''r '''
| |
| | | Zeichen ersetzen (kein Abschluss mit [ESC])
| |
| |-
| |
| | | '''R '''
| |
| | | Mehrere Zeichen ersetzen
| |
| |-
| |
| | | '''s '''
| |
| | | Ein Zeichen ersetzen und zusätzliche Zeichen anschließend einfügen
| |
| |-
| |
| | | '''cc '''
| |
| | | Gesamte Zeile ändern
| |
| |-
| |
| | | '''cw '''
| |
| | | Wort ändern
| |
| |-
| |
| | | '''C'''
| |
| | | ab Cursorposition bis Zeilenende ändern
| |
| |-
| |
| | | '''J '''
| |
| | | Zeilen verbinden (nächste Zeile anhängen)
| |
| |-
| |
| |}
| |
| | |
| === Text ausschneiden ===
| |
| {|class="wikitable sortable"
| |
| |-
| |
| | | '''x '''
| |
| | | Zeichen unter dem Cursor löschen
| |
| |-
| |
| | | '''X '''
| |
| | | Zeichen vor dem Cursor löschen
| |
| |-
| |
| | | '''dw '''
| |
| | | ab Cursorposition bis Wortende löschen
| |
| |-
| |
| | | '''db '''
| |
| | | ab Cursorposition bis Wortanfang löschen
| |
| |-
| |
| | | <u>'''''n''</u>dd '''
| |
| | | <u>'''''n'''''</u> ganze Zeile löschen
| |
| |-
| |
| | | '''D'''
| |
| | | Ab Cursor bis Zeilenende löschen
| |
| |-
| |
| |}
| |
| Gelöschte Zeichen werden im anonymen Puffer abgelegt.
| |
| | |
| === Kopieren und Einfügen ===
| |
| * Yank wird in der Regel mit einem zweiten Steuerbuchstaben kombiniert, der angibt, wie viel Text gepuffert wird. (z. B. "'''yw'''</tt>", "y$").
| |
| * Vor "<tt>'''yy'''</tt>" kann noch die Anzahl der zu kopierenden Zeilen stehen (z. B. <tt>'''12yy''').
| |
| {|class="wikitable sortable"
| |
| |-
| |
| | | '''yy oder Y'''
| |
| | | (Yank) ganze Zeile in anonymen Puffer kopieren
| |
| |-
| |
| | | '''yw'''
| |
| | | Bis zum nächsten Wort kopieren
| |
| |-
| |
| | | '''Y$'''
| |
| | | Bis Zeilenende kopieren
| |
| |-
| |
| | | '''p'''
| |
| | | Hinter dem Cursor einfügen
| |
| |-
| |
| | | '''P'''
| |
| | | Vor dem Cursor einfügen
| |
| |-
| |
| |}
| |
| | |
| === Suchen und Ersetzen === | |
| Außer ''''fx''''</tt> und <tt>''''Fx'''' müssen die Suchkommandos mit der Return-Taste abgeschlossen werden.
| |
| {|class="wikitable sortable"
| |
| |-
| |
| | | '''fx '''
| |
| | | Zeichen ''''x'''' in der momentanen Zeile suchen (vorwärts)
| |
| |-
| |
| | | '''Fx '''
| |
| | | Zeichen ''''x'''' in der momentanen Zeile suchen (rückwärts)
| |
| |-
| |
| | | '''/str '''
| |
| | | String ''''str'''' vorwärts in der Datei suchen
| |
| |-
| |
| | | '''?str '''
| |
| | | String ''''str'''' rückwärts in der Datei suchen
| |
| |-
| |
| | | '''// '''
| |
| | | Letzten Suchbefehl wiederholen (vorwärts)
| |
| |-
| |
| | | '''?? '''
| |
| | | Letzten Suchbefehl wiederholen (rückwärts)
| |
| |-
| |
| | | ''':%s/X/Y/g'''
| |
| | | Ersetzt alle 'X' durch 'Y'
| |
| |-
| |
| |}
| |
| | |
| === Sonstige Kommandos ===
| |
| {|class="wikitable sortable"
| |
| |-
| |
| | | '''u '''
| |
| | | Letzten Befehl rückgängig machen
| |
| |-
| |
| | | '''U '''
| |
| | | Aktuelle Zeile wiederherstellen
| |
| |-
| |
| | | '''. '''
| |
| | | Letztes Kommando wiederholen
| |
| |-
| |
| | | ''':!cmd'''
| |
| | | Verlässt vi temporär und führt das Kommando ''cmd'' aus (ggf. Rückkehr mit exit)
| |
| |-
| |
| | | ''':r!cmd'''
| |
| | | Fügt die Ausgabe von ''cmd'' ab Cursorposition ein
| |
| |-
| |
| | | '''!!cmd'''
| |
| | | Benutzt aktuelle Zeile als Eingabe für ''cmd'' und ersetzt durch dessen Ausgabe.
| |
| |-
| |
| | | '''Strg + g'''
| |
| | | Zeilennummer und Dateiinfo zeigen
| |
| |-
| |
| |}
| |
| | |
| === Markierungen === | |
| {|class="wikitable sortable"
| |
| |-
| |
| | | '''v'''
| |
| | | Visuelles Markieren
| |
| |-
| |
| | | '''m<u>''A'''''</u>
| |
| | | Marke <u>'''''A'''''</u> setzen
| |
| |-
| |
| | | ''''<u>''A'''''</u>
| |
| | | Zur Marke <u>'''''A'''''</u> springen
| |
| |-
| |
| | | '''d'<u>''A'''''</u>
| |
| | | Bis Marke <u>'''''A'''''</u> löschen
| |
| |-
| |
| | | '''y'<u>''A'''''</u>
| |
| | | Kopieren bis Marke <u>'''''A'''''</u>
| |
| |-
| |
| |}
| |
| | |
| === Einrücken und klammern === | |
| {|class="wikitable sortable"
| |
| |-
| |
| | | '''<<'''
| |
| | | rückt die aktuelle Zeile um eine Einrückungsbreite nach links.
| |
| |-
| |
| | | '''>>'''
| |
| | | rückt die aktuelle Zeile um eine Einrückungsbreite nach rechts.
| |
| |-
| |
| | | '''%'''
| |
| | | Bewegt die Einfügemarke zwischen korrespondierenden Klammern
| |
| |-
| |
| |}
| |
| | |
| == Einstellungen ==
| |
| * Durch das Belegen von vi-Optionen (Kommando :set) mit einem Wert oder das Setzen von Optionen kann die Arbeitsweise des Editors beeinflußt werden.
| |
| * Die Kommandos set können in ein File mit dem Namen $HOME/.exrc eingetragen werden, welches bei jedem vi-Editoraufruf abgearbeitet wird.
| |
| {|class="wikitable sortable"
| |
| |-
| |
| | | ''':set all'''
| |
| | | Anzeige Belegung aller Optionen
| |
| |-
| |
| | | ''':set number'''
| |
| | | Zeilennummern anzeigen
| |
| |-
| |
| | | ''':set nonumber'''
| |
| | | Zeilennummern nicht anzeigen
| |
| |-
| |
| | | ''':set ignorecase'''
| |
| | | Beim Suchen soll nicht zwischen Groß- und Kleinbuchstaben unterschieden werden
| |
| |-
| |
| | | ''':set noignorecase'''
| |
| | | Beim Suchen soll zwischen Groß- und Kleinbuchstaben unterschieden werden
| |
| |-
| |
| | | ''':set showmatch'''
| |
| | | Bei Eingabe einer schließenden Klammer wird die dazugehörige öffnende Klammer angezeigt
| |
| |-
| |
| | | ''':set noshowmatch'''
| |
| | | Keine Klammernprüfung
| |
| |-
| |
| | | ''':set autoindent'''
| |
| | | Automatische Einrückung
| |
| |-
| |
| | | ''':set noautoindent'''
| |
| | | Keine automatische Einrückung
| |
| |-
| |
| | | ''':set wrapmargin=n'''
| |
| | | Ab n Zeichen vor Zeilenende wird automatisch an einer Wortgrenze getrennt und eine neue Zeile begonnen
| |
| |-
| |
| |}
| |
| | |
| === ~/.vimrc ===
| |
| set nocompatible " must be the first line
| |
| syntax on
| |
| set mouse-=a
| |
| filetype on
| |
| filetype indent on
| |
| filetype plugin on
| |
| set laststatus=2
| |
| set statusline=%<%f\%h%m%r%=%-20.(line=%l\ \ col=%c%V\ \ totlin=%L%)\ \ \%h%m%r%=%-40(bytval=0x%B,%n%Y%)\%P
| |
| set ofu=syntaxcomplete#Complete
| |
| | |
| | |
| == Tipps und Tricks ==
| |
| === Zeile verschieben ===
| |
| * Zeile mit '''dd''' löschen
| |
| * Zur neuen Position wechseln
| |
| * mit p (hinter dem Cursor)''' '''
| |
| * '''P''' (vor dem Cursor) einfügen
| |
| | |
| === Zeile kopieren ===
| |
| * Zeile mit '''yy''' in den Puffer kopieren
| |
| * Zur neuen Position wechseln
| |
| * Zeile mit p (vor dem Cursor)
| |
| * oder P (nach dem Cursor) einfügen
| |
| | |
| === Ein paar einfache Tricks ===
| |
| * zwei '''aufeinander folgende Zeichen vertauschen: xp'''
| |
| * zwei aufeinander folgende Zeilen vertauschen: '''ddp'''
| |
| * eine Zeile duplizieren: '''yyp'''
| |
| | |
| === Mehrere Zeilen verschieben oder kopieren: ===
| |
| | |
| Mehrere Zeilen werden durch Voranstellen der Zeilenzahl vor "'''dd'''</tt>" oder "<tt>'''yy'''" in den Puffer g'''ebracht. Alles weitere wie oben. '''
| |
| | |
| === Weitere Puffer ===
| |
| * Neben dem anonymen Puffer können 26 weitere Pufferbereiche verwendet werden, die durch einen Buchstaben ("a" - "z") bezeichnet werden.
| |
| *Dazu wird ein Doppelapostroph und der Puffername vor den Befehl gestellt, zum Beispiel:
| |
| | |
| {|class="wikitable sortable"
| |
| |-
| |
| | | '''"ayy'''
| |
| | | kopiere Zeile in Puffer '''a'''
| |
| |-
| |
| | | '''"b6yy'''
| |
| | | kopiere die nächsten 6 Zeilen in Puffer '''b'''
| |
| |-
| |
| | | '''"ap'''
| |
| | | Inhalt Puffer '''a''' nach dem Cursor einfügen
| |
| |-
| |
| |}
| |
| | |
| === Blöcke von einer Datei in die andere übertragen ===
| |
| * Mit dem Kommando ''':e <dateiname>''' kann eine neue Datei bearbeitet werden, ohne den vi zu verlassen.
| |
| * vi mit der ersten Datei aufrufen, z. B.: '''vi foo.txt'''
| |
| * Textblock mit den Yank-Kommando in einen Puffer schreiben: '''"f10yy'''</tt> (10 Zeilen in Puffer <tt>'''f''')
| |
| * neue Datei holen, z. B.: ''':e bar.txt '''
| |
| * an die gewünschte Stelle gehen und Puffer einfügen''': "fp '''
| |
| | |
| = Vi/Vim =
| |
| * Texteditor für Programmierer: dient zum bearbeiten von Dateien.
| |
| * Ein Vorteil ist hier die Umschaltung zwischen Befehls- und Eingabemodus.
| |
| * Beim Start befindet sich Vi im '''Befehls'''-Modus.
| |
| | |
| mit ['''i'''] (Eingabe links vom Cursor) oder ['''I'''] (Eingabe am Zeilenanfang) kommt man in den '''Editor'''-Modus.
| |
| | |
| ['''Esc'''] schaltet zurück in den '''Befehls'''-Modus.
| |
| | |
| == Allgemein==
| |
| Der Texteditor Vi ist ein mächtiges Werkzeug für das Terminal, der in der Unixwelt lange Zeit der Standard war und auch heute immer noch weit verbreitet ist. Er ist allerdings proprietäre Software, so dass man im Allgemeinen vom Vim - Vi improved redet, wenn man über den Vi spricht. Dies ist ein Open Source-Klon des Vi, der auf jedem Linux-System zu finden ist.
| |
| | |
| Auch vom Vim existieren eine Reihe Klone, die aber mehr oder weniger den gleichen Ansatz verfolgen. Mit gVim existiert ebenfalls eine Version mit grafischer (GTK-) Oberfläche.
| |
| | |
| gVim ist auf der Projektseite auch als Windows- und Mac-Version erhältlich.
| |
| == Installation ==
| |
| | |
| * sudo apt-get install vim
| |
| * sudo apt-get install vim-full
| |
| | |
| == Konfiguration ==
| |
| | |
| Die systemweite Konfigurationsdatei vimrc befindet sich im Verzeichnis /etc/vim/. Änderungen und Einstellungen dort gelten für alle Benutzer. Individuelle Anpassungen können jedoch durch eine eigene Konfigurationsdatei im Benutzerverzeichnis vorgenommen werden. Diese Einstellungen werden in der Datei .vimrc gespeichert. Ist die Datei nicht vorhanden, muss sie erstellt werden:
| |
| vi .vimrc
| |
| | |
| Weitere Informationen/Einstellungen können in einem zusätzlichen Konfigurationsverzeichnis hinterlegt werden. Konkrete Erläuterungen und Beispiele werden im Artikel Vim/Konfiguration beschrieben.
| |
| | |
| == Anwendung ==
| |
| Vim verfügt über drei verschiedene Arbeitsmodi. Diese werden im folgenden kurz beschrieben. Die wichtigsten Tastenkürzel zur Arbeit mit dem Vim werden im Artikel Vim/Shortcuts erläutert.
| |
| | |
| == Aufruf ==
| |
| | |
| Vim lässt sich im Terminal mit folgendem Befehl starten:
| |
| | |
| vim
| |
| | |
| Auf den meisten System ist auch die Kurzform vi ausreichend, die als Alias für vim genutzt wird. Um eine bestimmte Datei zu öffnen oder zu erstellen, setzt man einfach ihren Namen (ggf. inklusive Pfad) hinter den Aufruf:
| |
|
| |
| vi datei_name
| |
| | |
| Root-Rechte, zum Beispiel zum Editieren von System-Dateien, erhält man durch ein vorangestelltes sudo.
| |
| Will man den grafischen Vim starten, so muss man analog folgenden Befehl eingeben oder den entsprechenden Eintrag im Startmenü suchen:
| |
|
| |
| gvim
| |
| | |
| Sowohl grafischer, als auch textbasierter Vim greifen auf die selbe Konfiguration zu. Man kann aber auch die spezifischen Einstellungen für GVim in einer separaten .gvimrc im Benutzerverzeichnis unterbringen. GVim nutzt dann beide Dateien, während der klassische Vim nur die .vimrc verwendet.
| |
| | |
| == Befehlsmodus ==
| |
| * Direkt nach dem Aufruf befindet sich der Editor im sogenannten Befehlsmodus.
| |
| * In diesem nimmt er Befehle entgegen und führt sie aus.
| |
| * Sehr abstrakt betrachtet kann man dieses Vorgehen mit dem Klicken durch die Menüs eines Programms vergleichen.
| |
| | |
| <table >
| |
| <tr>
| |
| <th> Tastenkürzel </th>
| |
| <th align="lifte"> Aktion </th>
| |
| </tr>
| |
| | |
| <tr>
| |
| <td align="center"> j</td>
| |
| <td align="center"> Schritt abwärts </td>
| |
| </tr>
| |
| | |
| <tr>
| |
| <td align="center"> k </td>
| |
| <td align="center" > Schritt aufwärts </td>
| |
| </tr>
| |
| | |
| <tr>
| |
| <td align="center"> h </td>
| |
| <td align="center"> Schritt nach links </td>
| |
| </tr>
| |
| | |
| <tr>
| |
| <td align="center"> l </td>
| |
| <td align="center"> Schritt nach rechts </td>
| |
| </tr>
| |
| | |
| <tr>
| |
| <td align="center"> dd </td>
| |
| <td align="center"> löscht eine komplette Zeile an der Cursorposition </td>
| |
| </tr>
| |
| | |
| <tr>
| |
| <td align="center"> u </td>
| |
| <td align="center"> macht letzte Änderung rückgängig </td>
| |
| </tr>
| |
| | |
| <tr>
| |
| <td align="center"> STRG + R </td>
| |
| <td align="center"> macht u rückgängig </td>
| |
| </tr>
| |
| | |
| <tr>
| |
| <td align="center"> ZZ </td>
| |
| <td align="center"> speichert die Datei und beendet Vim </td>
| |
| </tr>
| |
| </table>
| |
| | |
| ==Einfügemodus ==
| |
| Befindet sich der Vim im Einfügemodus, so kann der Text nach Belieben editiert werden.
| |
| | |
| <table >
| |
| <tr>
| |
| <th> Tastenkürzel </th>
| |
| <th align="lifte"> Aktion </th>
| |
| </tr>
| |
| | |
| <tr>
| |
| <td align="center"> i</td>
| |
| <td align="center"> Editiermodus an der Cursorposition starten </td>
| |
| </tr>
| |
| | |
| <tr>
| |
| <td align="center"> a </td>
| |
| <td align="center" > Editiermodus eine Stelle hinter der Cursorposition starten </td>
| |
| </tr>
| |
| | |
| <tr>
| |
| <td align="center"> o </td>
| |
| <td align="center"> Zeile unterhalb der Cursorposition einfügen und Editiermodus starten </td>
| |
| </tr>
| |
| | |
| <tr>
| |
| <td align="center"> ESC </td>
| |
| <td align="center"> Editiermodus beenden </td>
| |
| </tr>
| |
| </table>
| |
| | |
| == Kommandozeilenmodus ==
| |
| Neben Befehlen, die zum Bewegen durch die Datei oder deren Modifikation dienen, kann man im Kommandozeilenmodus auch Parameter des Programms selber ändern, Dateien laden und/oder (Shell-) Befehle ausführen. Das Verhalten ist mit einer Mini-Kommandozeile vergleichbar.
| |
| | |
| <table >
| |
| <tr>
| |
| <th> Tastenkürzel </th>
| |
| <th align="lifte"> Aktion </th>
| |
| </tr>
| |
| | |
| <tr>
| |
| <td align="center"> :w</td>
| |
| <td align="center"> Datei speichern </td>
| |
| </tr>
| |
| | |
| <tr>
| |
| <td align="center"> :w name </td>
| |
| <td align="center" > Datei unter name speichern </td>
| |
| </tr>
| |
| | |
| <tr>
| |
| <td align="center"> :q! </td>
| |
| <td align="center"> Vim ohne Speichern beenden </td>
| |
| </tr>
| |
| | |
| <tr>
| |
| <td align="center"> /such_ausdruck </td>
| |
| <td align="center"> Datei nach such_ausdruck durchsuchen </td>
| |
| </tr>
| |
| | |
| <tr>
| |
| <td align="center"> :e datei_name </td>
| |
| <td align="center"> Datei datei_name öffnen </td>
| |
| </tr>
| |
| | |
| <tr>
| |
| <td align="center"> :e # </td>
| |
| <td align="center"> zur zuvor bearbeiteten Datei zurückkehren </td>
| |
| </tr>
| |
| </table>
| |
| | |
| ==Links==
| |
| ===Intern===
| |
| === Weblinks ===
| |
| # [http://vim.wikia.com/ http://vim.wikia.com]
| |
| # https://vim.fandom.com/wiki/Search_and_replace | | # https://vim.fandom.com/wiki/Search_and_replace |
| # http://wiki.ubuntu-forum.de/index.php?title=Vim | | # http://wiki.ubuntu-forum.de/index.php?title=Vim |
| # https://linuxwiki.de/Vim | | # https://linuxwiki.de/Vim |
|
| |
|
| [[Category:Linux:Editoren]] | | {{DEFAULTSORT:vim}} |
| [[Category:Linux:Befehl]] | | {{DISPLAYTITLE:vim}} |
| | |
| | [[Kategorie:vim]] |
| | [[Kategorie:Linux/Befehl]] |
| | |
| | </noinclude> |