created November 7, 2002 · complexity basic · author zzapper · version 5.7
I couldn't get any tags to match in Coldfusion files *.cfm either HTML Javascript or ColdFusion tags themselves <cfif ..> ... </cfif>
Much pain was gone thru before I realised that the Syntax File for ColdFusion (/syntax/cf.vim) was called cf and not cfm
Therefore in matchit.cfm I need to add CF in following line and NOT CFM
au FileType html,jsp,php,cf if !exists("b:match_words") |
Comments
Edit
I meant edit matchit.vim (not matchit.cfm)
Ok, Where is this supposed to go exactly? I'm a little confused.
this is a fairly complex topic and I can't outdo the included docs; It's not as quick to set up as really any other of vims powerful features that I have used before, but its very worthwhile though, if you ask me. Note that it's still quite easy, but usually vim has all the work done for you already with a full install.
Start with
:h matchit-install
Then follow its instructions to install matchit and get the help loaded for it for the rest of the info.
That is a very general guide for dealing with just about any language, but if you're doing coldfusion, I will add one more shortcut for you. You'll probably want to start with this, in ~/.vim/ftplugin/cf.vim (or vimfiles\ftplugin\cf.vim )
" Only do this when not done yet for this buffer
if exists("b:did_ftplugin")
finish
endif
" Don't load another plugin for this buffer
let b:did_ftplugin = 1
if exists("loaded_matchit")
let b:match_words = '<cfif\>.\{-}>\|<cfif\>.\{-}$:'
\ . '<cfelseif\>.\{-}>\|<cfelseif\>.\{-}$:'
\ . '<cfelse\>.\{-}>\|<cfelse\>.\{-}$:'
\ . '<\/cfif>,'
\ . '<cfloop\>.\{-}>\|<cfloop\>.\{-}$:'
\ . '<\/cfloop\>.\{-}>,'
\ . '<cfoutput\>.\{-}>\|<cfoutput\>.\{-}$:'
\ . '<\/cfoutput\>.\{-}>,'
\ . '<cftimer\>.\{-}>\|<cftimer\>.\{-}$:'
\ . '<\/cftimer\>.\{-}>,'
\ . '<!---:--->,'
\ . '<cfquery\>.\{-}>\|<cfquery\>.\{-}$:<\/cfquery\>.\{-}>,'
\ . '<cfscript>:<\/cfscript>'
" Since we are counting things outside of comments only,
" It is important we account comments accurately or match_words
" will be wrong and therefore useless
syntax sync fromstart
endif " exists("loaded_matchit")
Don't forget
filetype plugin on
in your main vimrc, or that will not be processed.
For the benefit of Googlers, I am going to mention that the point of this tip is to help people configure vim so that one can use the % (percent sign) to jump from word to word, using matched pairs like those mentioned above while writing coldfusion cfm files.