1" Vim filetype plugin file 2" Language: VisualBasic (ft=vb) 3" Maintainer: Johannes Zellner <[email protected]> 4" Last Change: Thu, 22 Nov 2001 12:56:14 W. Europe Standard Time 5 6if exists("b:did_ftplugin") | finish | endif 7let b:did_ftplugin = 1 8 9setlocal nocindent 10setlocal autoindent 11setlocal com=sr:'\ -,mb:'\ \ ,el:'\ \ ,:' 12 13" we need this wrapper, as call doesn't allow a count 14fun! <SID>VbSearch(pattern, flags) 15 let cnt = v:count1 16 while cnt > 0 17 call search(a:pattern, a:flags) 18 let cnt = cnt - 1 19 endwhile 20endfun 21 22let s:cpo_save = &cpo 23set cpo&vim 24 25" NOTE the double escaping \\| 26nnoremap <buffer> <silent> [[ :call <SID>VbSearch('^\s*\(\(private\|public\)\s\+\)\=\(function\\|sub\)', 'bW')<cr> 27nnoremap <buffer> <silent> ]] :call <SID>VbSearch('^\s*\(\(private\|public\)\s\+\)\=\(function\\|sub\)', 'W')<cr> 28nnoremap <buffer> <silent> [] :call <SID>VbSearch('^\s*\<end\>\s\+\(function\\|sub\)', 'bW')<cr> 29nnoremap <buffer> <silent> ][ :call <SID>VbSearch('^\s*\<end\>\s\+\(function\\|sub\)', 'W')<cr> 30 31" matchit support 32if exists("loaded_matchit") 33 let b:match_ignorecase=1 34 let b:match_words= 35 \ '\%(^\s*\)\@<=\<if\>.*\<then\>\s*$:\%(^\s*\)\@<=\<else\>:\%(^\s*\)\@<=\<elseif\>:\%(^\s*\)\@<=\<end\>\s\+\<if\>,' . 36 \ '\%(^\s*\)\@<=\<for\>:\%(^\s*\)\@<=\<next\>,' . 37 \ '\%(^\s*\)\@<=\<while\>:\%(^\s*\)\@<=\<wend\>,' . 38 \ '\%(^\s*\)\@<=\<do\>:\%(^\s*\)\@<=\<loop\>\s\+\<while\>,' . 39 \ '\%(^\s*\)\@<=\<select\>\s\+\<case\>:\%(^\s*\)\@<=\<case\>:\%(^\s*\)\@<=\<end\>\s\+\<select\>,' . 40 \ '\%(^\s*\)\@<=\<enum\>:\%(^\s*\)\@<=\<end\>\s\<enum\>,' . 41 \ '\%(^\s*\)\@<=\<with\>:\%(^\s*\)\@<=\<end\>\s\<with\>,' . 42 \ '\%(^\s*\)\@<=\%(\<\%(private\|public\)\>\s\+\)\=\<function\>\s\+\([^ \t(]\+\):\%(^\s*\)\@<=\<\1\>\s*=:\%(^\s*\)\@<=\<end\>\s\+\<function\>,' . 43 \ '\%(^\s*\)\@<=\%(\<\%(private\|public\)\>\s\+\)\=\<sub\>\s\+:\%(^\s*\)\@<=\<end\>\s\+\<sub\>' 44endif 45 46let &cpo = s:cpo_save 47unlet s:cpo_save 48