The problem is that your original autocmd
lines are set to match the pattern *.*
, i.e. any filename which contains some characters, followed by a dot, followed by some more characters.
So the file test.html
or anothertest.css
will be matched, and your command will run, but .vimrc
, which has nothing prior to the dot, will not be matched.
The solution is to set up an autocmd which will match .vimrc
. Your guess of ?*
does match this (because it's looking for any character, followed by any number of other characters), but you say it somehow affects MRUs. I don't know what plugin you're using for your MRUs, but I'm guessing it's one which opens the MRU list in a temporary window with a name that matches the ?* pattern, and the subsequent loading of the view is somehow messing with your MRUs.
Therefore, the fix is to use something a bit more specific to match .vimrc:
autocmd BufWinLeave .vimrc mkview
autocmd BufWinEnter .vimrc silent loadview
It's possible that this will work, too, and is more general:
autocmd BufWinLeave .* mkview
autocmd BufWinEnter .* silent loadview