Die erste Zeile bringt den Cursor zu der Zeile zurück, in der ich war, die zweite bezieht die Ressourcendatei. Beide funktionieren für sich, aber nicht zusammen. Die durch den Return-Cursor gesetzten Markierungen scheinen noch gesetzt zu sein. Kann jemand erklären, was der Zusammenhang zwischen beiden ist?
au BufReadPost * if line("'\"") > 1 && line("'\"") <= line("$")
\ | exe "normal! g`\"" | endif
augroup myvimrc
au!
au BufWritePost .vimrc,_vimrc,vimrc,.gvimrc,_gvimrc,gvimrc so $MYVIMRC
\ | if has('gui_running') && filereadable($MYGVIMRC)
\ | so $MYGVIMRC | endif
augroup END
Antwort1
Der Kerncode von Vim versucht nach Kräften, Markierungen nicht zu ändern oder zu verlieren, es sei denn, dies ist unbedingt nötig, insbesondere in Situationen, die den Benutzer „überraschen“ würden. Das Einbeziehen Ihrer Quellen .vimrc
ist wie das Einbeziehen beliebiger Vim-Skripte, das Markierungspositionen nicht ändert – oder aufhebt –, es sei denn, das Vim-Skript enthält explizite Befehle, die dies tun würden.