Benutzer:Andreas Plank/Vim

Aus Offene Naturführer
Wechseln zu: Navigation, Suche

Editor Vi

Makrofunktionen siehe http://www.thegeekstuff.com/2009/01/vi-and-vim-macro-tutorial-how-to-record-and-play/

 :help save Hilfe-Suche zum Speichern (beenden mit :q)
:x save end exit – speichern + beenden
:w Farm-Fresh page save.png write/save – nur speichern
:q quit – beenden (speichern Nachfrage)
:q! quit – ohne wenn und aber beenden
gf Farm-Fresh shape square go.png go to file (cursor is on a file path) – Datei öffnen, auf der der Cursor gerade steht
Ctrl w gf Farm-Fresh shape square go.png Farm-Fresh tab add.png go to file (cursor is on a file path but tab modus) – Datei im Tabmodus öffnen, auf der der Cursor gerade steht
Ctrl f Farm-Fresh shape square go.png Farm-Fresh application split.png split window and go to file (cursor is on a file path) – Datei in geteitlem Modus öffnen, auf der der Cursor gerade steht
Ctrl w w switch between windows – zwischen den Fenstern wechseln
:tabn :tabp :tabfirst :tablast Farm-Fresh tab go.png go to tabs: tabn (next), tabp (previous) etc. – zwischen den Tabs wechseln tabn (nächster), tabp (vorheriger) etc.
:e /path/file enter file – Datei öffnen
Schreiben
i oder Einfg insert (einfügen), Modus verlassen: ESC
Einfg Einfg überschreiben/ersetzten, Modus verlassen: ESC
I insert (einfügen) an Pos1-Stelle, Modus verlassen: ESC
r momentanen Buchstaben ersetzen, Modus verlassen: ESC
R Buchstaben ersetzen, Modus verlassen: ESC
u Oxygen480-actions-edit-undo.svg undo – rückgängig
Ctrl r Oxygen480-actions-edit-redo.svg redo – wiederherstellen
Bewegen
hjkl ←↓↑→ Bewegung
w wortweise bewegen
b Move to the beginning of the word
B Move to the beginning of blank delimted word
e Move to the end of the word
E Move to the end of Blank delimited word
( ) satzweise ← →
{ } absatzweiwse ← →
0 oder $ gehe an den Anfang oder das Ende der Zeile
 :0 oder :n oder :$ gehe an den Anfang, die n-te Zeile, das Ende des Dokuments
Einfügen/Kopieren
 :y Yank the current line into the buffer
yy Yank the current line into the buffer
yy bewegen p Kopieren und einfügen an anderer Stelle
5yy oder y5y 5 Zeilen in den Puffer kopieren (mit p irgendwo einfügen [p von put])
ye Yank to end of word
 :r !date return date (external command) – Datum einfügen (von externer Kommandozeile!)
Verschieben – put
p Put after the position or after the line
P Put before the poition or before the line
Löschen
dd Zeile löschen (delete)
 :.,$d aktuelle Zeile bis Dokumentende löschen (delete)
Suchen/Ersetzung Suchen/Ersetzen
 ?Suchwort
# macht Wort bei Cursor-Textmarke das Wort zum Suchwort
 :s/reg.Ausdruck/Ersetztung/g g → global (=mehrfach) in aktueller Zeile (GROß/klein!)
Benutzt sed Syntax:
summarised: 
+ is + 
? is ? 
( is ( 
{ is { → all no expressions!
(..) → \(\)    reference 
?    → \?      0 or 1
.+   → .\+     1 or many
.*   → .*      0 or many
[..] → [..]    character definition range
{..} → \{..\}
 :s/reg.Ausdruck/Ersetztung/gi global (=mehrfach) in aktueller Zeile (GROß/klein egal)
 :1,$s/reg.Ausdruck/Ersetztung/gc
 :%s/reg.Ausdruck/Ersetztung/g
global (=mehrfach) von Zeile 1 bis Dokument-Ende ($) mit Nachfrage (GROß/klein!)
 :s/\( *\)\(.*\)/\1/g Zeile in HTML kommentieren global (=mehrfach) in aktueller Zeile
 :%s/\(<\/*table[^>]*>\)/\r\1/g alle table tags mit Zeilenumbruch (Linux) ersetzten
Verschiedenes
timestamp  :r! date "+\%Y-\%m-\%d \%H:\%M:\%S"
macros Esc q m → Makro „m“ aufzeichnen
→ Schritte, z.B. Strg + a (=n + 1), yy = yank (Zeile kopieren) etc., Bewegungen mit w b 0 oder $ …
Esc q → quit, stop aufzeichnen
Aufruf mit 10@m = 10 × Makro „m“ aufrufen
:set nu
:set nonu
Zeilennummern an/aus
:sp
:sp ../meineDateiEineEbeneHöher.txt
Fenster horizontal teilen Fenster horizontal teilen
Strg +w dann w → zwischen Fenstern springen
:vsp
:vsp ../meineDateiEineEbeneHöher.txt
Fenster vertikal teilen Fenster vertikal teilen
Strg +w dann w → zwischen Fenstern springen
Sortieren Sortierung  :14,27 sort u
Zeile 14 bis 27 a-z; u = unique

:14,27 sort! u

Zeile 14 bis 27 z-a

Dateien vergleichen Vimdiff

Vergleichen zweier Dateien mit:
vimdiff datei1.txt datei2.txt
vimdiff datei1.txt datei2.txt
Strg+w Strg+w Fenster wechseln
 :12,20diffget get diff for lines 12 to 20
 :23,40dp put diff lines 23 to 40 to the other buffer
[c Differenz davor
]c Differenz danach
:diffupdate diff update
:syntax off syntax off
zo open folded text
zc close folded text
Quelle: Offene Naturführer, Das Wiki zu Bestimmungsfragen: Benutzer:Andreas Plank/Vim (Zuletzt geändert:
Dieses Attribut ist ein Spezialattribut in diesem Wiki.
11 Januar 2013 11:33:28). Abgerufen am 21. Dezember 2024, 20:01 von https://offene-naturfuehrer.de/web/Benutzer:Andreas_Plank/Vim