1" LaTeX filetype plugin 2" Language: LaTeX (ft=tex) 3" Maintainer: Benji Fisher, Ph.D. <benji@member.AMS.org> 4" Version: 1.4 5" Last Change: Wed 19 Apr 2006 6" URL: http://www.vim.org/script.php?script_id=411 7 8" Only do this when not done yet for this buffer. 9if exists("b:did_ftplugin") 10 finish 11endif 12 13" Start with plain TeX. This will also define b:did_ftplugin . 14source $VIMRUNTIME/ftplugin/plaintex.vim 15 16" Avoid problems if running in 'compatible' mode. 17let s:save_cpo = &cpo 18set cpo&vim 19 20let b:undo_ftplugin .= "| setl inex<" 21 22" Allow "[d" to be used to find a macro definition: 23" Recognize plain TeX \def as well as LaTeX \newcommand and \renewcommand . 24" I may as well add the AMS-LaTeX DeclareMathOperator as well. 25let &l:define .= '\|\\\(re\)\=new\(boolean\|command\|counter\|environment\|font' 26 \ . '\|if\|length\|savebox\|theorem\(style\)\=\)\s*\*\=\s*{\=' 27 \ . '\|DeclareMathOperator\s*{\=\s*' 28 29" Tell Vim how to recognize LaTeX \include{foo} and plain \input bar : 30let &l:include .= '\|\\include{' 31" On some file systems, "{" and "}" are inluded in 'isfname'. In case the 32" TeX file has \include{fname} (LaTeX only), strip everything except "fname". 33let &l:includeexpr = "substitute(v:fname, '^.\\{-}{\\|}.*', '', 'g')" 34 35" The following lines enable the macros/matchit.vim plugin for 36" extended matching with the % key. 37" ftplugin/plaintex.vim already defines b:match_skip and b:match_ignorecase 38" and matches \(, \), \[, \], \{, and \} . 39if exists("loaded_matchit") 40 let b:match_words .= ',\\begin\s*\({\a\+\*\=}\):\\end\s*\1' 41endif " exists("loaded_matchit") 42 43let &cpo = s:save_cpo 44 45" vim:sts=2:sw=2: 46