As per the accepted answer to this question, I'm attempting to use modelines in vim to force filetype detection in some files.For example, at the top of a file named gitconfig (note there is no leading .), I have the following line:# vim: set filetype=gitconfig : modeline is enabled on my system. However, when I open the file in vim, set filetype? returns conf, rather than the expected gitconfig.Is it possible that other parts of my vim configuration (e.g. filetype.vim) are causing this strange behaviour?Edited in response to comments:set compatible? returns nocompatibleset modeline? returns modelineverbose set filetype? returns:filetype=conf      Last set from /usr/share/vim/vim73/filetype.vimI don't understand why the system wide filetype plugin would be overriding what I have set in the file itself.One final note: this is the version of Vim 7.3 shipped with OSX.The latest version of MacVim running on the same system using the same .vimrc behaves as expected, with set ft? returning filetype=gitconfig.
Setting vim filetype with modeline not working as expected
vim;osx
So, after some digging, it transpires that the system vimrc shipped with OSX sets the modelines (note the trailing 's') variable to 0. This variable controls the number of lines in a file which are checked for set commands. Setting modelines to a non-zero value in my .vimrc solved the problem.Full output, for the curious: the output of vim --version prompted me to check the system vimrc:% vim --versionVIM - Vi IMproved 7.3 (2010 Aug 15, compiled Jun 24 2011 20:00:09)Compiled by root@apple.comNormal version without GUI.  Features included (+) or not (-):...   system vimrc file: $VIM/vimrc     user vimrc file: $HOME/.vimrc      user exrc file: $HOME/.exrc  fall-back for $VIM: /usr/share/vimCompilation: gcc -c -I. -D_FORTIFY_SOURCE=0 -Iproto -DHAVE_CONFIG_H -arch i386 -arch x86_64 -g -Os -pipeLinking: gcc -arch i386 -arch x86_64 -o vim -lncursesLooking at the system vimrc:% cat /usr/share/vim/vimrc  Configuration file for vimset modelines=0          CVE-2007-2438...Led me to the modelines variable. It appears that MacVim does not source this system file (perhaps looking for a system GVIMRC instead? :help startup isn't clear).VIM - Vi IMproved 7.3 (2010 Aug 15, compiled Jul 27 2011 19:46:24)MacOS X (unix) versionIncluded patches: 1-260Compiled by XXXXXHuge version with MacVim GUI.  Features included (+) or not (-):...   system vimrc file: $VIM/vimrc     user vimrc file: $HOME/.vimrc      user exrc file: $HOME/.exrc  system gvimrc file: $VIM/gvimrc    user gvimrc file: $HOME/.gvimrc    system menu file: $VIMRUNTIME/menu.vim  fall-back for $VIM: /Applications/MacVim.app/Contents/Resources/vimCompilation: gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_MACVIM -Wall -Wno-unknown-pragmas -pipe  -DMACOS_X_UNIX -no-cpp-precomp  -g -O2 -D_FORTIFY_SOURCE=1Linking: gcc   -L.         -Wl,-syslibroot,/Developer/SDKs/MacOSX10.6.sdk -L/usr/local/lib -o Vim -framework Cocoa -framework Carbon      -lncurses  -liconv -framework Cocoa    -fstack-protector -L/usr/local/lib  -L/System/Library/Perl/5.10/darwin-thread-multi-2level/CORE -lperl -lm -lutil -lc -framework Python   -framework Ruby