Unterschiede zwischen den Revisionen 4 und 5
Revision 4 vom 2013-11-08 14:47:06
Größe: 5892
Autor: anonym
Kommentar: Vim-Adventure Hinzugefügt. Damit lernt man das ganze recht gut und Spielend einfach!
Revision 5 vom 2022-11-20 17:37:40
Größe: 0
Autor: phil
Kommentar: Übernommen und neu formatiert
Gelöschter Text ist auf diese Art markiert. Hinzugefügter Text ist auf diese Art markiert.
Zeile 1: Zeile 1:
= Umgang mit Dateien =
 <nowiki>::</nowiki>w: speichern
 <nowiki>::</nowiki>w HALLO: einmalig in Datei HALLO speichern
 <nowiki>::</nowiki>saveas HALLO: ab jetzt immer in HALLO
 <nowiki>::</nowiki>X,Y w [HALLO]: alles zwischen Zeile X und Y speichern
 <nowiki>::</nowiki>wq || <nowiki>:</nowiki>x: speichern und beenden
 <nowiki>::</nowiki>r HALLO: fuege den Inhalt der Datei vor dem Cursor ein

 * ein angehaengtes "!" umgeht eventuelle Bestaetigungsfragen



= In den Editier-Modus wechseln =
 i:: vor dem Cursor einfuegen
 I:: am Zeilenbeginn einfuegen
 a:: nach dem Cursor einfuegen
 A:: nach dem Zeilenende einfuegen
 o:: eine neue Zeile vor der aktuellen einfuegen
 O:: eine neue Zeile nach der aktuellen einfuegen
 R:: ab dem Cursor ersetzen (also Ueberschreib-Modus)
 ESC:: zurueck in den Kommando-Modus



= Bewegung =
 h/j/k/l:: links/unten/oben/rechts (effizienter als Cursor)
 w/e:: an Anfang/''''Ende des naechsten Wortes springen
 ^/$:: Anfang/''''Ende der Zeile (wie bei regulaeren Ausdruecken!)
 XX Shift-G:: zur gewuenschten Zeilennummer gehen (nix -> letzte Zeile)
 STRG-G:: aktuelle Position in der Datei anzeigen
 XX%:: springt zur prozentualen Position
 <nowiki>::</nowiki>XX: springt zur Zeile XX
 ma:: setzt eine Marke namens "a"
 'a:: springt zur Marke "a"
 <nowiki>::</nowiki>marks: zeigt alle Marken an
 <nowiki>::</nowiki>marks X: zeigt Informationen zur Marke X an
 STRG-O:: springt zu einer "aelteren" (?) Postion
 STRG-I:: springt zu einer "neueren" (?) Position

 * Marken mit Grossbuchstaben funktionieren auch ueber mehrere offene Dateien hinweg



= Suchen =
 /:: dann Suchtext eingeben (auch reguelaere Ausdruecke)
 ?:: dasselbe, nur rueckwaerts
 n:: naechstes Auftreten suchen
 N:: vorheriges ...
 %:: zugehoerige Klammer,also "([{"), suchen (gut fuer Verschachtelungen beim Programmieren)

=== Optionen ===
 <nowiki>::</nowiki>set ic: ignore case
 <nowiki>::</nowiki>set is: inkrementelle Suche
 <nowiki>::</nowiki>set hls: highlight search



= Loeschen =
mit '''d?''' - das Fragezeichen kann dabei Folgendes sein:
 w:: Wort bis zum naechsten Wortanfang (mit Leerzeichen)
 e:: Wort bis zum Wortende (also ohne Leerzeichen)
 ^/$:: bis zum Zeilenanfang/-ende



= Ersetzungen =
 rX:: ersetzt das Zeichen unter dem Cursor durch "X"
 cw:: loescht das Wort unter dem Cursor und wechselt in Einfuegemodus
 c$:: loescht das Ende der Zeile und wechselt in Einfuegemodus
 c^:: Anfang der Zeile ...
 <nowiki>::</nowiki>s/A/B: ersetzt ein A durch ein B in der aktuellen Zeile (sed-Syntax)
 <nowiki>::</nowiki>s/A/B/g: dito, alle Vorkommen in der aktuellen Zeile
 <nowiki>::</nowiki>X,Ys/A/B: von Zeile X bis Y jeweils ein A durch ein B ersetzen
 <nowiki>::</nowiki>%s/A/B: in allen Zeilen ein A durch ein B ersetzen

=== Bemerkungen ===
 * "$" steht fuer die letzte Zeile
 * das angehaengte "/g" kann immer verwendet werden
 * ein angehaengtes "c" bzw. "/c" fragt jedesmal nach
 * ein "/" im Text muss durch "\/" geschuetzt werden
 * regulaere Ausdruecke sind erlaubt



= Rueckgaengig machen =
 u:: letzte Aktion
 U:: letzte Zeile wiederherstellen
 STRG-R:: rueckgaengig Gemachtes wiederherstellen



= Kopieren/''''Einfuegen =
 p:: fuegt das zuletzt geloeschte/kopierte Objekt nach dem Cursor ein
 P:: dito, vor dem Cursor
 y:: eine Zeile in Zwischenspeicher kopieren



= meherere Dateien =
 e DATEI:: oeffnet eine Datei und schiebt die aktuelle in den Hintergrund
 e #X:: die Xste Datei wieder hervorholen
 files:: alle geoeffneten Dateien auflisten
 hid e DATEI:: schiebt die aktuelle Datei - ohne zu speichern - in den Hintergrund und oeffnet DATEI
 n:: wechselt zur Naechsten, die Aktuelle wird geschlossen
 wn:: speichert vorher die Aktuelle
 prev:: zur Vorherigen
 args:: zeigt welche Datei gerade aktuell ist
 first:: wechselt zur Ersten
 last:: zur Letzen

=== Bemerkungen ===
 <nowiki>::</nowiki>set autowrite: speichert die Aktuelle ohne nachzufragen
 2n oder 4prev:: springt ueber Dateien hinweg
 STRG-^:: springt zur vorher editierten Datei



= Split-Screen =
 <nowiki>::</nowiki>split: teilt den Bildschirm
 STRG-w STRG-w:: springt zum naechsten Fenster
 <nowiki>::</nowiki>close: schliesst das aktuelle Fenster
 <nowiki>::</nowiki>only: schliesst alle ausser dem Aktuellen
 <nowiki>::</nowiki>new: oeffnet ein neues Fenster leer
 <nowiki>::</nowiki>split HALLO: oeffnet HALLO in neuem Fenster
 STRG-w +/-:: vergroessert/verkleinert das aktuelle Fenster
 <nowiki>::</nowiki>vsplit: vertikales Splitting
 <nowiki>::</nowiki>wall/qall: speichert/schliesst alle
beim Aufruf von vim oeffnet der Parameter "-o" alle Dateien in Fenstern



= Sonstiges =
 >>/<<:: Ein-/''''Ausruecken (?), (mit Zahl: mehrere Zeilen)
 <nowiki>::</nowiki>!KOMMANDO: fuehrt das externe Kommando aus
 <nowiki>::</nowiki>r !KOMMANDO: dito & schreibt den Output an die aktuelle Position
 <nowiki>::</nowiki>set XXX: setzt die jeweilige Option
 <nowiki>::</nowiki>set noXXX: ausschalten
 <nowiki>::</nowiki>set all: setzt alle Optionen auf default



= Hilfe =
 <nowiki>::</nowiki>help: Meta-Hilfe (hilfreich, um die Hilfe nutzen zu koennen)
 <nowiki>::</nowiki>help THEMA: die Hilfe - mit ":q" verlassen
 <nowiki>::</nowiki>help user-manual: hier steht wirklich alles
 <nowiki>::</nowiki>help EXX: die Hilfe fuer Fehlernummer XX

=== Bewegungen ===
 STRG-]:: folgt einem |Verweis|
 STRG-T/O:: zurueckspringen



= Allgemein =
 * fast alle Kommandos koennen mehrfach angewandt werden, indem Du vorher oder zwischendrin eine Zahl eintippst
 * in ~/.vimrc stehen die Starteinstellungen (irgendwo gibt es auch eine vimrc_example)
 * bei der Auswahl von Kommandos und Dateinamen funktioniert auch die glorreiche bash-Tab-Vervollstaendigung
 * Eine gute Art Vim zu lernen ist ein [[http://vim-adventures.com|VimVenture]].

Creative Commons Lizenzvertrag
This page is licensed under a Creative Commons Attribution-ShareAlike 2.5 License.