" Vim filetype plugin file" Language: ConTeXt typesetting engine" Maintainer: Nicola Vitacolonna <nvitacolonna@gmail.com>" Former Maintainers: Nikolai Weibull <now@bitwi.se>" Latest Revision: 2016 Oct 30if exists("b:did_ftplugin")finishendiflet b:did_ftplugin = 1let s:cpo_save = &cposet cpo&vimif !exists('current_compiler')compiler contextendiflet b:undo_ftplugin = "setl com< cms< def< inc< sua< fo< ofu<"\ . "| unlet! b:match_ignorecase b:match_words b:match_skip"setlocal comments=b:%D,b:%C,b:%M,:% commentstring=%\ %s formatoptions+=tjcroql2if get(b:, 'context_metapost', get(g:, 'context_metapost', 1))setlocal omnifunc=contextcomplete#Completelet g:omni_syntax_group_include_context = 'mf\w\+,mp\w\+'let g:omni_syntax_group_exclude_context = 'mfTodoComment'endiflet &l:define='\\\%([egx]\|char\|mathchar\|count\|dimen\|muskip\|skip\|toks\)\='\ . 'def\|\\font\|\\\%(future\)\=let'\ . '\|\\new\%(count\|dimen\|skip\|muskip\|box\|toks\|read\|write'\ . '\|fam\|insert\|if\)'let &l:include = '^\s*\\\%(input\|component\|product\|project\|environment\)'setlocal suffixesadd=.texif exists("loaded_matchit")let b:match_ignorecase = 0let b:match_skip = 'r:\\\@<!\%(\\\\\)*%'let b:match_words = '(:),\[:],{:},\\(:\\),\\\[:\\],' .\ '\\start\(\a\+\):\\stop1円'endiflet s:context_regex = {\ 'beginsection' : '\\\%(start\)\=\%(\%(sub\)*section\|\%(sub\)*subject\|chapter\|part\|component\|product\|title\)\>',\ 'endsection' : '\\\%(stop\)\=\%(\%(sub\)*section\|\%(sub\)*subject\|chapter\|part\|component\|product\|title\)\>',\ 'beginblock' : '\\\%(start\|setup\|define\)',\ 'endblock' : '\\\%(stop\|setup\|define\)'\ }function! s:move_around(count, what, flags, visual)if a:visualexe "normal! gv"endifcall search(s:context_regex[a:what], a:flags.'s') " 's' sets previous context markcall map(range(2, a:count), 'search(s:context_regex[a:what], a:flags)')endfunction" Move around macros.nnoremap <silent><buffer> [[ :<C-U>call <SID>move_around(v:count1, "beginsection", "bW", v:false) <CR>vnoremap <silent><buffer> [[ :<C-U>call <SID>move_around(v:count1, "beginsection", "bW", v:true) <CR>nnoremap <silent><buffer> ]] :<C-U>call <SID>move_around(v:count1, "beginsection", "W", v:false) <CR>vnoremap <silent><buffer> ]] :<C-U>call <SID>move_around(v:count1, "beginsection", "W", v:true) <CR>nnoremap <silent><buffer> [] :<C-U>call <SID>move_around(v:count1, "endsection", "bW", v:false) <CR>vnoremap <silent><buffer> [] :<C-U>call <SID>move_around(v:count1, "endsection", "bW", v:true) <CR>nnoremap <silent><buffer> ][ :<C-U>call <SID>move_around(v:count1, "endsection", "W", v:false) <CR>vnoremap <silent><buffer> ][ :<C-U>call <SID>move_around(v:count1, "endsection", "W", v:true) <CR>nnoremap <silent><buffer> [{ :<C-U>call <SID>move_around(v:count1, "beginblock", "bW", v:false) <CR>vnoremap <silent><buffer> [{ :<C-U>call <SID>move_around(v:count1, "beginblock", "bW", v:true) <CR>nnoremap <silent><buffer> ]} :<C-U>call <SID>move_around(v:count1, "endblock", "W", v:false) <CR>vnoremap <silent><buffer> ]} :<C-U>call <SID>move_around(v:count1, "endblock", "W", v:true) <CR>" Other useful mappingsif get(g:, 'context_mappings', 1)let s:tp_regex = '?^$\|^\s*\\\(item\|start\|stop\|blank\|\%(sub\)*section\|chapter\|\%(sub\)*subject\|title\|part\)'fun! s:tp()call cursor(search(s:tp_regex, 'bcW') + 1, 1)normal! Vcall cursor(search(s:tp_regex, 'W') - 1, 1)endf" Reflow paragraphs with commands like gqtp ("gq TeX paragraph")onoremap <silent><buffer> tp :<c-u>call <sid>tp()<cr>" Select TeX paragraphvnoremap <silent><buffer> tp <esc>:<c-u>call <sid>tp()<cr>" $...$ text objectonoremap <silent><buffer> i$ :<c-u>normal! T$vt$<cr>onoremap <silent><buffer> a$ :<c-u>normal! F$vf$<cr>vnoremap <buffer> i$ T$ot$vnoremap <buffer> a$ F$of$endif" Commands for asynchronous typesettingcommand! -buffer -nargs=? -complete=file ConTeXt call context#typeset(<q-args>)command! -nargs=0 ConTeXtJobStatus call context#job_status()command! -nargs=0 ConTeXtStopJobs call context#stop_jobs()let &cpo = s:cpo_saveunlet s:cpo_save
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。