On Tuesday, September 29, 2015 at 11:04:25 AM UTC-4, Gary Johnson wrote: > On 2015-09-29, dbr517 wrote: > > I would like to set different vimdiff options by filetype . . . in > > particular, I would like to ignore whitespace by default, but NOT > > ignore whitespace for python files. > > > > I added the following to the rc file, but I still get "iwhite" set > > in diffopt for python files: > > > > set diffopt+=iwhite > > if &filetype == 'python' > > set diffopt-=iwhite > > endif > > > > I'm probably missing something obvious :-)) > > It's obvious only after some experience with Vim. It's in the > documentation, but not in one place. > > The problem is that Vim determines filetypes after it reads > ~/.vimrc; 'filetype' is not set when that if statement is executed. > > One way to fix that is to use these commands instead: > > set diffopt+=iwhite > au FileType python set diffopt-=iwhite > > Note that 'diffopt' is a global option; it can't be set differently > for different buffers. Therefore, the autocommand above will remove > "iwhite" from 'diffopt' whenever you edit a Python file and not > restore "iwhite" if you later diff two buffers of a different > filetype. Whether that's a problem for you and how you might fix > that depends on how you use Vim. > > Regards, > Gary
Gary - Excellent, thanks! That explains some other errors in my .vimrc too :-) I can actually use the autocommand because I commonly run ONLY the diff in a given session; if I'm doing extensive editing it's in a different session. Dan -- -- You received this message from the "vim_use" maillist. Do not top-post! Type your reply below the text you are replying to. For more information, visit http://www.vim.org/maillist.php --- You received this message because you are subscribed to the Google Groups "vim_use" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
