Execute (Setup): " assumes 3 registered wikis in vimrc let g:wiki_nr = 3 Before (Define functions): " change the syntax using a temporary wiki function! SetSyntax(vw_syn) if a:vw_syn ==# 'default' let ext = 'wiki' elseif a:vw_syn ==# 'markdown' let ext = 'md' elseif a:vw_syn ==# 'media' let ext = 'mw' else Log 'ERROR: Invalid syntax "' . a:vw_syn . '" in SetSyntax()' Log 'NOTE: function only accepts "media" for setting mediawiki syntax' return endif let path = expand('%:p:h') let new_temp_wiki_settings = {'path': path, \ 'ext': ext, \ 'syntax': a:vw_syn, \ } call vimwiki#vars#add_temporary_wiki(new_temp_wiki_settings) call vimwiki#vars#set_bufferlocal('wiki_nr', g:wiki_nr) let g:wiki_nr += 1 " verify syntax was set correctly Assert vimwiki#vars#get_wikilocal('syntax') ==# a:vw_syn, 'ERROR: Vimwiki syntax not set correctly.' endfunction " reload plugin to change settings function! ReloadVimwiki() " clear mappings so plugin can be reloaded " this is needed if running manually multiple times nmapclear unlet g:loaded_vimwiki source plugin/vimwiki.vim endfunction