Festlegen des viminfo-Pfads in gVim für Portabilität (Windows)

4398
Will Vousden

Ich versuche, meine gVim-Installation so portabel wie möglich zu machen. Dabei möchte ich die _viminfoDatei nicht im $VIMVerzeichnis speichern $HOME. Ich bin ziemlich neu beim Hacken von Vimrc-Konfigurationen, aber hier habe ich versucht:

let viminfopath=$VIM."\\_viminfo" execute "set viminfo='1000,n".escape(viminfopath, ' ')  " Some other portability stuff. set nobackup set nowritebackup if has("win32") || has("win64") set directory=$TMP else set directory=~/tmp end 

Dies scheint jedoch nicht zu funktionieren; hat jemand irgendwelche tipps?

Vielen Dank!

Bearbeiten: Laufen :echo viminfopathliefert das Ergebnis F:\Programs\Vim\_viminfo, daher ist der Pfad selbst mindestens gültig. Es muss die executeOperation sein, die nicht funktioniert.

0

2 Antworten auf die Frage

1
Barton Chittenden

Ich denke, wenn Sie einen Backslash als Verzeichnisseparator verwenden, werden Sie alles zerstören, was nicht Windows ist.

let viminfopath=$VIM."\\_viminfo" 

Ich würde dafür schießen

let viminfopath=$VIM."/_viminfo" 

stattdessen. Das sollte unter Windows genauso funktionieren wie alles andere.

Zugegeben, das ist eine Vermutung, aber da würde ich anfangen.

Ich habe es versucht, aber es hat nicht funktioniert. Trotzdem danke. - Will Vousden 23. März 10 um 19:00 Uhr (Dieser Kommentar stammt von einem genau gelöschten Doppel dieser Antwort.) Aaron Thoma vor 12 Jahren 0
1
GmonC

You can use amix's suggestions: (I know the MySys approach can be done in different and better ways, but I think you can get the idea)

fun! MySys() return "windows" endfun set runtimepath=~/vim_local,$VIMRUNTIME source ~/vim_local/vimrc 

$VIMRUNTIME is the approach here, really interesting. Check amix's vimrc as well, there are some cross-plataform tips to get you started.