You could store the associations in a global dict variable, and use it in the BufWinEnter. You could then store the dict var in your .vimrc, a separate file, or let viminfo handle it.
On 5/28/06, Geoffrey Alan Washburn <[EMAIL PROTECTED]> wrote:
Gerald Lai wrote: > Since 'spellfile' cannot be set from a modeline for security reasons, > you can try placing something like this in your vimrc: > > autocmd BufWinEnter * > \ if expand("%:t") == "myfile1.txt" | > \ set spellfile=myspell1.latin1.add | > \ elseif expand("%:t") == "myfile2.txt" | > \ set spellfile=myspell2.utf-8.add | > \ else | > \ set spellfile= | > \ endif | > Ah, this is actually a bit too heavyweight, as it would mean keeping a rather complicated switching block in my .vimrc, that includes the full path of every LaTeX file for which I have a dictionary. Regardless, your suggestion reminded me that I can set a per directory .vimrc, so I just placed one in my project directory and I seem to be set. This isn't quite as nice as my original proposal because it means it only works if I start vim from within that directory. Somehow I don't see how this is any less of a security risk than allowing what I proposed.