Man bearbeitet eine Konfigurationsdatei, probiert eine Änderung aus und speichert die Datei. Rexflexartig ":wq" ausgeführt und vim unnötigerweise beendet. Dumm nur, dass damit alle Register, sowie Cursorposition weg sind. Also muß man vim mit der Konfigurationsdatei neustarten und neu bearbeiten.
Mit der Konfigurationseinstellung "viminfo" kann man einstellen, dass vim für jede Datei die Register speichert und wohin es diese Metadaten speichern soll
grep "viminfo" .vim/*
.vim/personal.vim:set viminfo='50,f1,<500,@100,/50,:100,n~/.vim/.viminfo
Zugegeben, die Option sieht erstmal ziemlich kryptisch aus. Im Prinzip ist es ein zusammengesetzte Zeichenkette aus Variable und Wert, wobei die Variable ein Zeichen ist, es keinen Zuweisungsoperator gibt und mehrere Variablen mit Komma getrennt werden.
Auseinander gepflückt ergibt obiges:
QUOTE:
' number of files for which to store marks (a-z)
f whether global marks are stored (A-Z) - Option 1=true, 0=false
< how many lines are saved for each of the registers
@ number of lines saved from the input line history
r removable media, for which no marks will be stored
! global variables
h disbable highligh search when starting
% the bufferlist
/ number of lines to save from the search history
: number of lines saved from command line history
c convert the text using 'encoding'
n name of the viminfo file (last option!)
Falls das obige Mißgeschick dann trotzdem geschieht, kann man vim mit der zuletzt bearbeiteten Datei neu starten:
vim -c "normal '0"
oder auch
alias lvim="vim -c \"normal '0\""
Das tolle daran: Der Cursor steht genau dort, wo er vorher auch stand.
PS: Das hier ist der erste Eintrag, wo ich das GeSHi Plugin verwendet habe. Funktioniert ganz gut.
