mit vim Zeilen sortieren.
%!sort |
mit vim Zeilen sortieren.
%!sort |
Um in Dateien nach Text zu suchen eignet sich grep oder vimgrep.
vimgrep hat den Vorteil das es auch auf Windowsbüchsen funktioniert.
grep muster datei => sucht in datei nach muster grep muster *.htm => sucht in allen Dateien des aktuellen Verzeichnisses, die mit .htm enden grep -r muster ordner => sucht rekursiv in ordner und allen Unterverzeichnissen grep -i muster datei => kümmert sich nicht um Groß- und Kleinschreibung grep -A n => gibt n Folgezeilen nach der gefundenen Stelle aus |
http://www.easylinux.de/2003/10/074-grep/
wird aus vim herraus gestartet.
:vimgrep /FIXME/ d:/projects/*.* => sucht alle Dateien die den Text "FIXME" enthalten vimgrep /FIXME/ d:/projects/**/*.* => sucht in allen Unterordner in Dateien die den Text "FIXME" enthalten |
Mit dem Befehl r ließt man etwas ein.
r foo.txt – ließt die Datei foo.txt ein und schreibt sie an der Stelle wo sich der Cursor befindet. Die einzulesende Datei muß mit Pfad ausgehend vom aktuellen Verzeichnis angegeben werden.
r! – ließt von der console
Bsp. mac:
r!date r!pwd r!ls-F |
Bsp.win:
r!date/t r!cd r!dir |
gu – konvertiert das Wort unter dem Cursor zu kleingeschrieben
gU – konvertiert das Wort unter dem Cursor zu großgeschrieben
gUw – konvertiert vom Cursor aus bis zum Ende des Wortes zu großgeschrieben
.
.
.
Befehle die man im Befehlsmodus eingibt werden von VIM gespeichert.
mit der folgenden Eingabe kann man sich die Liste der Befehle anzeigen lassen.
q: |
mit den Navigationstasten (j,k oder pfeiltasten) wird durch die Liste gescrollt. Mit Enter wird der Befehl unter dem cursor erneut ausgeführt und die Liste geschlossen. Mit :q wird die List ohne Aktion geschlossen.
Hier eine sehr gute Anleitung um mit Split zu arbeiten.
Vim viewport keybinding quick reference
- :sp will split the Vim window horizontally. Can be written out entirely as :split .
- :vsp will split the Vim window vertically. Can be written out as :vsplit .
- Ctrl-w Ctrl-w moves between Vim viewports.
- Ctrl-w j moves one viewport down.
- Ctrl-w k moves one viewport up.
- Ctrl-w h moves one viewport to the left.
- Ctrl-w l moves one viewport to the right.
- Ctrl-w = tells Vim to resize viewports to be of equal size.
- Ctrl-w – reduce active viewport by one line.
- Ctrl-w + increase active viewport by one line.
- Ctrl-w q will close the active window.
- Ctrl-w r will rotate windows to the right.
- Ctrl-w R will rotate windows to the left.
http://www.linux.com/learn/tutorials/442415-vim-tips-using-viewports
Suchen:
/phrase | geh zum nächsten Vorkommen von phrase |
n | nächstes |
N | vorheriges |
Ersetzen:
:s/alt/neu/ | ersetzt erstes Vorkommen von “alt” gegen “neu” in der aktuellen Zeile |
:s/alt/neu/g | g steht für ganze Zeile. Also alle Vorkommen in der gesammten Zeile ersetzen |
:%s/alt/neu/g | um alle Vorkommen in der gesammten Datei zu ersetzen |
:%s/alt/neu/gc | alle Vorkommen in gesammter Datei mit Fragedialog pro Fund |
:#,#s/alt/neu/g | wobei #,# die Zeilennummern des Zielbereichs sind |
Mit den 2 Tastenkombinationen (Crtl + r) und (Crtl +w) wird das Wort unter dem Cursor in die Kommandozeile gepastet.
/(Crtl+r)(Crtl+w) | suche das nächste Vorkommen des Wortes unter dem Cursor |
:%s/(Crtl+r)(Crtl+w)/neu/g | ersetze in der gesammten Datei das Wort unter dem Cursor mit “neu” |
Setzen einer Option
:set ru |
Rücksetzen einer Option
:set noru |
Präfix no schaltet eine Option ab
Optionsabfrage
:set ru? |
Suffix ? kann entfallen, wenn es sich um eine binäre Option handelt, die nur ein- oder ausgeschaltet sein kann
ru (ruler) | Anzeige Zeile, Spalte und relative Anzeigeposition (in %) bei Tabs in Zeile: getrennte Anzeige der logischen und physischen Position |
smd (showmode) | aktuellen Vim-Modus anzeigen (EINFÜGEN, ERSETZEN, …), sofern er vom Kommando-Modus abweicht |
wrap | lange Zeilen immer komplett anzeigen (also ggf. über mehrere Bildschirm-Zeilen) |
number(nu) | Voranstellen der Zeilennummer vor jede Textzeile |
autoindent (ai) | automatisches Einrücken in neu erzeugten Zeilen im Einfüge-Modus |
guioptions+=b | nur unter GVIM fügt dem Editor eine horizontale Scrollbar hinzu |
http://www-user.tu-chemnitz.de/~hot/VIM/Tips_und_Tricks.html
http://www-user.tu-chemnitz.de/~hot/VIM/vikurz.html#optionen
http://heykevinle.blogspot.com/2007/09/gvim-enable-horizontal-scroll-bar.html
Um alle Leerzeilen im Quellcode oder einer belieben Textdatei zu entfernen benutze ich folgenden Befehl:
:g/^$/d |
Das Datum in die aktuelle Datei einfügen
:r!date |
unter windows
:r!date/t |
Wenn man Textdateien die unter Windows erstellt wurden mit dem VIM bearbeitet dann befindet sich häufig am Ende einer Zeile ein ^M. Windows benutzt für einen Zeilenumbruch die Steuerzeichen CR LF (carriage return followed by linefeed)
Vim geht davon aus das eine Datei im Unixformat codiert ist. Jedses CR wird deshalb als ^M (CR = Ctrl-M) angezeigt.
Mit folgendem Befehl läßt sich das CR entfernen:
:%s/^M/\r/g |
Man erzeugt ein ^M in der Komandozeile mit <ctrl>+ V und <ctrl>+M
Quellen: