Version 1.1
* NEW: Issue 57: Make it possible to have pre block inside list item. * NEW: Issue 82: Add quick goto command. See |:VimwikiGoto|. * NEW: Issue 83: Quick switch in diary. See |:VimwikiDiaryNextDay| and |:VimwikiDiaryPrevDay| commands. * FIX: Issue 84: Vimwiki rename removed the WikiWord display name. * FIX: Issue 85: Errors if you have '~' subdirectory in a wiki directory. * FIX: Issue 86: Existed links '[[WikiLink1|Alias1]] | [[WikiLink2]]' are highlighted as a single link. * FIX: Issue 88: Underline text. See |g:vimwiki_valid_html_tags|. * FIX: Issue 92: Wikies in a subdir could be renamed to an empty file. * FIX: Issue 93: Use alias name in html title. See |vimwiki-title|. * FIX: Issue 94: Relative links to PHP files are broken. See |g:vimwiki_file_exts| for details. * FIX: Issue 96: Closing bracket at the end of weblink shouldn't be a part of that link. * FIX: Issue 97: Error opening weblink in a browser if it has # inside. * FIX: Issue 99: Vim is not responing while opening arbitrary wiki file. * FIX: Issue 100: Additional content on diary index page could be corrupted. * NEW: Issue 101: Customized HTML tags. See |g:vimwiki_valid_html_tags| * NEW: Issue 102: Conceal feature usage. See |g:vimwiki_conceallevel|. * FIX: Issue 103: Always highlight links to non-wiki files as existed. * FIX: Issue 104: vimwiki#nested_syntax needs 'keepend' to avoid contained language syntax eat needed '}}}'. * FIX: Issue 105: <i_CR> on a todo list item with [ ] doesn't create new todo list item. * FIX: Issue 106: With MediaWiki syntax <C-Space> on a child todo list item produce errors. * FIX: Issue 107: With MediaWiki syntax <C-Space> on a list item creates todo list item without space between * and [ ]. * FIX: Issue 110: Syntax highlighting doesn't work for indented codeblock. * FIX: Issue 115: Nested Perl syntax highlighting differs from regular one. * MISC: Many vimwiki commands were renamed from Vimwiki.*Word to Vimwiki.*Link. VimwikiGoHome is renamed to VimwikiIndex, VimwikiTabGoHome to VimwikiTabIndex. * MISC: vimwiki-option-gohome is removed.
This commit is contained in:
parent
8e53e53ffe
commit
458c4539e5
@ -65,7 +65,7 @@ function! vimwiki#current_subdir()"{{{
|
|||||||
endfunction"}}}
|
endfunction"}}}
|
||||||
|
|
||||||
function! vimwiki#open_link(cmd, link, ...) "{{{
|
function! vimwiki#open_link(cmd, link, ...) "{{{
|
||||||
if s:is_link_to_non_wiki_file(a:link)
|
if vimwiki#is_non_wiki_link(a:link)
|
||||||
call s:edit_file(a:cmd, a:link)
|
call s:edit_file(a:cmd, a:link)
|
||||||
else
|
else
|
||||||
if a:0
|
if a:0
|
||||||
@ -127,6 +127,13 @@ function! vimwiki#generate_links()"{{{
|
|||||||
endfor
|
endfor
|
||||||
endfunction " }}}
|
endfunction " }}}
|
||||||
|
|
||||||
|
function! vimwiki#goto(key) "{{{
|
||||||
|
call s:edit_file(':e',
|
||||||
|
\ VimwikiGet('path').
|
||||||
|
\ a:key.
|
||||||
|
\ VimwikiGet('ext'))
|
||||||
|
endfunction "}}}
|
||||||
|
|
||||||
function! s:is_windows() "{{{
|
function! s:is_windows() "{{{
|
||||||
return has("win32") || has("win64") || has("win95") || has("win16")
|
return has("win32") || has("win64") || has("win95") || has("win16")
|
||||||
endfunction "}}}
|
endfunction "}}}
|
||||||
@ -134,15 +141,21 @@ endfunction "}}}
|
|||||||
function! s:get_links(pat) "{{{
|
function! s:get_links(pat) "{{{
|
||||||
" search all wiki files in 'path' and its subdirs.
|
" search all wiki files in 'path' and its subdirs.
|
||||||
let subdir = vimwiki#current_subdir()
|
let subdir = vimwiki#current_subdir()
|
||||||
let globlinks = glob(VimwikiGet('path').subdir.'**/'.a:pat)
|
|
||||||
|
|
||||||
" remove .wiki extensions
|
" if current wiki is temporary -- was added by an arbitrary wiki file then do
|
||||||
let globlinks = substitute(globlinks, '\'.VimwikiGet('ext'), "", "g")
|
" not search wiki files in subdirectories. Or it would hang the system if
|
||||||
|
" wiki file was created in $HOME or C:/ dirs.
|
||||||
|
if VimwikiGet('temp')
|
||||||
|
let search_dirs = ''
|
||||||
|
else
|
||||||
|
let search_dirs = '**/'
|
||||||
|
endif
|
||||||
|
let globlinks = glob(VimwikiGet('path').subdir.search_dirs.a:pat)
|
||||||
|
|
||||||
|
" remove extensions (and backup extensions too: .wiki~)
|
||||||
|
let globlinks = substitute(globlinks, '\'.VimwikiGet('ext').'\~\?', "", "g")
|
||||||
let links = split(globlinks, '\n')
|
let links = split(globlinks, '\n')
|
||||||
|
|
||||||
" remove backup files (.wiki~)
|
|
||||||
call filter(links, 'v:val !~ ''.*\~$''')
|
|
||||||
|
|
||||||
" remove paths
|
" remove paths
|
||||||
let rem_path = escape(expand(VimwikiGet('path')).subdir, '\')
|
let rem_path = escape(expand(VimwikiGet('path')).subdir, '\')
|
||||||
call map(links, 'substitute(v:val, rem_path, "", "g")')
|
call map(links, 'substitute(v:val, rem_path, "", "g")')
|
||||||
@ -235,15 +248,15 @@ function! s:strip_word(word) "{{{
|
|||||||
endfunction
|
endfunction
|
||||||
" }}}
|
" }}}
|
||||||
|
|
||||||
function! s:is_link_to_non_wiki_file(link) "{{{
|
function! vimwiki#is_non_wiki_link(lnk) "{{{
|
||||||
" Check if link is to a non-wiki file.
|
let exts = '.\+\.\%('.
|
||||||
" The easiest way is to check if it has extension like .txt or .html
|
\ join(split(g:vimwiki_file_exts, '\s*,\s*'), '\|').
|
||||||
if a:link =~ '\.\w\{1,4}$'
|
\ '\)$'
|
||||||
|
if a:lnk =~ exts
|
||||||
return 1
|
return 1
|
||||||
endif
|
endif
|
||||||
return 0
|
return 0
|
||||||
endfunction
|
endfunction "}}}
|
||||||
" }}}
|
|
||||||
|
|
||||||
function! vimwiki#is_link_to_dir(link) "{{{
|
function! vimwiki#is_link_to_dir(link) "{{{
|
||||||
" Check if link is to a directory.
|
" Check if link is to a directory.
|
||||||
@ -252,8 +265,7 @@ function! vimwiki#is_link_to_dir(link) "{{{
|
|||||||
return 1
|
return 1
|
||||||
endif
|
endif
|
||||||
return 0
|
return 0
|
||||||
endfunction
|
endfunction " }}}
|
||||||
" }}}
|
|
||||||
|
|
||||||
function! s:print_wiki_list() "{{{
|
function! s:print_wiki_list() "{{{
|
||||||
let idx = 0
|
let idx = 0
|
||||||
@ -294,19 +306,23 @@ endfunction
|
|||||||
function! s:update_wiki_links_dir(dir, old_fname, new_fname) " {{{
|
function! s:update_wiki_links_dir(dir, old_fname, new_fname) " {{{
|
||||||
let old_fname = substitute(a:old_fname, '[/\\]', '[/\\\\]', 'g')
|
let old_fname = substitute(a:old_fname, '[/\\]', '[/\\\\]', 'g')
|
||||||
let new_fname = a:new_fname
|
let new_fname = a:new_fname
|
||||||
|
let old_fname_r = old_fname
|
||||||
|
let new_fname_r = new_fname
|
||||||
|
|
||||||
if !s:is_wiki_word(new_fname)
|
if !s:is_wiki_word(new_fname) && s:is_wiki_word(old_fname)
|
||||||
let new_fname = '[['.new_fname.']]'
|
let new_fname_r = '[['.new_fname.']]'
|
||||||
endif
|
endif
|
||||||
|
|
||||||
if !s:is_wiki_word(old_fname)
|
if !s:is_wiki_word(old_fname)
|
||||||
let old_fname = '\[\['.vimwiki#unsafe_link(old_fname).
|
let old_fname_r = '\[\[\zs'.vimwiki#unsafe_link(old_fname).
|
||||||
\ '\%(|.*\)\?\%(\]\[.*\)\?\]\]'
|
\ '\ze\%(|.*\)\?\%(\]\[.*\)\?\]\]'
|
||||||
else
|
else
|
||||||
let old_fname = '\<'.old_fname.'\>'
|
let old_fname_r = '\<'.old_fname.'\>'
|
||||||
endif
|
endif
|
||||||
|
|
||||||
let files = split(glob(VimwikiGet('path').a:dir.'*'.VimwikiGet('ext')), '\n')
|
let files = split(glob(VimwikiGet('path').a:dir.'*'.VimwikiGet('ext')), '\n')
|
||||||
for fname in files
|
for fname in files
|
||||||
call s:update_wiki_link(fname, old_fname, new_fname)
|
call s:update_wiki_link(fname, old_fname_r, new_fname_r)
|
||||||
endfor
|
endfor
|
||||||
endfunction
|
endfunction
|
||||||
" }}}
|
" }}}
|
||||||
@ -348,8 +364,7 @@ function! s:update_wiki_links(old_fname, new_fname) " {{{
|
|||||||
\ new_dir.old_fname, new_dir.new_fname)
|
\ new_dir.old_fname, new_dir.new_fname)
|
||||||
let idx = idx + 1
|
let idx = idx + 1
|
||||||
endwhile
|
endwhile
|
||||||
endfunction
|
endfunction " }}}
|
||||||
" }}}
|
|
||||||
|
|
||||||
function! s:get_wiki_buffers() "{{{
|
function! s:get_wiki_buffers() "{{{
|
||||||
let blist = []
|
let blist = []
|
||||||
@ -365,21 +380,58 @@ function! s:get_wiki_buffers() "{{{
|
|||||||
let bcount = bcount + 1
|
let bcount = bcount + 1
|
||||||
endwhile
|
endwhile
|
||||||
return blist
|
return blist
|
||||||
endfunction
|
endfunction " }}}
|
||||||
" }}}
|
|
||||||
|
|
||||||
function! s:open_wiki_buffer(item) "{{{
|
function! s:open_wiki_buffer(item) "{{{
|
||||||
call s:edit_file('e', a:item[0])
|
call s:edit_file('e', a:item[0])
|
||||||
if !empty(a:item[1])
|
if !empty(a:item[1])
|
||||||
call setbufvar(a:item[0], "vimwiki_prev_link", a:item[1])
|
call setbufvar(a:item[0], "vimwiki_prev_link", a:item[1])
|
||||||
endif
|
endif
|
||||||
endfunction
|
endfunction " }}}
|
||||||
" }}}
|
|
||||||
|
|
||||||
" }}}
|
" }}}
|
||||||
|
|
||||||
" SYNTAX highlight {{{
|
" SYNTAX highlight {{{
|
||||||
function! vimwiki#WikiHighlightLinks() "{{{
|
function! vimwiki#highlight_links() "{{{
|
||||||
|
try
|
||||||
|
syntax clear VimwikiNoExistsLink
|
||||||
|
syntax clear VimwikiNoExistsLinkT
|
||||||
|
syntax clear VimwikiLink
|
||||||
|
syntax clear VimwikiLinkT
|
||||||
|
catch
|
||||||
|
endtry
|
||||||
|
|
||||||
|
"" use max highlighting - could be quite slow if there are too many wikifiles
|
||||||
|
if VimwikiGet('maxhi')
|
||||||
|
" Every WikiWord is nonexistent
|
||||||
|
if g:vimwiki_camel_case
|
||||||
|
execute 'syntax match VimwikiNoExistsLink /'.g:vimwiki_rxWikiWord.'/ display'
|
||||||
|
execute 'syntax match VimwikiNoExistsLinkT /'.g:vimwiki_rxWikiWord.'/ display contained'
|
||||||
|
endif
|
||||||
|
execute 'syntax match VimwikiNoExistsLink /'.g:vimwiki_rxWikiLink1.'/ display contains=VimwikiNoLinkChar'
|
||||||
|
execute 'syntax match VimwikiNoExistsLink /'.g:vimwiki_rxWikiLink2.'/ display contains=VimwikiNoLinkChar'
|
||||||
|
|
||||||
|
execute 'syntax match VimwikiNoExistsLinkT /'.g:vimwiki_rxWikiLink1.'/ display contained'
|
||||||
|
execute 'syntax match VimwikiNoExistsLinkT /'.g:vimwiki_rxWikiLink2.'/ display contained'
|
||||||
|
|
||||||
|
" till we find them in vimwiki's path
|
||||||
|
call s:highlight_existed_links()
|
||||||
|
else
|
||||||
|
" A WikiWord (unqualifiedWikiName)
|
||||||
|
execute 'syntax match VimwikiLink /\<'.g:vimwiki_rxWikiWord.'\>/'
|
||||||
|
" A [[bracketed wiki word]]
|
||||||
|
execute 'syntax match VimwikiLink /'.g:vimwiki_rxWikiLink1.'/ display contains=VimwikiLinkChar'
|
||||||
|
execute 'syntax match VimwikiLink /'.g:vimwiki_rxWikiLink2.'/ display contains=VimwikiLinkChar'
|
||||||
|
|
||||||
|
execute 'syntax match VimwikiLinkT /\<'.g:vimwiki_rxWikiWord.'\>/ display contained'
|
||||||
|
execute 'syntax match VimwikiLinkT /'.g:vimwiki_rxWikiLink1.'/ display contained'
|
||||||
|
execute 'syntax match VimwikiLinkT /'.g:vimwiki_rxWikiLink2.'/ display contained'
|
||||||
|
endif
|
||||||
|
|
||||||
|
execute 'syntax match VimwikiLink `'.g:vimwiki_rxWeblink.'` display contains=@NoSpell'
|
||||||
|
endfunction "}}}
|
||||||
|
|
||||||
|
function! s:highlight_existed_links() "{{{
|
||||||
let links = s:get_links('*'.VimwikiGet('ext'))
|
let links = s:get_links('*'.VimwikiGet('ext'))
|
||||||
|
|
||||||
" Links with subdirs should be highlighted for linux and windows separators
|
" Links with subdirs should be highlighted for linux and windows separators
|
||||||
@ -390,29 +442,114 @@ function! vimwiki#WikiHighlightLinks() "{{{
|
|||||||
|
|
||||||
for link in links
|
for link in links
|
||||||
if g:vimwiki_camel_case &&
|
if g:vimwiki_camel_case &&
|
||||||
\ link =~ g:vimwiki_rxWikiWord && !s:is_link_to_non_wiki_file(link)
|
\ link =~ g:vimwiki_rxWikiWord && !vimwiki#is_non_wiki_link(link)
|
||||||
execute 'syntax match VimwikiLink /!\@<!\<'.link.'\>/'
|
execute 'syntax match VimwikiLink /!\@<!\<'.link.'\>/ display'
|
||||||
endif
|
endif
|
||||||
execute 'syntax match VimwikiLink /\[\[\<'.
|
execute 'syntax match VimwikiLink /\[\['.
|
||||||
\ vimwiki#unsafe_link(link).
|
\ escape(vimwiki#unsafe_link(link), '~&$.*').
|
||||||
\ '\>\%(|\+.*\)*\]\]/'
|
\ '\%(|\+.\{-}\)\{-}\]\]/ display contains=VimwikiLinkChar'
|
||||||
execute 'syntax match VimwikiLink /\[\[\<'.
|
execute 'syntax match VimwikiLink /\[\['.
|
||||||
\ vimwiki#unsafe_link(link).
|
\ escape(vimwiki#unsafe_link(link), '~&$.*').
|
||||||
\ '\>\]\[.\+\]\]/'
|
\ '\]\[.\{-1,}\]\]/ display contains=VimwikiLinkChar'
|
||||||
|
|
||||||
|
execute 'syntax match VimwikiLinkT /\[\['.
|
||||||
|
\ escape(vimwiki#unsafe_link(link), '~&$.*').
|
||||||
|
\ '\%(|\+.\{-}\)\{-}\]\]/ display contained'
|
||||||
|
execute 'syntax match VimwikiLinkT /\[\['.
|
||||||
|
\ escape(vimwiki#unsafe_link(link), '~&$.*').
|
||||||
|
\ '\]\[.\{-1,}\]\]/ display contained'
|
||||||
endfor
|
endfor
|
||||||
execute 'syntax match VimwikiLink /\[\[.\+\.\%(jpg\|png\|gif\)\%(|\+.*\)*\]\]/'
|
execute 'syntax match VimwikiLink /\[\[.\+\.\%(jpg\|png\|gif\)\%(|\+.*\)*\]\]/ display contains=VimwikiLinkChar'
|
||||||
execute 'syntax match VimwikiLink /\[\[.\+\.\%(jpg\|png\|gif\)\]\[.\+\]\]/'
|
execute 'syntax match VimwikiLink /\[\[.\+\.\%(jpg\|png\|gif\)\]\[.\+\]\]/ display contains=VimwikiLinkChar'
|
||||||
|
|
||||||
|
execute 'syntax match VimwikiLinkT /\[\[.\+\.\%(jpg\|png\|gif\)\%(|\+.*\)*\]\]/ display contained'
|
||||||
|
execute 'syntax match VimwikiLinkT /\[\[.\+\.\%(jpg\|png\|gif\)\]\[.\+\]\]/ display contained'
|
||||||
|
|
||||||
|
" Issue 103: Always highlight links to non-wiki files as existed.
|
||||||
|
execute 'syntax match VimwikiLink /\[\[.\+\.\%('.
|
||||||
|
\join(split(g:vimwiki_file_exts, '\s*,\s*'), '\|').
|
||||||
|
\'\)\%(|\+.*\)*\]\]/ display contains=VimwikiLinkChar'
|
||||||
|
execute 'syntax match VimwikiLink /\[\[.\+\.\%('.
|
||||||
|
\join(split(g:vimwiki_file_exts, '\s*,\s*'), '\|').
|
||||||
|
\'\)\]\[.\+\]\]/ display contains=VimwikiLinkChar'
|
||||||
|
|
||||||
|
execute 'syntax match VimwikiLinkT /\[\[.\+\.\%('.
|
||||||
|
\join(split(g:vimwiki_file_exts, '\s*,\s*'), '\|').
|
||||||
|
\'\)\%(|\+.*\)*\]\]/ display contained'
|
||||||
|
execute 'syntax match VimwikiLinkT /\[\[.\+\.\%('.
|
||||||
|
\join(split(g:vimwiki_file_exts, '\s*,\s*'), '\|').
|
||||||
|
\'\)\]\[.\+\]\]/ display contained'
|
||||||
|
|
||||||
" highlight dirs
|
" highlight dirs
|
||||||
let dirs = s:get_links('*/')
|
let dirs = s:get_links('*/')
|
||||||
call map(dirs, 'substitute(v:val, os_p, os_p2, "g")')
|
call map(dirs, 'substitute(v:val, os_p, os_p2, "g")')
|
||||||
for dir in dirs
|
for dir in dirs
|
||||||
execute 'syntax match VimwikiLink /\[\[\<'.
|
execute 'syntax match VimwikiLink /\[\['.
|
||||||
\ vimwiki#unsafe_link(dir).
|
\ escape(vimwiki#unsafe_link(dir), '~&$.*').
|
||||||
\ '\>[/\\]*\%(|\+.*\)*\]\]/'
|
\ '[/\\]*\%(|\+.*\)*\]\]/ display contains=VimwikiLinkChar'
|
||||||
|
execute 'syntax match VimwikiLink /\[\['.
|
||||||
|
\ escape(vimwiki#unsafe_link(dir), '~&$.*').
|
||||||
|
\ '[/\\]*\%(\]\[\+.*\)*\]\]/ display contains=VimwikiLinkChar'
|
||||||
|
|
||||||
|
execute 'syntax match VimwikiLinkT /\[\['.
|
||||||
|
\ escape(vimwiki#unsafe_link(dir), '~&$.*').
|
||||||
|
\ '[/\\]*\%(|\+.*\)*\]\]/ display contained'
|
||||||
|
execute 'syntax match VimwikiLinkT /\[\['.
|
||||||
|
\ escape(vimwiki#unsafe_link(dir), '~&$.*').
|
||||||
|
\ '[/\\]*\%(\]\[\+.*\)*\]\]/ display contained'
|
||||||
endfor
|
endfor
|
||||||
endfunction
|
endfunction "}}}
|
||||||
" }}}
|
|
||||||
|
function! vimwiki#setup_colors() "{{{
|
||||||
|
|
||||||
|
function! s:set_visible_ignore_color() "{{{
|
||||||
|
if !exists("g:colors_name") || g:colors_name == 'default'
|
||||||
|
if &background == 'light'
|
||||||
|
hi VimwikiIgnore guifg=#d0d0d0
|
||||||
|
else
|
||||||
|
hi VimwikiIgnore guifg=#505050
|
||||||
|
endif
|
||||||
|
else
|
||||||
|
hi link VimwikiIgnore Normal
|
||||||
|
endif
|
||||||
|
endfunction "}}}
|
||||||
|
|
||||||
|
let hlfg_ignore = vimwiki#get_hl_param('Ignore', 'guifg')
|
||||||
|
let hlbg_normal = vimwiki#get_hl_param('Normal', 'guibg')
|
||||||
|
if hlfg_ignore == 'bg' || hlfg_ignore == hlbg_normal
|
||||||
|
call s:set_visible_ignore_color()
|
||||||
|
else
|
||||||
|
hi link VimwikiIgnore Ignore
|
||||||
|
endif
|
||||||
|
|
||||||
|
if g:vimwiki_hl_headers == 0
|
||||||
|
hi def link VimwikiHeader Title
|
||||||
|
return
|
||||||
|
endif
|
||||||
|
|
||||||
|
if &background == 'light'
|
||||||
|
hi def VimwikiHeader1 guibg=bg guifg=#aa5858 gui=bold ctermfg=DarkRed
|
||||||
|
hi def VimwikiHeader2 guibg=bg guifg=#507030 gui=bold ctermfg=DarkGreen
|
||||||
|
hi def VimwikiHeader3 guibg=bg guifg=#1030a0 gui=bold ctermfg=DarkBlue
|
||||||
|
hi def VimwikiHeader4 guibg=bg guifg=#103040 gui=bold ctermfg=Black
|
||||||
|
hi def VimwikiHeader5 guibg=bg guifg=#505050 gui=bold ctermfg=Black
|
||||||
|
hi def VimwikiHeader6 guibg=bg guifg=#636363 gui=bold ctermfg=Black
|
||||||
|
else
|
||||||
|
hi def VimwikiHeader1 guibg=bg guifg=#e08090 gui=bold ctermfg=Red
|
||||||
|
hi def VimwikiHeader2 guibg=bg guifg=#80e090 gui=bold ctermfg=Green
|
||||||
|
hi def VimwikiHeader3 guibg=bg guifg=#6090e0 gui=bold ctermfg=Blue
|
||||||
|
hi def VimwikiHeader4 guibg=bg guifg=#c0c0f0 gui=bold ctermfg=White
|
||||||
|
hi def VimwikiHeader5 guibg=bg guifg=#e0e0f0 gui=bold ctermfg=White
|
||||||
|
hi def VimwikiHeader6 guibg=bg guifg=#f0f0f0 gui=bold ctermfg=White
|
||||||
|
endif
|
||||||
|
endfunction "}}}
|
||||||
|
|
||||||
|
function vimwiki#get_hl_param(hgroup, hparam) "{{{
|
||||||
|
redir => hlstatus
|
||||||
|
exe "silent hi ".a:hgroup
|
||||||
|
redir END
|
||||||
|
return matchstr(hlstatus, a:hparam.'\s*=\s*\zs\S\+')
|
||||||
|
endfunction "}}}
|
||||||
|
|
||||||
function! vimwiki#hl_exists(hl) "{{{
|
function! vimwiki#hl_exists(hl) "{{{
|
||||||
if !hlexists(a:hl)
|
if !hlexists(a:hl)
|
||||||
@ -454,26 +591,38 @@ function! vimwiki#nested_syntax(filetype, start, end, textSnipHl) abort "{{{
|
|||||||
else
|
else
|
||||||
unlet b:current_syntax
|
unlet b:current_syntax
|
||||||
endif
|
endif
|
||||||
execute 'syntax region textSnip'.ft.'
|
execute 'syntax region textSnip'.ft.
|
||||||
\ matchgroup='.a:textSnipHl.'
|
\ ' matchgroup='.a:textSnipHl.
|
||||||
\ start="'.a:start.'" end="'.a:end.'"
|
\ ' start="'.a:start.'" end="'.a:end.'"'.
|
||||||
\ contains=@'.group
|
\ ' contains=@'.group.' keepend'
|
||||||
|
|
||||||
|
" A workaround to Issue 115: Nested Perl syntax highlighting differs from
|
||||||
|
" regular one.
|
||||||
|
" Perl syntax file has perlFunctionName which is usually has no effect due to
|
||||||
|
" 'contained' flag. Now we have 'syntax include' that makes all the groups
|
||||||
|
" included as 'contained' into specific group.
|
||||||
|
" Here perlFunctionName (with quite an angry regexp "\h\w*[^:]") clashes with
|
||||||
|
" the rest syntax rules as now it has effect being really 'contained'.
|
||||||
|
" Clear it!
|
||||||
|
if ft =~ 'perl'
|
||||||
|
syntax clear perlFunctionName
|
||||||
|
endif
|
||||||
endfunction "}}}
|
endfunction "}}}
|
||||||
|
|
||||||
"}}}
|
"}}}
|
||||||
|
|
||||||
" WIKI functions {{{
|
" WIKI functions {{{
|
||||||
function! vimwiki#WikiNextWord() "{{{
|
function! vimwiki#find_next_link() "{{{
|
||||||
call s:search_word(g:vimwiki_rxWikiLink.'\|'.g:vimwiki_rxWeblink, '')
|
call s:search_word(g:vimwiki_rxWikiLink.'\|'.g:vimwiki_rxWeblink, '')
|
||||||
endfunction
|
endfunction
|
||||||
" }}}
|
" }}}
|
||||||
|
|
||||||
function! vimwiki#WikiPrevWord() "{{{
|
function! vimwiki#find_prev_link() "{{{
|
||||||
call s:search_word(g:vimwiki_rxWikiLink.'\|'.g:vimwiki_rxWeblink, 'b')
|
call s:search_word(g:vimwiki_rxWikiLink.'\|'.g:vimwiki_rxWeblink, 'b')
|
||||||
endfunction
|
endfunction
|
||||||
" }}}
|
" }}}
|
||||||
|
|
||||||
function! vimwiki#WikiFollowWord(split) "{{{
|
function! vimwiki#follow_link(split) "{{{
|
||||||
if a:split == "split"
|
if a:split == "split"
|
||||||
let cmd = ":split "
|
let cmd = ":split "
|
||||||
elseif a:split == "vsplit"
|
elseif a:split == "vsplit"
|
||||||
@ -486,7 +635,7 @@ function! vimwiki#WikiFollowWord(split) "{{{
|
|||||||
if link == ""
|
if link == ""
|
||||||
let weblink = s:strip_word(s:get_word_at_cursor(g:vimwiki_rxWeblink))
|
let weblink = s:strip_word(s:get_word_at_cursor(g:vimwiki_rxWeblink))
|
||||||
if weblink != ""
|
if weblink != ""
|
||||||
call VimwikiWeblinkHandler(weblink)
|
call VimwikiWeblinkHandler(escape(weblink, '#'))
|
||||||
else
|
else
|
||||||
execute "normal! \n"
|
execute "normal! \n"
|
||||||
endif
|
endif
|
||||||
@ -496,20 +645,18 @@ function! vimwiki#WikiFollowWord(split) "{{{
|
|||||||
let subdir = vimwiki#current_subdir()
|
let subdir = vimwiki#current_subdir()
|
||||||
call vimwiki#open_link(cmd, subdir.link)
|
call vimwiki#open_link(cmd, subdir.link)
|
||||||
|
|
||||||
endfunction
|
endfunction " }}}
|
||||||
" }}}
|
|
||||||
|
|
||||||
function! vimwiki#WikiGoBackWord() "{{{
|
function! vimwiki#go_back_link() "{{{
|
||||||
if exists("b:vimwiki_prev_link")
|
if exists("b:vimwiki_prev_link")
|
||||||
" go back to saved WikiWord
|
" go back to saved WikiWord
|
||||||
let prev_word = b:vimwiki_prev_link
|
let prev_word = b:vimwiki_prev_link
|
||||||
execute ":e ".substitute(prev_word[0], '\s', '\\\0', 'g')
|
execute ":e ".substitute(prev_word[0], '\s', '\\\0', 'g')
|
||||||
call setpos('.', prev_word[1])
|
call setpos('.', prev_word[1])
|
||||||
endif
|
endif
|
||||||
endfunction
|
endfunction " }}}
|
||||||
" }}}
|
|
||||||
|
|
||||||
function! vimwiki#WikiGoHome(index) "{{{
|
function! vimwiki#goto_index(index) "{{{
|
||||||
call vimwiki#select(a:index)
|
call vimwiki#select(a:index)
|
||||||
call vimwiki#mkdir(VimwikiGet('path'))
|
call vimwiki#mkdir(VimwikiGet('path'))
|
||||||
|
|
||||||
@ -517,17 +664,15 @@ function! vimwiki#WikiGoHome(index) "{{{
|
|||||||
execute ':e '.fnameescape(
|
execute ':e '.fnameescape(
|
||||||
\ VimwikiGet('path').VimwikiGet('index').VimwikiGet('ext'))
|
\ VimwikiGet('path').VimwikiGet('index').VimwikiGet('ext'))
|
||||||
catch /E37/ " catch 'No write since last change' error
|
catch /E37/ " catch 'No write since last change' error
|
||||||
" this is really unsecure!!!
|
execute ':split '.
|
||||||
execute ':'.VimwikiGet('gohome').' '.
|
|
||||||
\ VimwikiGet('path').
|
\ VimwikiGet('path').
|
||||||
\ VimwikiGet('index').
|
\ VimwikiGet('index').
|
||||||
\ VimwikiGet('ext')
|
\ VimwikiGet('ext')
|
||||||
catch /E325/ " catch 'ATTENTION' error (:h E325)
|
catch /E325/ " catch 'ATTENTION' error (:h E325)
|
||||||
endtry
|
endtry
|
||||||
endfunction
|
endfunction "}}}
|
||||||
"}}}
|
|
||||||
|
|
||||||
function! vimwiki#WikiDeleteWord() "{{{
|
function! vimwiki#delete_link() "{{{
|
||||||
"" file system funcs
|
"" file system funcs
|
||||||
"" Delete WikiWord you are in from filesystem
|
"" Delete WikiWord you are in from filesystem
|
||||||
let val = input('Delete ['.expand('%').'] (y/n)? ', "")
|
let val = input('Delete ['.expand('%').'] (y/n)? ', "")
|
||||||
@ -547,10 +692,9 @@ function! vimwiki#WikiDeleteWord() "{{{
|
|||||||
if expand('%:p') != ""
|
if expand('%:p') != ""
|
||||||
execute "e"
|
execute "e"
|
||||||
endif
|
endif
|
||||||
endfunction
|
endfunction "}}}
|
||||||
"}}}
|
|
||||||
|
|
||||||
function! vimwiki#WikiRenameWord() "{{{
|
function! vimwiki#rename_link() "{{{
|
||||||
"" Rename WikiWord, update all links to renamed WikiWord
|
"" Rename WikiWord, update all links to renamed WikiWord
|
||||||
let subdir = vimwiki#current_subdir()
|
let subdir = vimwiki#current_subdir()
|
||||||
let old_fname = subdir.expand('%:t')
|
let old_fname = subdir.expand('%:t')
|
||||||
@ -575,18 +719,17 @@ function! vimwiki#WikiRenameWord() "{{{
|
|||||||
return
|
return
|
||||||
endif
|
endif
|
||||||
|
|
||||||
let new_link = subdir.new_link
|
|
||||||
|
|
||||||
" check new_fname - it should be 'good', not empty
|
" check new_fname - it should be 'good', not empty
|
||||||
if substitute(new_link, '\s', '', 'g') == ''
|
if substitute(new_link, '\s', '', 'g') == ''
|
||||||
echomsg 'vimwiki: Cannot rename to an empty filename!'
|
echomsg 'vimwiki: Cannot rename to an empty filename!'
|
||||||
return
|
return
|
||||||
endif
|
endif
|
||||||
if s:is_link_to_non_wiki_file(new_link)
|
if vimwiki#is_non_wiki_link(new_link)
|
||||||
echomsg 'vimwiki: Cannot rename to a filename with extension (ie .txt .html)!'
|
echomsg 'vimwiki: Cannot rename to a filename with extension (ie .txt .html)!'
|
||||||
return
|
return
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
let new_link = subdir.new_link
|
||||||
let new_link = s:strip_word(new_link)
|
let new_link = s:strip_word(new_link)
|
||||||
let new_fname = VimwikiGet('path').s:filename(new_link).VimwikiGet('ext')
|
let new_fname = VimwikiGet('path').s:filename(new_link).VimwikiGet('ext')
|
||||||
|
|
||||||
@ -649,16 +792,15 @@ function! vimwiki#WikiRenameWord() "{{{
|
|||||||
echomsg old_fname." is renamed to ".new_fname
|
echomsg old_fname." is renamed to ".new_fname
|
||||||
|
|
||||||
let &more = setting_more
|
let &more = setting_more
|
||||||
endfunction
|
endfunction " }}}
|
||||||
" }}}
|
|
||||||
|
|
||||||
function! vimwiki#WikiUISelect()"{{{
|
function! vimwiki#ui_select()"{{{
|
||||||
call s:print_wiki_list()
|
call s:print_wiki_list()
|
||||||
let idx = input("Select Wiki (specify number): ")
|
let idx = input("Select Wiki (specify number): ")
|
||||||
if idx == ""
|
if idx == ""
|
||||||
return
|
return
|
||||||
endif
|
endif
|
||||||
call vimwiki#WikiGoHome(idx)
|
call vimwiki#goto_index(idx)
|
||||||
endfunction
|
endfunction
|
||||||
"}}}
|
"}}}
|
||||||
|
|
||||||
|
@ -62,7 +62,7 @@ function! s:get_diary_range(lines, header) "{{{
|
|||||||
let idx += 1
|
let idx += 1
|
||||||
endfor
|
endfor
|
||||||
|
|
||||||
let ln_end = idx - 1
|
let ln_end = idx
|
||||||
return [ln_start, ln_end]
|
return [ln_start, ln_end]
|
||||||
endfunction "}}}
|
endfunction "}}}
|
||||||
|
|
||||||
@ -99,10 +99,24 @@ function! s:get_links() "{{{
|
|||||||
call map(links, 'fnamemodify(v:val, ":t")')
|
call map(links, 'fnamemodify(v:val, ":t")')
|
||||||
|
|
||||||
call filter(links, 'v:val =~ "'.escape(rx, '\').'"')
|
call filter(links, 'v:val =~ "'.escape(rx, '\').'"')
|
||||||
call map(links, '"[[".v:val."]]"')
|
|
||||||
return links
|
return links
|
||||||
endfunction "}}}
|
endfunction "}}}
|
||||||
|
|
||||||
|
function! s:get_position_links(link) "{{{
|
||||||
|
let idx = -1
|
||||||
|
let links = []
|
||||||
|
if a:link =~ '\d\{4}-\d\d-\d\d'
|
||||||
|
let links = s:get_links()
|
||||||
|
" include 'today' into links
|
||||||
|
if index(links, s:diary_date_link()) == -1
|
||||||
|
call add(links, s:diary_date_link())
|
||||||
|
endif
|
||||||
|
call sort(links)
|
||||||
|
let idx = index(links, a:link)
|
||||||
|
endif
|
||||||
|
return [idx, links]
|
||||||
|
endfunction "}}}
|
||||||
|
|
||||||
function! s:format_links(links) "{{{
|
function! s:format_links(links) "{{{
|
||||||
let lines = []
|
let lines = []
|
||||||
let line = '| '
|
let line = '| '
|
||||||
@ -137,6 +151,7 @@ function! s:add_link(page, header, link) "{{{
|
|||||||
if ln_start == -1
|
if ln_start == -1
|
||||||
call insert(lines, '= '.a:header.' =')
|
call insert(lines, '= '.a:header.' =')
|
||||||
let ln_start = 1
|
let ln_start = 1
|
||||||
|
let ln_end = 1
|
||||||
endif
|
endif
|
||||||
|
|
||||||
" removing 'old' links
|
" removing 'old' links
|
||||||
@ -148,6 +163,7 @@ function! s:add_link(page, header, link) "{{{
|
|||||||
|
|
||||||
" get all diary links from filesystem
|
" get all diary links from filesystem
|
||||||
let links = s:get_links()
|
let links = s:get_links()
|
||||||
|
call map(links, '"[[".v:val."]]"')
|
||||||
|
|
||||||
" add current link
|
" add current link
|
||||||
if index(links, link) == -1
|
if index(links, link) == -1
|
||||||
@ -192,7 +208,7 @@ function! vimwiki_diary#make_note(index, ...) "{{{
|
|||||||
call vimwiki#open_link(':e ', link, s:diary_index())
|
call vimwiki#open_link(':e ', link, s:diary_index())
|
||||||
endfunction "}}}
|
endfunction "}}}
|
||||||
|
|
||||||
" Calendar.vim callback and sign functions.
|
" Calendar.vim callback function.
|
||||||
function! vimwiki_diary#calendar_action(day, month, year, week, dir) "{{{
|
function! vimwiki_diary#calendar_action(day, month, year, week, dir) "{{{
|
||||||
let day = s:prefix_zero(a:day)
|
let day = s:prefix_zero(a:day)
|
||||||
let month = s:prefix_zero(a:month)
|
let month = s:prefix_zero(a:month)
|
||||||
@ -213,8 +229,9 @@ function! vimwiki_diary#calendar_action(day, month, year, week, dir) "{{{
|
|||||||
|
|
||||||
" Create diary note for a selected date in default wiki.
|
" Create diary note for a selected date in default wiki.
|
||||||
call vimwiki_diary#make_note(1, link)
|
call vimwiki_diary#make_note(1, link)
|
||||||
endfunction
|
endfunction "}}}
|
||||||
|
|
||||||
|
" Calendar.vim sign function.
|
||||||
function vimwiki_diary#calendar_sign(day, month, year) "{{{
|
function vimwiki_diary#calendar_sign(day, month, year) "{{{
|
||||||
let day = s:prefix_zero(a:day)
|
let day = s:prefix_zero(a:day)
|
||||||
let month = s:prefix_zero(a:month)
|
let month = s:prefix_zero(a:month)
|
||||||
@ -222,3 +239,43 @@ function vimwiki_diary#calendar_sign(day, month, year) "{{{
|
|||||||
\ a:year.'-'.month.'-'.day.VimwikiGet('ext')
|
\ a:year.'-'.month.'-'.day.VimwikiGet('ext')
|
||||||
return filereadable(expand(sfile))
|
return filereadable(expand(sfile))
|
||||||
endfunction "}}}
|
endfunction "}}}
|
||||||
|
|
||||||
|
function! vimwiki_diary#goto_next_day() "{{{
|
||||||
|
let link = ''
|
||||||
|
let [idx, links] = s:get_position_links(expand('%:t:r'))
|
||||||
|
|
||||||
|
if idx == (len(links) - 1)
|
||||||
|
return
|
||||||
|
endif
|
||||||
|
|
||||||
|
if idx != -1 && idx < len(links) - 1
|
||||||
|
let link = VimwikiGet('diary_rel_path').links[idx+1]
|
||||||
|
else
|
||||||
|
" goto today
|
||||||
|
let link = VimwikiGet('diary_rel_path').s:diary_date_link()
|
||||||
|
endif
|
||||||
|
|
||||||
|
if len(link)
|
||||||
|
call vimwiki#open_link(':e ', link)
|
||||||
|
endif
|
||||||
|
endfunction "}}}
|
||||||
|
|
||||||
|
function! vimwiki_diary#goto_prev_day() "{{{
|
||||||
|
let link = ''
|
||||||
|
let [idx, links] = s:get_position_links(expand('%:t:r'))
|
||||||
|
|
||||||
|
if idx == 0
|
||||||
|
return
|
||||||
|
endif
|
||||||
|
|
||||||
|
if idx > 0
|
||||||
|
let link = VimwikiGet('diary_rel_path').links[idx-1]
|
||||||
|
else
|
||||||
|
" goto today
|
||||||
|
let link = VimwikiGet('diary_rel_path').s:diary_date_link()
|
||||||
|
endif
|
||||||
|
|
||||||
|
if len(link)
|
||||||
|
call vimwiki#open_link(':e ', link)
|
||||||
|
endif
|
||||||
|
endfunction "}}}
|
||||||
|
@ -48,14 +48,6 @@ function! s:is_img_link(lnk) "{{{
|
|||||||
return 0
|
return 0
|
||||||
endfunction "}}}
|
endfunction "}}}
|
||||||
|
|
||||||
function! s:is_non_wiki_link(lnk) "{{{
|
|
||||||
" TODO: Add more file extensions here
|
|
||||||
if a:lnk =~ '.\+\.\%(pdf\|txt\|doc\|rtf\|xls\)$'
|
|
||||||
return 1
|
|
||||||
endif
|
|
||||||
return 0
|
|
||||||
endfunction "}}}
|
|
||||||
|
|
||||||
function! s:has_abs_path(fname) "{{{
|
function! s:has_abs_path(fname) "{{{
|
||||||
if a:fname =~ '\(^.:\)\|\(^/\)'
|
if a:fname =~ '\(^.:\)\|\(^/\)'
|
||||||
return 1
|
return 1
|
||||||
@ -102,15 +94,13 @@ function! s:create_default_CSS(path) " {{{
|
|||||||
endif
|
endif
|
||||||
endfunction "}}}
|
endfunction "}}}
|
||||||
|
|
||||||
function! s:get_html_header(wikifile, subdir, charset) "{{{
|
function! s:get_html_header(title, subdir, charset) "{{{
|
||||||
let lines=[]
|
let lines=[]
|
||||||
|
|
||||||
let title = fnamemodify(a:wikifile, ":t:r")
|
|
||||||
|
|
||||||
if VimwikiGet('html_header') != "" && !s:warn_html_header
|
if VimwikiGet('html_header') != "" && !s:warn_html_header
|
||||||
try
|
try
|
||||||
let lines = readfile(expand(VimwikiGet('html_header')))
|
let lines = readfile(expand(VimwikiGet('html_header')))
|
||||||
call map(lines, 'substitute(v:val, "%title%", "'. title .'", "g")')
|
call map(lines, 'substitute(v:val, "%title%", "'. a:title .'", "g")')
|
||||||
call map(lines, 'substitute(v:val, "%root_path%", "'.
|
call map(lines, 'substitute(v:val, "%root_path%", "'.
|
||||||
\ s:root_path(a:subdir) .'", "g")')
|
\ s:root_path(a:subdir) .'", "g")')
|
||||||
return lines
|
return lines
|
||||||
@ -134,7 +124,7 @@ function! s:get_html_header(wikifile, subdir, charset) "{{{
|
|||||||
call add(lines, '<head>')
|
call add(lines, '<head>')
|
||||||
call add(lines, '<link rel="Stylesheet" type="text/css" href="'.
|
call add(lines, '<link rel="Stylesheet" type="text/css" href="'.
|
||||||
\ css_name.'" />')
|
\ css_name.'" />')
|
||||||
call add(lines, '<title>'.title.'</title>')
|
call add(lines, '<title>'.a:title.'</title>')
|
||||||
call add(lines, '<meta http-equiv="Content-Type" content="text/html;'.
|
call add(lines, '<meta http-equiv="Content-Type" content="text/html;'.
|
||||||
\ ' charset='.a:charset.'" />')
|
\ ' charset='.a:charset.'" />')
|
||||||
call add(lines, '</head>')
|
call add(lines, '</head>')
|
||||||
@ -171,11 +161,13 @@ function! s:safe_html(line) "{{{
|
|||||||
|
|
||||||
let line = substitute(a:line, '&', '\&', 'g')
|
let line = substitute(a:line, '&', '\&', 'g')
|
||||||
|
|
||||||
" let line = substitute(line, '<', '\<', 'g')
|
let tags = join(split(g:vimwiki_valid_html_tags, '\s*,\s*'), '\|')
|
||||||
" let line = substitute(line, '>', '\>', 'g')
|
let line = substitute(line,'<\%(/\?\%('
|
||||||
" XXX: I believe there should be a much nicer way to do it.
|
\.tags.'\)\%(\s\{-1}\S\{-}\)\{-}/\?>\)\@!',
|
||||||
let line = substitute(line, '<\(br\|hr\)\@!', '\<', 'g')
|
\'\<', 'g')
|
||||||
let line = substitute(line, '\(\(br\|hr\)\s*/\?\)\@<!>', '\>', 'g')
|
let line = substitute(line,'\%(</\?\%('
|
||||||
|
\.tags.'\)\%(\s\{-1}\S\{-}\)\{-}/\?\)\@<!>',
|
||||||
|
\'\>', 'g')
|
||||||
return line
|
return line
|
||||||
endfunction "}}}
|
endfunction "}}}
|
||||||
|
|
||||||
@ -299,23 +291,36 @@ function! s:get_html_toc(toc_list) "{{{
|
|||||||
return toc
|
return toc
|
||||||
endfunction "}}}
|
endfunction "}}}
|
||||||
|
|
||||||
" insert placeholder's contents into dest.
|
" insert toc into dest.
|
||||||
function! s:process_placeholders(dest, placeholders, type, ins_content) "{{{
|
function! s:process_toc(dest, placeholders, toc) "{{{
|
||||||
if !empty(a:placeholders)
|
if !empty(a:placeholders)
|
||||||
for [placeholder, row, idx] in a:placeholders
|
for [placeholder, row, idx] in a:placeholders
|
||||||
let [type, param] = placeholder
|
let [type, param] = placeholder
|
||||||
if type == a:type
|
if type == 'toc'
|
||||||
let ins_content = a:ins_content[:]
|
let toc = a:toc[:]
|
||||||
if !empty(param)
|
if !empty(param)
|
||||||
call insert(ins_content, '<h1>'.param.'</h1>')
|
call insert(toc, '<h1>'.param.'</h1>')
|
||||||
endif
|
endif
|
||||||
let shift = idx * len(ins_content)
|
let shift = idx * len(toc)
|
||||||
call extend(a:dest, ins_content, row + shift)
|
call extend(a:dest, toc, row + shift)
|
||||||
endif
|
endif
|
||||||
endfor
|
endfor
|
||||||
endif
|
endif
|
||||||
endfunction "}}}
|
endfunction "}}}
|
||||||
|
|
||||||
|
" get title.
|
||||||
|
function! s:process_title(placeholders, default_title) "{{{
|
||||||
|
if !empty(a:placeholders)
|
||||||
|
for [placeholder, row, idx] in a:placeholders
|
||||||
|
let [type, param] = placeholder
|
||||||
|
if type == 'title' && !empty(param)
|
||||||
|
return param
|
||||||
|
endif
|
||||||
|
endfor
|
||||||
|
endif
|
||||||
|
return a:default_title
|
||||||
|
endfunction "}}}
|
||||||
|
|
||||||
"}}}
|
"}}}
|
||||||
|
|
||||||
" INLINE TAGS "{{{
|
" INLINE TAGS "{{{
|
||||||
@ -371,7 +376,7 @@ function! s:tag_internal_link(value) "{{{
|
|||||||
if s:is_img_link(a:caption)
|
if s:is_img_link(a:caption)
|
||||||
let link = '<a href="'.a:src.'"><img src="'.a:caption.'"'.style_str.' />'.
|
let link = '<a href="'.a:src.'"><img src="'.a:caption.'"'.style_str.' />'.
|
||||||
\ '</a>'
|
\ '</a>'
|
||||||
elseif s:is_non_wiki_link(a:src)
|
elseif vimwiki#is_non_wiki_link(a:src)
|
||||||
let link = '<a href="'.a:src.'">'.a:caption.'</a>'
|
let link = '<a href="'.a:src.'">'.a:caption.'</a>'
|
||||||
elseif s:is_img_link(a:src)
|
elseif s:is_img_link(a:src)
|
||||||
let link = '<img src="'.a:src.'" alt="'.a:caption.'"'. style_str.' />'
|
let link = '<img src="'.a:src.'" alt="'.a:caption.'"'. style_str.' />'
|
||||||
@ -592,8 +597,8 @@ endfunction " }}}
|
|||||||
|
|
||||||
" BLOCK TAGS {{{
|
" BLOCK TAGS {{{
|
||||||
function! s:close_tag_pre(pre, ldest) "{{{
|
function! s:close_tag_pre(pre, ldest) "{{{
|
||||||
if a:pre
|
if a:pre[0]
|
||||||
call insert(a:ldest, "</pre></code>")
|
call insert(a:ldest, "</pre>")
|
||||||
return 0
|
return 0
|
||||||
endif
|
endif
|
||||||
return a:pre
|
return a:pre
|
||||||
@ -671,8 +676,8 @@ endfunction "}}}
|
|||||||
|
|
||||||
function! s:close_tag_list(lists, ldest) "{{{
|
function! s:close_tag_list(lists, ldest) "{{{
|
||||||
while len(a:lists)
|
while len(a:lists)
|
||||||
let item = remove(a:lists, -1)
|
let item = remove(a:lists, 0)
|
||||||
call add(a:ldest, item[0])
|
call insert(a:ldest, item[0])
|
||||||
endwhile
|
endwhile
|
||||||
endfunction! "}}}
|
endfunction! "}}}
|
||||||
|
|
||||||
@ -685,10 +690,11 @@ function! s:close_tag_def_list(deflist, ldest) "{{{
|
|||||||
endfunction! "}}}
|
endfunction! "}}}
|
||||||
|
|
||||||
function! s:process_tag_pre(line, pre) "{{{
|
function! s:process_tag_pre(line, pre) "{{{
|
||||||
|
" pre is the list of [is_in_pre, indent_of_pre]
|
||||||
let lines = []
|
let lines = []
|
||||||
let pre = a:pre
|
let pre = a:pre
|
||||||
let processed = 0
|
let processed = 0
|
||||||
if !pre && a:line =~ '{{{[^\(}}}\)]*\s*$'
|
if !pre[0] && a:line =~ '^\s*{{{[^\(}}}\)]*\s*$'
|
||||||
let class = matchstr(a:line, '{{{\zs.*$')
|
let class = matchstr(a:line, '{{{\zs.*$')
|
||||||
let class = substitute(class, '\s\+$', '', 'g')
|
let class = substitute(class, '\s\+$', '', 'g')
|
||||||
if class != ""
|
if class != ""
|
||||||
@ -696,15 +702,15 @@ function! s:process_tag_pre(line, pre) "{{{
|
|||||||
else
|
else
|
||||||
call add(lines, "<pre>")
|
call add(lines, "<pre>")
|
||||||
endif
|
endif
|
||||||
let pre = 1
|
let pre = [1, len(matchstr(a:line, '^\s*\ze{{{'))]
|
||||||
let processed = 1
|
let processed = 1
|
||||||
elseif pre && a:line =~ '^}}}\s*$'
|
elseif pre[0] && a:line =~ '^\s*}}}\s*$'
|
||||||
let pre = 0
|
let pre = [0, 0]
|
||||||
call add(lines, "</pre>")
|
call add(lines, "</pre>")
|
||||||
let processed = 1
|
let processed = 1
|
||||||
elseif pre
|
elseif pre[0]
|
||||||
let processed = 1
|
let processed = 1
|
||||||
call add(lines, a:line)
|
call add(lines, substitute(a:line, '^\s\{'.pre[1].'}', '', ''))
|
||||||
endif
|
endif
|
||||||
return [processed, lines, pre]
|
return [processed, lines, pre]
|
||||||
endfunction "}}}
|
endfunction "}}}
|
||||||
@ -713,7 +719,6 @@ function! s:process_tag_quote(line, quote) "{{{
|
|||||||
let lines = []
|
let lines = []
|
||||||
let quote = a:quote
|
let quote = a:quote
|
||||||
let processed = 0
|
let processed = 0
|
||||||
" if a:line =~ '^\s\{4,}[^[:blank:]*#]'
|
|
||||||
if a:line =~ '^\s\{4,}\S'
|
if a:line =~ '^\s\{4,}\S'
|
||||||
if !quote
|
if !quote
|
||||||
call add(lines, "<blockquote>")
|
call add(lines, "<blockquote>")
|
||||||
@ -721,9 +726,6 @@ function! s:process_tag_quote(line, quote) "{{{
|
|||||||
endif
|
endif
|
||||||
let processed = 1
|
let processed = 1
|
||||||
call add(lines, substitute(a:line, '^\s*', '', ''))
|
call add(lines, substitute(a:line, '^\s*', '', ''))
|
||||||
elseif quote && a:line =~ '^\s*$'
|
|
||||||
let processed = 1
|
|
||||||
call add(lines, a:line)
|
|
||||||
elseif quote
|
elseif quote
|
||||||
call add(lines, "</blockquote>")
|
call add(lines, "</blockquote>")
|
||||||
let quote = 0
|
let quote = 0
|
||||||
@ -987,12 +989,14 @@ endfunction "}}}
|
|||||||
|
|
||||||
"}}}
|
"}}}
|
||||||
|
|
||||||
|
" }}}
|
||||||
|
|
||||||
" WIKI2HTML "{{{
|
" WIKI2HTML "{{{
|
||||||
function! s:parse_line(line, state) " {{{
|
function! s:parse_line(line, state) " {{{
|
||||||
let state = {}
|
let state = {}
|
||||||
let state.para = a:state.para
|
let state.para = a:state.para
|
||||||
let state.quote = a:state.quote
|
let state.quote = a:state.quote
|
||||||
let state.pre = a:state.pre
|
let state.pre = a:state.pre[:]
|
||||||
let state.table = a:state.table[:]
|
let state.table = a:state.table[:]
|
||||||
let state.lists = a:state.lists[:]
|
let state.lists = a:state.lists[:]
|
||||||
let state.deflist = a:state.deflist
|
let state.deflist = a:state.deflist
|
||||||
@ -1014,6 +1018,15 @@ function! s:parse_line(line, state) " {{{
|
|||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
" title -- placeholder
|
||||||
|
if !processed
|
||||||
|
if line =~ '^\s*%title'
|
||||||
|
let processed = 1
|
||||||
|
let param = matchstr(line, '^\s*%title\s\zs.*')
|
||||||
|
let state.placeholder = ['title', param]
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
" toc -- placeholder "{{{
|
" toc -- placeholder "{{{
|
||||||
if !processed
|
if !processed
|
||||||
if line =~ '^\s*%toc'
|
if line =~ '^\s*%toc'
|
||||||
@ -1027,9 +1040,10 @@ function! s:parse_line(line, state) " {{{
|
|||||||
" pres "{{{
|
" pres "{{{
|
||||||
if !processed
|
if !processed
|
||||||
let [processed, lines, state.pre] = s:process_tag_pre(line, state.pre)
|
let [processed, lines, state.pre] = s:process_tag_pre(line, state.pre)
|
||||||
if processed && len(state.lists)
|
" pre is just fine to be in the list -- do not close list item here.
|
||||||
call s:close_tag_list(state.lists, lines)
|
" if processed && len(state.lists)
|
||||||
endif
|
" call s:close_tag_list(state.lists, lines)
|
||||||
|
" endif
|
||||||
if processed && len(state.table)
|
if processed && len(state.table)
|
||||||
let state.table = s:close_tag_table(state.table, lines)
|
let state.table = s:close_tag_table(state.table, lines)
|
||||||
endif
|
endif
|
||||||
@ -1052,7 +1066,7 @@ function! s:parse_line(line, state) " {{{
|
|||||||
if processed && state.quote
|
if processed && state.quote
|
||||||
let state.quote = s:close_tag_quote(state.quote, lines)
|
let state.quote = s:close_tag_quote(state.quote, lines)
|
||||||
endif
|
endif
|
||||||
if processed && state.pre
|
if processed && state.pre[0]
|
||||||
let state.pre = s:close_tag_pre(state.pre, lines)
|
let state.pre = s:close_tag_pre(state.pre, lines)
|
||||||
endif
|
endif
|
||||||
if processed && len(state.table)
|
if processed && len(state.table)
|
||||||
@ -1109,7 +1123,7 @@ function! s:parse_line(line, state) " {{{
|
|||||||
if processed && len(state.table)
|
if processed && len(state.table)
|
||||||
let state.table = s:close_tag_table(state.table, lines)
|
let state.table = s:close_tag_table(state.table, lines)
|
||||||
endif
|
endif
|
||||||
if processed && state.pre
|
if processed && state.pre[0]
|
||||||
let state.pre = s:close_tag_pre(state.pre, lines)
|
let state.pre = s:close_tag_pre(state.pre, lines)
|
||||||
endif
|
endif
|
||||||
if processed && state.para
|
if processed && state.para
|
||||||
@ -1153,7 +1167,7 @@ function! s:parse_line(line, state) " {{{
|
|||||||
if processed && state.quote
|
if processed && state.quote
|
||||||
let state.quote = s:close_tag_quote(state.quote, res_lines)
|
let state.quote = s:close_tag_quote(state.quote, res_lines)
|
||||||
endif
|
endif
|
||||||
if processed && state.pre
|
if processed && state.pre[0]
|
||||||
let state.pre = s:close_tag_pre(state.pre, res_lines)
|
let state.pre = s:close_tag_pre(state.pre, res_lines)
|
||||||
endif
|
endif
|
||||||
if processed && len(state.table)
|
if processed && len(state.table)
|
||||||
@ -1186,7 +1200,7 @@ function! vimwiki_html#Wiki2HTML(path, wikifile) "{{{
|
|||||||
let subdir = vimwiki#subdir(VimwikiGet('path'), wikifile)
|
let subdir = vimwiki#subdir(VimwikiGet('path'), wikifile)
|
||||||
|
|
||||||
let lsource = s:remove_comments(readfile(wikifile))
|
let lsource = s:remove_comments(readfile(wikifile))
|
||||||
let ldest = s:get_html_header(wikifile, subdir, &fileencoding)
|
let ldest = []
|
||||||
|
|
||||||
let path = expand(a:path).subdir
|
let path = expand(a:path).subdir
|
||||||
call vimwiki#mkdir(path)
|
call vimwiki#mkdir(path)
|
||||||
@ -1201,7 +1215,7 @@ function! vimwiki_html#Wiki2HTML(path, wikifile) "{{{
|
|||||||
let state = {}
|
let state = {}
|
||||||
let state.para = 0
|
let state.para = 0
|
||||||
let state.quote = 0
|
let state.quote = 0
|
||||||
let state.pre = 0
|
let state.pre = [0, 0] " [in_pre, indent_pre]
|
||||||
let state.table = []
|
let state.table = []
|
||||||
let state.deflist = 0
|
let state.deflist = 0
|
||||||
let state.lists = []
|
let state.lists = []
|
||||||
@ -1236,8 +1250,7 @@ function! vimwiki_html#Wiki2HTML(path, wikifile) "{{{
|
|||||||
|
|
||||||
if !nohtml
|
if !nohtml
|
||||||
let toc = s:get_html_toc(state.toc)
|
let toc = s:get_html_toc(state.toc)
|
||||||
call s:process_placeholders(ldest, placeholders, 'toc', toc)
|
call s:process_toc(ldest, placeholders, toc)
|
||||||
|
|
||||||
call s:remove_blank_lines(ldest)
|
call s:remove_blank_lines(ldest)
|
||||||
|
|
||||||
"" process end of file
|
"" process end of file
|
||||||
@ -1251,6 +1264,8 @@ function! vimwiki_html#Wiki2HTML(path, wikifile) "{{{
|
|||||||
call s:close_tag_table(state.table, lines)
|
call s:close_tag_table(state.table, lines)
|
||||||
call extend(ldest, lines)
|
call extend(ldest, lines)
|
||||||
|
|
||||||
|
let title = s:process_title(placeholders, fnamemodify(a:wikifile, ":t:r"))
|
||||||
|
call extend(ldest, s:get_html_header(title, subdir, &fileencoding), 0)
|
||||||
call extend(ldest, s:get_html_footer())
|
call extend(ldest, s:get_html_footer())
|
||||||
|
|
||||||
"" make html file.
|
"" make html file.
|
||||||
@ -1266,9 +1281,12 @@ function! vimwiki_html#WikiAll2HTML(path) "{{{
|
|||||||
endif
|
endif
|
||||||
|
|
||||||
echomsg 'Saving vimwiki files...'
|
echomsg 'Saving vimwiki files...'
|
||||||
|
let save_eventignore = &eventignore
|
||||||
|
let &eventignore = "all"
|
||||||
let cur_buf = bufname('%')
|
let cur_buf = bufname('%')
|
||||||
bufdo call s:save_vimwiki_buffer()
|
bufdo call s:save_vimwiki_buffer()
|
||||||
exe 'buffer '.cur_buf
|
exe 'buffer '.cur_buf
|
||||||
|
let &eventignore = save_eventignore
|
||||||
|
|
||||||
let path = expand(a:path)
|
let path = expand(a:path)
|
||||||
call vimwiki#mkdir(path)
|
call vimwiki#mkdir(path)
|
||||||
|
@ -40,7 +40,6 @@ endfunction "}}}
|
|||||||
|
|
||||||
" Get regexp of the list item with checkbox.
|
" Get regexp of the list item with checkbox.
|
||||||
function! s:rx_cb_list_item() "{{{
|
function! s:rx_cb_list_item() "{{{
|
||||||
" return s:rx_list_item().'\s*\zs\[.\?\]'
|
|
||||||
return s:rx_list_item().'\s*\zs\[.\?\]'
|
return s:rx_list_item().'\s*\zs\[.\?\]'
|
||||||
endfunction "}}}
|
endfunction "}}}
|
||||||
|
|
||||||
@ -182,9 +181,7 @@ function! s:get_sibling_items(lnum) "{{{
|
|||||||
let lnum = a:lnum
|
let lnum = a:lnum
|
||||||
let ind = s:get_level(lnum)
|
let ind = s:get_level(lnum)
|
||||||
|
|
||||||
while s:get_level(lnum) >= ind &&
|
while lnum != 0 && s:get_level(lnum) >= ind
|
||||||
\ lnum != 0
|
|
||||||
|
|
||||||
if s:get_level(lnum) == ind && s:is_cb_list_item(lnum)
|
if s:get_level(lnum) == ind && s:is_cb_list_item(lnum)
|
||||||
call add(result, lnum)
|
call add(result, lnum)
|
||||||
endif
|
endif
|
||||||
@ -192,9 +189,7 @@ function! s:get_sibling_items(lnum) "{{{
|
|||||||
endwhile
|
endwhile
|
||||||
|
|
||||||
let lnum = s:prev_list_item(a:lnum)
|
let lnum = s:prev_list_item(a:lnum)
|
||||||
while s:get_level(lnum) >= ind &&
|
while lnum != 0 && s:get_level(lnum) >= ind
|
||||||
\ lnum != 0
|
|
||||||
|
|
||||||
if s:get_level(lnum) == ind && s:is_cb_list_item(lnum)
|
if s:get_level(lnum) == ind && s:is_cb_list_item(lnum)
|
||||||
call add(result, lnum)
|
call add(result, lnum)
|
||||||
endif
|
endif
|
||||||
@ -227,7 +222,7 @@ function! s:create_cb_list_item(lnum) "{{{
|
|||||||
let m = matchstr(line, s:rx_list_item())
|
let m = matchstr(line, s:rx_list_item())
|
||||||
if m != ''
|
if m != ''
|
||||||
let li_content = substitute(strpart(line, len(m)), '^\s*', '', '')
|
let li_content = substitute(strpart(line, len(m)), '^\s*', '', '')
|
||||||
let line = m.'[ ] '.li_content
|
let line = substitute(m, '\s*$', ' ', '').'[ ] '.li_content
|
||||||
call setline(a:lnum, line)
|
call setline(a:lnum, line)
|
||||||
endif
|
endif
|
||||||
endfunction "}}}
|
endfunction "}}}
|
||||||
@ -321,7 +316,7 @@ function! vimwiki_lst#ToggleListItem(line1, line2) "{{{
|
|||||||
|
|
||||||
endfunction "}}}
|
endfunction "}}}
|
||||||
|
|
||||||
function! vimwiki_lst#insertCR() "{{{
|
function! vimwiki_lst#kbd_cr() "{{{
|
||||||
" This function is heavily relies on proper 'set comments' option.
|
" This function is heavily relies on proper 'set comments' option.
|
||||||
let cr = "\<CR>"
|
let cr = "\<CR>"
|
||||||
if getline('.') =~ s:rx_cb_list_item()
|
if getline('.') =~ s:rx_cb_list_item()
|
||||||
@ -330,7 +325,7 @@ function! vimwiki_lst#insertCR() "{{{
|
|||||||
return cr
|
return cr
|
||||||
endfunction "}}}
|
endfunction "}}}
|
||||||
|
|
||||||
function! vimwiki_lst#insertOo(cmd) "{{{
|
function! vimwiki_lst#kbd_oO(cmd) "{{{
|
||||||
" cmd should be 'o' or 'O'
|
" cmd should be 'o' or 'O'
|
||||||
|
|
||||||
let beg_lnum = foldclosed('.')
|
let beg_lnum = foldclosed('.')
|
||||||
@ -343,11 +338,13 @@ function! vimwiki_lst#insertOo(cmd) "{{{
|
|||||||
let lnum = line('.')
|
let lnum = line('.')
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
" let line = substitute(m, '\s*$', ' ', '').'[ ] '.li_content
|
||||||
|
let m = matchstr(line, s:rx_list_item())
|
||||||
let res = ''
|
let res = ''
|
||||||
if line =~ s:rx_cb_list_item()
|
if line =~ s:rx_cb_list_item()
|
||||||
let res = matchstr(line, s:rx_list_item()).'[ ] '
|
let res = substitute(m, '\s*$', ' ', '').'[ ] '
|
||||||
elseif line =~ s:rx_list_item()
|
elseif line =~ s:rx_list_item()
|
||||||
let res = matchstr(line, s:rx_list_item())
|
let res = substitute(m, '\s*$', ' ', '')
|
||||||
elseif &autoindent || &smartindent
|
elseif &autoindent || &smartindent
|
||||||
let res = matchstr(line, '^\s*')
|
let res = matchstr(line, '^\s*')
|
||||||
endif
|
endif
|
||||||
|
@ -19,6 +19,12 @@ let s:textwidth = &tw
|
|||||||
|
|
||||||
" Misc functions {{{
|
" Misc functions {{{
|
||||||
function! s:wide_len(str) "{{{
|
function! s:wide_len(str) "{{{
|
||||||
|
" vim73 has new function that gives correct string width.
|
||||||
|
if exists("*strdisplaywidth")
|
||||||
|
return strdisplaywidth(a:str)
|
||||||
|
endif
|
||||||
|
|
||||||
|
" get str display width in vim ver < 7.2
|
||||||
if !g:vimwiki_CJK_length
|
if !g:vimwiki_CJK_length
|
||||||
let ret = strlen(substitute(a:str, '.', 'x', 'g'))
|
let ret = strlen(substitute(a:str, '.', 'x', 'g'))
|
||||||
else
|
else
|
||||||
|
237
doc/vimwiki.txt
237
doc/vimwiki.txt
@ -9,7 +9,7 @@
|
|||||||
|___| |___| |_| |_||__| |__||___| |___| |_||___| ~
|
|___| |___| |_| |_||__| |__||___| |___| |_||___| ~
|
||||||
|
|
||||||
|
|
||||||
Version: 1.0
|
Version: 1.1
|
||||||
|
|
||||||
==============================================================================
|
==============================================================================
|
||||||
CONTENTS *vimwiki-contents*
|
CONTENTS *vimwiki-contents*
|
||||||
@ -97,7 +97,7 @@ There are global and local mappings in vimwiki.
|
|||||||
------------------------------------------------------------------------------
|
------------------------------------------------------------------------------
|
||||||
3.1. Global mappings *vimwiki-global-mappings*
|
3.1. Global mappings *vimwiki-global-mappings*
|
||||||
|
|
||||||
[count]<Leader>ww or <Plug>VimwikiGoHome
|
[count]<Leader>ww or <Plug>VimwikiIndex
|
||||||
Open index file of the [count]'s wiki.
|
Open index file of the [count]'s wiki.
|
||||||
|
|
||||||
<Leader>ww opens first wiki from |g:vimwiki_list|.
|
<Leader>ww opens first wiki from |g:vimwiki_list|.
|
||||||
@ -106,12 +106,12 @@ There are global and local mappings in vimwiki.
|
|||||||
3<Leader>ww opens third wiki from |g:vimwiki_list|.
|
3<Leader>ww opens third wiki from |g:vimwiki_list|.
|
||||||
etc.
|
etc.
|
||||||
To remap: >
|
To remap: >
|
||||||
:map <Leader>w <Plug>VimwikiGoHome
|
:map <Leader>w <Plug>VimwikiIndex
|
||||||
<
|
<
|
||||||
See also|:VimwikiGoHome|
|
See also |:VimwikiIndex|
|
||||||
|
|
||||||
|
|
||||||
[count]<Leader>wt or <Plug>VimwikiTabGoHome
|
[count]<Leader>wt or <Plug>VimwikiTabIndex
|
||||||
Open index file of the [count]'s wiki in a new tab.
|
Open index file of the [count]'s wiki in a new tab.
|
||||||
|
|
||||||
<Leader>wt tabopens first wiki from |g:vimwiki_list|.
|
<Leader>wt tabopens first wiki from |g:vimwiki_list|.
|
||||||
@ -120,9 +120,9 @@ See also|:VimwikiGoHome|
|
|||||||
3<Leader>wt tabopens third wiki from |g:vimwiki_list|.
|
3<Leader>wt tabopens third wiki from |g:vimwiki_list|.
|
||||||
etc.
|
etc.
|
||||||
To remap: >
|
To remap: >
|
||||||
:map <Leader>t <Plug>VimwikiTabGoHome
|
:map <Leader>t <Plug>VimwikiTabIndex
|
||||||
<
|
<
|
||||||
See also|:VimwikiTabGoHome|
|
See also |:VimwikiTabIndex|
|
||||||
|
|
||||||
|
|
||||||
<Leader>ws or <Plug>VimwikiUISelect
|
<Leader>ws or <Plug>VimwikiUISelect
|
||||||
@ -174,52 +174,52 @@ See also|:VimwikiTabMakeDiaryNote|
|
|||||||
|
|
||||||
NORMAL MODE *vimwiki-local-mappings*
|
NORMAL MODE *vimwiki-local-mappings*
|
||||||
*vimwiki_<CR>*
|
*vimwiki_<CR>*
|
||||||
<CR> Follow/Create WikiWord.
|
<CR> Follow/Create wiki link.
|
||||||
Maps to|:VimwikiFollowWord|.
|
Maps to |:VimwikiFollowLink|.
|
||||||
To remap: >
|
To remap: >
|
||||||
:map <Leader>wf <Plug>VimwikiFollowWord
|
:map <Leader>wf <Plug>VimwikiFollowLink
|
||||||
<
|
<
|
||||||
*vimwiki_<S-CR>*
|
*vimwiki_<S-CR>*
|
||||||
<S-CR> Split and follow/create WikiWord
|
<S-CR> Split and follow/create wiki link.
|
||||||
Maps to|:VimwikiSplitWord|.
|
Maps to |:VimwikiSplitLink|.
|
||||||
To remap: >
|
To remap: >
|
||||||
:map <Leader>we <Plug>VimwikiSplitWord
|
:map <Leader>we <Plug>VimwikiSplitLink
|
||||||
<
|
<
|
||||||
*vimwiki_<C-CR>*
|
*vimwiki_<C-CR>*
|
||||||
<C-CR> Vertical split and follow/create WikiWord
|
<C-CR> Vertical split and follow/create wiki link.
|
||||||
Maps to|:VimwikiVSplitWord|.
|
Maps to |:VimwikiVSplitLink|.
|
||||||
To remap: >
|
To remap: >
|
||||||
:map <Leader>wq <Plug>VimwikiVSplitWord
|
:map <Leader>wq <Plug>VimwikiVSplitLink
|
||||||
<
|
<
|
||||||
*vimwiki_<Backspace>*
|
*vimwiki_<Backspace>*
|
||||||
<Backspace> Go back to previous WikiWord
|
<Backspace> Go back to previous wiki link
|
||||||
Maps to|:VimwikiGoBackWord|.
|
Maps to |:VimwikiGoBackLink|.
|
||||||
To remap: >
|
To remap: >
|
||||||
:map <Leader>wb <Plug>VimwikiGoBackWord
|
:map <Leader>wb <Plug>VimwikiGoBackLink
|
||||||
<
|
<
|
||||||
*vimwiki_<Tab>*
|
*vimwiki_<Tab>*
|
||||||
<Tab> Find next WikiWord
|
<Tab> Find next wiki link.
|
||||||
Maps to|:VimwikiNextWord|.
|
Maps to |:VimwikiNextLink|.
|
||||||
To remap: >
|
To remap: >
|
||||||
:map <Leader>wn <Plug>VimwikiNextWord
|
:map <Leader>wn <Plug>VimwikiNextLink
|
||||||
<
|
<
|
||||||
*vimwiki_<S-Tab>*
|
*vimwiki_<S-Tab>*
|
||||||
<S-Tab> Find previous WikiWord
|
<S-Tab> Find previous wiki link.
|
||||||
Maps to|:VimwikiPrevWord|.
|
Maps to |:VimwikiPrevLink|.
|
||||||
To remap: >
|
To remap: >
|
||||||
:map <Leader>wp <Plug>VimwikiPrevWord
|
:map <Leader>wp <Plug>VimwikiPrevLink
|
||||||
<
|
<
|
||||||
*vimwiki_<Leader>wd*
|
*vimwiki_<Leader>wd*
|
||||||
<Leader>wd Delete WikiWord you are in.
|
<Leader>wd Delete wiki link you are in.
|
||||||
Maps to|:VimwikiDeleteWord|.
|
Maps to |:VimwikiDeleteLink|.
|
||||||
To remap: >
|
To remap: >
|
||||||
:map <Leader>dd <Plug>VimwikiDeleteWord
|
:map <Leader>dd <Plug>VimwikiDeleteLink
|
||||||
<
|
<
|
||||||
*vimwiki_<Leader>wr*
|
*vimwiki_<Leader>wr*
|
||||||
<Leader>wr Rename WikiWord you are in.
|
<Leader>wr Rename wiki link you are in.
|
||||||
Maps to|:VimwikiRenameWord|.
|
Maps to |:VimwikiRenameLink|.
|
||||||
To remap: >
|
To remap: >
|
||||||
:map <Leader>rr <Plug>VimwikiRenameWord
|
:map <Leader>rr <Plug>VimwikiRenameLink
|
||||||
<
|
<
|
||||||
*vimwiki_<C-Space>*
|
*vimwiki_<C-Space>*
|
||||||
<C-Space> Toggle list item on/off (checked/unchecked)
|
<C-Space> Toggle list item on/off (checked/unchecked)
|
||||||
@ -250,16 +250,23 @@ gww reformat it.
|
|||||||
<A-Right> Move current table column to the right.
|
<A-Right> Move current table column to the right.
|
||||||
See |:VimwikiTableMoveColumnRight|
|
See |:VimwikiTableMoveColumnRight|
|
||||||
|
|
||||||
|
*vimwiki_<C-Up>*
|
||||||
|
<C-Up> Open previous day diary link if available.
|
||||||
|
See |:VimwikiDiaryPrevDay|
|
||||||
|
|
||||||
|
*vimwiki_<C-Down>*
|
||||||
|
<C-Down> Open next day diary link if available.
|
||||||
|
See |:VimwikiDiaryNextDay|
|
||||||
|
|
||||||
|
|
||||||
Works only if |g:vimwiki_use_mouse| is set to 1.
|
Works only if |g:vimwiki_use_mouse| is set to 1.
|
||||||
<2-LeftMouse> Follow/Create WikiWord
|
<2-LeftMouse> Follow/Create wiki link.
|
||||||
|
|
||||||
<S-2-LeftMouse> Split and follow/create WikiWord
|
<S-2-LeftMouse> Split and follow/create wiki link.
|
||||||
|
|
||||||
<C-2-LeftMouse> Vertical split and follow/create WikiWord
|
<C-2-LeftMouse> Vertical split and follow/create wiki link.
|
||||||
|
|
||||||
<RightMouse><LeftMouse> Go back to previous WikiWord
|
<RightMouse><LeftMouse> Go back to previous wiki link.
|
||||||
|
|
||||||
Note: <2-LeftMouse> is just left double click.
|
Note: <2-LeftMouse> is just left double click.
|
||||||
|
|
||||||
@ -298,10 +305,10 @@ ic Inner column in a table.
|
|||||||
------------------------------------------------------------------------------
|
------------------------------------------------------------------------------
|
||||||
4.1. Global Commands *vimwiki-global-commands*
|
4.1. Global Commands *vimwiki-global-commands*
|
||||||
|
|
||||||
*:VimwikiGoHome*
|
*:VimwikiIndex*
|
||||||
Open index file of the current wiki.
|
Open index file of the current wiki.
|
||||||
|
|
||||||
*:VimwikiTabGoHome*
|
*:VimwikiTabIndex*
|
||||||
Open index file of the current wiki in a new tab.
|
Open index file of the current wiki in a new tab.
|
||||||
|
|
||||||
*:VimwikiUISelect*
|
*:VimwikiUISelect*
|
||||||
@ -316,36 +323,40 @@ ic Inner column in a table.
|
|||||||
------------------------------------------------------------------------------
|
------------------------------------------------------------------------------
|
||||||
4.2. Local commands *vimwiki-local-commands*
|
4.2. Local commands *vimwiki-local-commands*
|
||||||
|
|
||||||
*:VimwikiFollowWord*
|
*:VimwikiFollowLink*
|
||||||
Follow/create WikiWord.
|
Follow/create wiki link..
|
||||||
|
|
||||||
|
|
||||||
*:VimwikiGoBackWord*
|
*:VimwikiGoBackLink*
|
||||||
Go back to previous WikiWord you come from.
|
Go back to previous wiki link. you come from.
|
||||||
|
|
||||||
|
|
||||||
*:VimwikiSplitWord*
|
*:VimwikiSplitLink*
|
||||||
Split and follow/create WikiWord.
|
Split and follow/create wiki link..
|
||||||
|
|
||||||
|
|
||||||
*:VimwikiVSplitWord*
|
*:VimwikiVSplitLink*
|
||||||
Vertical split and follow/create WikiWord.
|
Vertical split and follow/create wiki link..
|
||||||
|
|
||||||
|
|
||||||
*:VimwikiNextWord*
|
*:VimwikiNextLink*
|
||||||
Find next WikiWord.
|
Find next wiki link..
|
||||||
|
|
||||||
|
|
||||||
*:VimwikiPrevWord*
|
*:VimwikiPrevLink*
|
||||||
Find previous WikiWord.
|
Find previous wiki link..
|
||||||
|
|
||||||
|
*:VimwikiGoto*
|
||||||
|
Goto link provided by an argument. For example: >
|
||||||
|
:VimwikiGoto HelloWorld
|
||||||
|
< opens opens/creates HelloWorld wiki page.
|
||||||
|
|
||||||
|
*:VimwikiDeleteLink*
|
||||||
|
Delete wiki link. you are in.
|
||||||
|
|
||||||
|
|
||||||
*:VimwikiDeleteWord*
|
*:VimwikiRenameLink*
|
||||||
Delete WikiWord you are in.
|
Rename wiki link. you are in.
|
||||||
|
|
||||||
|
|
||||||
*:VimwikiRenameWord*
|
|
||||||
Rename WikiWord you are in.
|
|
||||||
|
|
||||||
|
|
||||||
*:Vimwiki2HTML*
|
*:Vimwiki2HTML*
|
||||||
@ -405,6 +416,13 @@ ic Inner column in a table.
|
|||||||
*:VimwikiGenerateLinks*
|
*:VimwikiGenerateLinks*
|
||||||
Insert all available links into current buffer.
|
Insert all available links into current buffer.
|
||||||
|
|
||||||
|
*:VimwikiDiaryNextDay*
|
||||||
|
Open next day diary link if available.
|
||||||
|
Mapped to <C-Down>.
|
||||||
|
|
||||||
|
*:VimwikiDiaryPrevDay*
|
||||||
|
Open previous day diary link if available.
|
||||||
|
Mapped to <C-Up>.
|
||||||
|
|
||||||
|
|
||||||
==============================================================================
|
==============================================================================
|
||||||
@ -768,6 +786,18 @@ or >
|
|||||||
%toc Whatever
|
%toc Whatever
|
||||||
|
|
||||||
|
|
||||||
|
------------------------------------------------------------------------------
|
||||||
|
%title Title of the page *vimwiki-title*
|
||||||
|
|
||||||
|
When you htmlize your wiki page you have default title which is the filename
|
||||||
|
of the page.
|
||||||
|
Place >
|
||||||
|
|
||||||
|
%title My books
|
||||||
|
|
||||||
|
into your wiki page if you want another title.
|
||||||
|
|
||||||
|
|
||||||
------------------------------------------------------------------------------
|
------------------------------------------------------------------------------
|
||||||
%nohtml *vimwiki-nohtml*
|
%nohtml *vimwiki-nohtml*
|
||||||
|
|
||||||
@ -1063,7 +1093,7 @@ This header.tpl could look like: >
|
|||||||
<div class="contents">
|
<div class="contents">
|
||||||
|
|
||||||
where
|
where
|
||||||
%title% is replaced by a wiki page name
|
%title% is replaced by a wiki page name or by a |vimwiki-title|
|
||||||
%root_path% is replaced by a count of ../ for pages buried in subdirs:
|
%root_path% is replaced by a count of ../ for pages buried in subdirs:
|
||||||
if you have wikilink [[dir1/dir2/dir3/my page in a subdir]] then
|
if you have wikilink [[dir1/dir2/dir3/my page in a subdir]] then
|
||||||
%root_path% is replaced by '../../../'.
|
%root_path% is replaced by '../../../'.
|
||||||
@ -1100,19 +1130,6 @@ or even >
|
|||||||
\ 'css_name': 'css/main.css'}]
|
\ 'css_name': 'css/main.css'}]
|
||||||
<
|
<
|
||||||
|
|
||||||
*vimwiki-option-gohome*
|
|
||||||
------------------------------------------------------------------------------
|
|
||||||
Key Default value Values~
|
|
||||||
gohome split split, vsplit, tabe
|
|
||||||
|
|
||||||
Description~
|
|
||||||
This option controls the way |:VimwikiGoHome| command works.
|
|
||||||
For instance you have 'No write since last change' buffer. After <Leader>ww
|
|
||||||
(or :VimwikiGoHome) vimwiki index file will be splitted with it. Or vertically
|
|
||||||
splitted. Or opened in a new tab.
|
|
||||||
Ex: >
|
|
||||||
let g:vimwiki_list = [{'path': '~/my_site/', 'gohome': 'vsplit'}]
|
|
||||||
<
|
|
||||||
|
|
||||||
*vimwiki-option-maxhi*
|
*vimwiki-option-maxhi*
|
||||||
------------------------------------------------------------------------------
|
------------------------------------------------------------------------------
|
||||||
@ -1120,11 +1137,11 @@ Key Default value Values~
|
|||||||
maxhi 1 0, 1
|
maxhi 1 0, 1
|
||||||
|
|
||||||
Description~
|
Description~
|
||||||
Non-existent WikiWord highlighting could be quite slow and if you don't want
|
Non-existent wiki links highlighting could be quite slow and if you don't want
|
||||||
it set maxhi to 0: >
|
it set maxhi to 0: >
|
||||||
let g:vimwiki_list = [{'path': '~/my_site/', 'maxhi': 0}]
|
let g:vimwiki_list = [{'path': '~/my_site/', 'maxhi': 0}]
|
||||||
|
|
||||||
This disables filesystem checks for WikiWords.
|
This disables filesystem checks for wiki links.
|
||||||
|
|
||||||
|
|
||||||
*vimwiki-option-nested_syntaxes*
|
*vimwiki-option-nested_syntaxes*
|
||||||
@ -1478,6 +1495,9 @@ Value Description~
|
|||||||
|
|
||||||
Default: 0
|
Default: 0
|
||||||
|
|
||||||
|
Note: Vim73 has new function |strdisplaywidth|, so for Vim73 users this option
|
||||||
|
is obsolete.
|
||||||
|
|
||||||
|
|
||||||
------------------------------------------------------------------------------
|
------------------------------------------------------------------------------
|
||||||
*g:vimwiki_dir_link*
|
*g:vimwiki_dir_link*
|
||||||
@ -1558,6 +1578,42 @@ headers would look like: >
|
|||||||
Default: '' (empty)
|
Default: '' (empty)
|
||||||
|
|
||||||
|
|
||||||
|
------------------------------------------------------------------------------
|
||||||
|
*g:vimwiki_file_exts*
|
||||||
|
|
||||||
|
Comma separated list of file extensions.
|
||||||
|
|
||||||
|
Consider you have the following link: [[my_script.php][my script]].
|
||||||
|
If there is 'php' extension in g:vimwiki_file_exts this link would be htmlized
|
||||||
|
to <a href="my_script.php">my script</a>.
|
||||||
|
Otherwise it would be <a href="my_script.php.html">my script</a> (note .html)
|
||||||
|
|
||||||
|
|
||||||
|
Default: 'pdf,txt,doc,rtf,xls,php,zip,rar,7z,html,gz'
|
||||||
|
|
||||||
|
|
||||||
|
------------------------------------------------------------------------------
|
||||||
|
*g:vimwiki_valid_html_tags*
|
||||||
|
|
||||||
|
Comma separated list of html tags that can be used in vimwiki.
|
||||||
|
|
||||||
|
Default: 'b,i,s,u,sub,sup,kbd,br,hr'
|
||||||
|
|
||||||
|
|
||||||
|
------------------------------------------------------------------------------
|
||||||
|
*g:vimwiki_conceallevel*
|
||||||
|
|
||||||
|
In vim73 |conceallevel| is local to window, thus if you open viwmiki buffer in
|
||||||
|
a new tab or window, it would be set to default value.
|
||||||
|
|
||||||
|
Vimwiki sets |conceallevel| to g:vimwiki_conceallevel everytime vimwiki buffer
|
||||||
|
is entered.
|
||||||
|
|
||||||
|
Default: 3
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
==============================================================================
|
==============================================================================
|
||||||
12. Help *vimwiki-help*
|
12. Help *vimwiki-help*
|
||||||
|
|
||||||
@ -1592,6 +1648,45 @@ Maxim Kim.
|
|||||||
==============================================================================
|
==============================================================================
|
||||||
14. Changelog *vimwiki-changelog*
|
14. Changelog *vimwiki-changelog*
|
||||||
|
|
||||||
|
1.1~
|
||||||
|
* NEW: Issue 57: Make it possible to have pre block inside list item.
|
||||||
|
* NEW: Issue 82: Add quick goto command. See |:VimwikiGoto|.
|
||||||
|
* NEW: Issue 83: Quick switch in diary. See |:VimwikiDiaryNextDay| and
|
||||||
|
|:VimwikiDiaryPrevDay| commands.
|
||||||
|
* FIX: Issue 84: Vimwiki rename removed the WikiWord display name.
|
||||||
|
* FIX: Issue 85: Errors if you have '~' subdirectory in a wiki directory.
|
||||||
|
* FIX: Issue 86: Existed links '[[WikiLink1|Alias1]] | [[WikiLink2]]' are
|
||||||
|
highlighted as a single link.
|
||||||
|
* FIX: Issue 88: Underline text. See |g:vimwiki_valid_html_tags|.
|
||||||
|
* FIX: Issue 92: Wikies in a subdir could be renamed to an empty file.
|
||||||
|
* FIX: Issue 93: Use alias name in html title. See |vimwiki-title|.
|
||||||
|
* FIX: Issue 94: Relative links to PHP files are broken. See
|
||||||
|
|g:vimwiki_file_exts| for details.
|
||||||
|
* FIX: Issue 96: Closing bracket at the end of weblink shouldn't be a part
|
||||||
|
of that link.
|
||||||
|
* FIX: Issue 97: Error opening weblink in a browser if it has # inside.
|
||||||
|
* FIX: Issue 99: Vim is not responing while opening arbitrary wiki file.
|
||||||
|
* FIX: Issue 100: Additional content on diary index page could be
|
||||||
|
corrupted.
|
||||||
|
* NEW: Issue 101: Customized HTML tags. See |g:vimwiki_valid_html_tags|
|
||||||
|
* NEW: Issue 102: Conceal feature usage. See |g:vimwiki_conceallevel|.
|
||||||
|
* FIX: Issue 103: Always highlight links to non-wiki files as existed.
|
||||||
|
* FIX: Issue 104: vimwiki#nested_syntax needs 'keepend' to avoid contained
|
||||||
|
language syntax eat needed '}}}'.
|
||||||
|
* FIX: Issue 105: <i_CR> on a todo list item with [ ] doesn't create new
|
||||||
|
todo list item.
|
||||||
|
* FIX: Issue 106: With MediaWiki syntax <C-Space> on a child todo list
|
||||||
|
item produce errors.
|
||||||
|
* FIX: Issue 107: With MediaWiki syntax <C-Space> on a list item creates
|
||||||
|
todo list item without space between * and [ ].
|
||||||
|
* FIX: Issue 110: Syntax highlighting doesn't work for indented codeblock.
|
||||||
|
* FIX: Issue 115: Nested Perl syntax highlighting differs from regular
|
||||||
|
one.
|
||||||
|
* MISC: Many vimwiki commands were renamed from Vimwiki.*Word to
|
||||||
|
Vimwiki.*Link. VimwikiGoHome is renamed to VimwikiIndex,
|
||||||
|
VimwikiTabGoHome to VimwikiTabIndex.
|
||||||
|
* MISC: vimwiki-option-gohome is removed.
|
||||||
|
|
||||||
1.0~
|
1.0~
|
||||||
* NEW: Issue 41: Table cell and column text objects. See
|
* NEW: Issue 41: Table cell and column text objects. See
|
||||||
|vimwiki-text-objects|.
|
|vimwiki-text-objects|.
|
||||||
|
@ -21,6 +21,11 @@ let b:undo_ftplugin = "setlocal ".
|
|||||||
|
|
||||||
setlocal autowriteall
|
setlocal autowriteall
|
||||||
setlocal commentstring=<!--%s-->
|
setlocal commentstring=<!--%s-->
|
||||||
|
|
||||||
|
if g:vimwiki_conceallevel && exists("+conceallevel")
|
||||||
|
let &conceallevel = g:vimwiki_conceallevel
|
||||||
|
endif
|
||||||
|
|
||||||
" MISC }}}
|
" MISC }}}
|
||||||
|
|
||||||
" GOTO FILE: gf {{{
|
" GOTO FILE: gf {{{
|
||||||
@ -38,32 +43,22 @@ else
|
|||||||
endif
|
endif
|
||||||
setlocal formatoptions=tnro
|
setlocal formatoptions=tnro
|
||||||
|
|
||||||
inoremap <buffer> <expr> <CR> vimwiki_lst#insertCR()
|
|
||||||
nnoremap <buffer> o :call vimwiki_lst#insertOo('o')<CR>a
|
|
||||||
nnoremap <buffer> O :call vimwiki_lst#insertOo('O')<CR>a
|
|
||||||
|
|
||||||
if !empty(&langmap)
|
if !empty(&langmap)
|
||||||
" Valid only if langmap is a comma separated pairs of chars
|
" Valid only if langmap is a comma separated pairs of chars
|
||||||
let l_o = matchstr(&langmap, '\C,\zs.\zeo,')
|
let l_o = matchstr(&langmap, '\C,\zs.\zeo,')
|
||||||
if l_o
|
if l_o
|
||||||
exe 'nnoremap <buffer> '.l_o.' :call vimwiki_lst#insertOo("o")<CR>a'
|
exe 'nnoremap <buffer> '.l_o.' :call vimwiki_lst#kbd_oO("o")<CR>a'
|
||||||
endif
|
endif
|
||||||
|
|
||||||
let l_O = matchstr(&langmap, '\C,\zs.\zeO,')
|
let l_O = matchstr(&langmap, '\C,\zs.\zeO,')
|
||||||
if l_O
|
if l_O
|
||||||
exe 'nnoremap <buffer> '.l_O.' :call vimwiki_lst#insertOo("O")<CR>a'
|
exe 'nnoremap <buffer> '.l_O.' :call vimwiki_lst#kbd_oO("O")<CR>a'
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
|
|
||||||
" COMMENTS }}}
|
" COMMENTS }}}
|
||||||
|
|
||||||
" FOLDING for headers and list items using expr fold method. {{{
|
" FOLDING for headers and list items using expr fold method. {{{
|
||||||
if g:vimwiki_folding == 1
|
|
||||||
setlocal fdm=expr
|
|
||||||
setlocal foldexpr=VimwikiFoldLevel(v:lnum)
|
|
||||||
setlocal foldtext=VimwikiFoldText()
|
|
||||||
endif
|
|
||||||
|
|
||||||
function! VimwikiFoldLevel(lnum) "{{{
|
function! VimwikiFoldLevel(lnum) "{{{
|
||||||
let line = getline(a:lnum)
|
let line = getline(a:lnum)
|
||||||
|
|
||||||
@ -208,14 +203,14 @@ command! -buffer Vimwiki2HTML
|
|||||||
command! -buffer VimwikiAll2HTML
|
command! -buffer VimwikiAll2HTML
|
||||||
\ call vimwiki_html#WikiAll2HTML(expand(VimwikiGet('path_html')))
|
\ call vimwiki_html#WikiAll2HTML(expand(VimwikiGet('path_html')))
|
||||||
|
|
||||||
command! -buffer VimwikiNextWord call vimwiki#WikiNextWord()
|
command! -buffer VimwikiNextLink call vimwiki#find_next_link()
|
||||||
command! -buffer VimwikiPrevWord call vimwiki#WikiPrevWord()
|
command! -buffer VimwikiPrevLink call vimwiki#find_prev_link()
|
||||||
command! -buffer VimwikiDeleteWord call vimwiki#WikiDeleteWord()
|
command! -buffer VimwikiDeleteLink call vimwiki#delete_link()
|
||||||
command! -buffer VimwikiRenameWord call vimwiki#WikiRenameWord()
|
command! -buffer VimwikiRenameLink call vimwiki#rename_link()
|
||||||
command! -buffer VimwikiFollowWord call vimwiki#WikiFollowWord('nosplit')
|
command! -buffer VimwikiFollowLink call vimwiki#follow_link('nosplit')
|
||||||
command! -buffer VimwikiGoBackWord call vimwiki#WikiGoBackWord()
|
command! -buffer VimwikiGoBackLink call vimwiki#go_back_link()
|
||||||
command! -buffer VimwikiSplitWord call vimwiki#WikiFollowWord('split')
|
command! -buffer VimwikiSplitLink call vimwiki#follow_link('split')
|
||||||
command! -buffer VimwikiVSplitWord call vimwiki#WikiFollowWord('vsplit')
|
command! -buffer VimwikiVSplitLink call vimwiki#follow_link('vsplit')
|
||||||
|
|
||||||
command! -buffer -range VimwikiToggleListItem call vimwiki_lst#ToggleListItem(<line1>, <line2>)
|
command! -buffer -range VimwikiToggleListItem call vimwiki_lst#ToggleListItem(<line1>, <line2>)
|
||||||
|
|
||||||
@ -227,6 +222,8 @@ exe 'command! -buffer -nargs=* VimwikiSearch vimgrep <args> '.
|
|||||||
exe 'command! -buffer -nargs=* VWS vimgrep <args> '.
|
exe 'command! -buffer -nargs=* VWS vimgrep <args> '.
|
||||||
\ escape(VimwikiGet('path').'**/*'.VimwikiGet('ext'), ' ')
|
\ escape(VimwikiGet('path').'**/*'.VimwikiGet('ext'), ' ')
|
||||||
|
|
||||||
|
command! -buffer -nargs=1 VimwikiGoto call vimwiki#goto("<args>")
|
||||||
|
|
||||||
" table commands
|
" table commands
|
||||||
command! -buffer -nargs=* VimwikiTable call vimwiki_tbl#create(<f-args>)
|
command! -buffer -nargs=* VimwikiTable call vimwiki_tbl#create(<f-args>)
|
||||||
command! -buffer VimwikiTableAlignQ call vimwiki_tbl#align_or_cmd('gqq')
|
command! -buffer VimwikiTableAlignQ call vimwiki_tbl#align_or_cmd('gqq')
|
||||||
@ -234,65 +231,69 @@ command! -buffer VimwikiTableAlignW call vimwiki_tbl#align_or_cmd('gww')
|
|||||||
command! -buffer VimwikiTableMoveColumnLeft call vimwiki_tbl#move_column_left()
|
command! -buffer VimwikiTableMoveColumnLeft call vimwiki_tbl#move_column_left()
|
||||||
command! -buffer VimwikiTableMoveColumnRight call vimwiki_tbl#move_column_right()
|
command! -buffer VimwikiTableMoveColumnRight call vimwiki_tbl#move_column_right()
|
||||||
|
|
||||||
|
" diary commands
|
||||||
|
command! -buffer VimwikiDiaryNextDay call vimwiki_diary#goto_next_day()
|
||||||
|
command! -buffer VimwikiDiaryPrevDay call vimwiki_diary#goto_prev_day()
|
||||||
|
|
||||||
" COMMANDS }}}
|
" COMMANDS }}}
|
||||||
|
|
||||||
" KEYBINDINGS {{{
|
" KEYBINDINGS {{{
|
||||||
if g:vimwiki_use_mouse
|
if g:vimwiki_use_mouse
|
||||||
nmap <buffer> <S-LeftMouse> <NOP>
|
nmap <buffer> <S-LeftMouse> <NOP>
|
||||||
nmap <buffer> <C-LeftMouse> <NOP>
|
nmap <buffer> <C-LeftMouse> <NOP>
|
||||||
noremap <silent><buffer> <2-LeftMouse> :VimwikiFollowWord<CR>
|
noremap <silent><buffer> <2-LeftMouse> :VimwikiFollowLink<CR>
|
||||||
noremap <silent><buffer> <S-2-LeftMouse> <LeftMouse>:VimwikiSplitWord<CR>
|
noremap <silent><buffer> <S-2-LeftMouse> <LeftMouse>:VimwikiSplitLink<CR>
|
||||||
noremap <silent><buffer> <C-2-LeftMouse> <LeftMouse>:VimwikiVSplitWord<CR>
|
noremap <silent><buffer> <C-2-LeftMouse> <LeftMouse>:VimwikiVSplitLink<CR>
|
||||||
noremap <silent><buffer> <RightMouse><LeftMouse> :VimwikiGoBackWord<CR>
|
noremap <silent><buffer> <RightMouse><LeftMouse> :VimwikiGoBackLink<CR>
|
||||||
endif
|
endif
|
||||||
|
|
||||||
if !hasmapto('<Plug>VimwikiFollowWord')
|
if !hasmapto('<Plug>VimwikiFollowLink')
|
||||||
nmap <silent><buffer> <CR> <Plug>VimwikiFollowWord
|
nmap <silent><buffer> <CR> <Plug>VimwikiFollowLink
|
||||||
endif
|
endif
|
||||||
noremap <silent><script><buffer>
|
noremap <silent><script><buffer>
|
||||||
\ <Plug>VimwikiFollowWord :VimwikiFollowWord<CR>
|
\ <Plug>VimwikiFollowLink :VimwikiFollowLink<CR>
|
||||||
|
|
||||||
if !hasmapto('<Plug>VimwikiSplitWord')
|
if !hasmapto('<Plug>VimwikiSplitLink')
|
||||||
nmap <silent><buffer> <S-CR> <Plug>VimwikiSplitWord
|
nmap <silent><buffer> <S-CR> <Plug>VimwikiSplitLink
|
||||||
endif
|
endif
|
||||||
noremap <silent><script><buffer>
|
noremap <silent><script><buffer>
|
||||||
\ <Plug>VimwikiSplitWord :VimwikiSplitWord<CR>
|
\ <Plug>VimwikiSplitLink :VimwikiSplitLink<CR>
|
||||||
|
|
||||||
if !hasmapto('<Plug>VimwikiVSplitWord')
|
if !hasmapto('<Plug>VimwikiVSplitLink')
|
||||||
nmap <silent><buffer> <C-CR> <Plug>VimwikiVSplitWord
|
nmap <silent><buffer> <C-CR> <Plug>VimwikiVSplitLink
|
||||||
endif
|
endif
|
||||||
noremap <silent><script><buffer>
|
noremap <silent><script><buffer>
|
||||||
\ <Plug>VimwikiVSplitWord :VimwikiVSplitWord<CR>
|
\ <Plug>VimwikiVSplitLink :VimwikiVSplitLink<CR>
|
||||||
|
|
||||||
if !hasmapto('<Plug>VimwikiGoBackWord')
|
if !hasmapto('<Plug>VimwikiGoBackLink')
|
||||||
nmap <silent><buffer> <BS> <Plug>VimwikiGoBackWord
|
nmap <silent><buffer> <BS> <Plug>VimwikiGoBackLink
|
||||||
endif
|
endif
|
||||||
noremap <silent><script><buffer>
|
noremap <silent><script><buffer>
|
||||||
\ <Plug>VimwikiGoBackWord :VimwikiGoBackWord<CR>
|
\ <Plug>VimwikiGoBackLink :VimwikiGoBackLink<CR>
|
||||||
|
|
||||||
if !hasmapto('<Plug>VimwikiNextWord')
|
if !hasmapto('<Plug>VimwikiNextLink')
|
||||||
nmap <silent><buffer> <TAB> <Plug>VimwikiNextWord
|
nmap <silent><buffer> <TAB> <Plug>VimwikiNextLink
|
||||||
endif
|
endif
|
||||||
noremap <silent><script><buffer>
|
noremap <silent><script><buffer>
|
||||||
\ <Plug>VimwikiNextWord :VimwikiNextWord<CR>
|
\ <Plug>VimwikiNextLink :VimwikiNextLink<CR>
|
||||||
|
|
||||||
if !hasmapto('<Plug>VimwikiPrevWord')
|
if !hasmapto('<Plug>VimwikiPrevLink')
|
||||||
nmap <silent><buffer> <S-TAB> <Plug>VimwikiPrevWord
|
nmap <silent><buffer> <S-TAB> <Plug>VimwikiPrevLink
|
||||||
endif
|
endif
|
||||||
noremap <silent><script><buffer>
|
noremap <silent><script><buffer>
|
||||||
\ <Plug>VimwikiPrevWord :VimwikiPrevWord<CR>
|
\ <Plug>VimwikiPrevLink :VimwikiPrevLink<CR>
|
||||||
|
|
||||||
if !hasmapto('<Plug>VimwikiDeleteWord')
|
if !hasmapto('<Plug>VimwikiDeleteLink')
|
||||||
nmap <silent><buffer> <Leader>wd <Plug>VimwikiDeleteWord
|
nmap <silent><buffer> <Leader>wd <Plug>VimwikiDeleteLink
|
||||||
endif
|
endif
|
||||||
noremap <silent><script><buffer>
|
noremap <silent><script><buffer>
|
||||||
\ <Plug>VimwikiDeleteWord :VimwikiDeleteWord<CR>
|
\ <Plug>VimwikiDeleteLink :VimwikiDeleteLink<CR>
|
||||||
|
|
||||||
if !hasmapto('<Plug>VimwikiRenameWord')
|
if !hasmapto('<Plug>VimwikiRenameLink')
|
||||||
nmap <silent><buffer> <Leader>wr <Plug>VimwikiRenameWord
|
nmap <silent><buffer> <Leader>wr <Plug>VimwikiRenameLink
|
||||||
endif
|
endif
|
||||||
noremap <silent><script><buffer>
|
noremap <silent><script><buffer>
|
||||||
\ <Plug>VimwikiRenameWord :VimwikiRenameWord<CR>
|
\ <Plug>VimwikiRenameLink :VimwikiRenameLink<CR>
|
||||||
|
|
||||||
if !hasmapto('<Plug>VimwikiToggleListItem')
|
if !hasmapto('<Plug>VimwikiToggleListItem')
|
||||||
nmap <silent><buffer> <C-Space> <Plug>VimwikiToggleListItem
|
nmap <silent><buffer> <C-Space> <Plug>VimwikiToggleListItem
|
||||||
@ -304,10 +305,35 @@ endif
|
|||||||
noremap <silent><script><buffer>
|
noremap <silent><script><buffer>
|
||||||
\ <Plug>VimwikiToggleListItem :VimwikiToggleListItem<CR>
|
\ <Plug>VimwikiToggleListItem :VimwikiToggleListItem<CR>
|
||||||
|
|
||||||
|
if !hasmapto('<Plug>VimwikiDiaryNextDay')
|
||||||
|
nmap <silent><buffer> <C-Down> <Plug>VimwikiDiaryNextDay
|
||||||
|
endif
|
||||||
|
noremap <silent><script><buffer>
|
||||||
|
\ <Plug>VimwikiDiaryNextDay :VimwikiDiaryNextDay<CR>
|
||||||
|
|
||||||
|
if !hasmapto('<Plug>VimwikiDiaryPrevDay')
|
||||||
|
nmap <silent><buffer> <C-Up> <Plug>VimwikiDiaryPrevDay
|
||||||
|
endif
|
||||||
|
noremap <silent><script><buffer>
|
||||||
|
\ <Plug>VimwikiDiaryPrevDay :VimwikiDiaryPrevDay<CR>
|
||||||
|
|
||||||
|
function! s:CR() "{{{
|
||||||
|
let res = vimwiki_lst#kbd_cr()
|
||||||
|
if res == "\<CR>" && g:vimwiki_table_auto_fmt
|
||||||
|
let res = vimwiki_tbl#kbd_cr()
|
||||||
|
endif
|
||||||
|
return res
|
||||||
|
endfunction "}}}
|
||||||
|
|
||||||
|
" List and Table <CR> mapping
|
||||||
|
inoremap <buffer> <expr> <CR> <SID>CR()
|
||||||
|
|
||||||
|
" List mappings
|
||||||
|
nnoremap <buffer> o :call vimwiki_lst#kbd_oO('o')<CR>a
|
||||||
|
nnoremap <buffer> O :call vimwiki_lst#kbd_oO('O')<CR>a
|
||||||
|
|
||||||
" Table mappings
|
" Table mappings
|
||||||
if g:vimwiki_table_auto_fmt
|
if g:vimwiki_table_auto_fmt
|
||||||
inoremap <expr> <buffer> <CR> vimwiki_tbl#kbd_cr()
|
|
||||||
inoremap <expr> <buffer> <Tab> vimwiki_tbl#kbd_tab()
|
inoremap <expr> <buffer> <Tab> vimwiki_tbl#kbd_tab()
|
||||||
inoremap <expr> <buffer> <S-Tab> vimwiki_tbl#kbd_shift_tab()
|
inoremap <expr> <buffer> <S-Tab> vimwiki_tbl#kbd_shift_tab()
|
||||||
endif
|
endif
|
||||||
|
@ -72,7 +72,7 @@ function! s:setup_buffer_enter() "{{{
|
|||||||
endif
|
endif
|
||||||
|
|
||||||
if idx == -1
|
if idx == -1
|
||||||
call add(g:vimwiki_list, {'path': path, 'ext': ext})
|
call add(g:vimwiki_list, {'path': path, 'ext': ext, 'temp': 1})
|
||||||
let g:vimwiki_current_idx = len(g:vimwiki_list) - 1
|
let g:vimwiki_current_idx = len(g:vimwiki_list) - 1
|
||||||
else
|
else
|
||||||
let g:vimwiki_current_idx = idx
|
let g:vimwiki_current_idx = idx
|
||||||
@ -81,52 +81,29 @@ function! s:setup_buffer_enter() "{{{
|
|||||||
let b:vimwiki_idx = g:vimwiki_current_idx
|
let b:vimwiki_idx = g:vimwiki_current_idx
|
||||||
endif
|
endif
|
||||||
|
|
||||||
call s:setup_colors()
|
" Update existed/non-existed links highlighting.
|
||||||
|
call vimwiki#highlight_links()
|
||||||
if &filetype != 'vimwiki'
|
|
||||||
setlocal ft=vimwiki
|
|
||||||
else
|
|
||||||
setlocal syntax=vimwiki
|
|
||||||
endif
|
|
||||||
|
|
||||||
" Settings foldmethod, foldexpr and foldtext are local to window. Thus in a
|
" Settings foldmethod, foldexpr and foldtext are local to window. Thus in a
|
||||||
" new tab with the same buffer folding is reset to vim defaults. So we
|
" new tab with the same buffer folding is reset to vim defaults. So we
|
||||||
" insist vimwiki folding here.
|
" insist vimwiki folding here.
|
||||||
" TODO: remove the same from ftplugin.
|
|
||||||
if g:vimwiki_folding == 1 && &fdm != 'expr'
|
if g:vimwiki_folding == 1 && &fdm != 'expr'
|
||||||
setlocal fdm=expr
|
setlocal fdm=expr
|
||||||
setlocal foldexpr=VimwikiFoldLevel(v:lnum)
|
setlocal foldexpr=VimwikiFoldLevel(v:lnum)
|
||||||
setlocal foldtext=VimwikiFoldText()
|
setlocal foldtext=VimwikiFoldText()
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
" And conceal level too.
|
||||||
|
if g:vimwiki_conceallevel && exists("+conceallevel")
|
||||||
|
let &conceallevel = g:vimwiki_conceallevel
|
||||||
|
endif
|
||||||
|
|
||||||
" Set up menu
|
" Set up menu
|
||||||
if g:vimwiki_menu != ""
|
if g:vimwiki_menu != ""
|
||||||
exe 'nmenu enable '.g:vimwiki_menu.'.Table'
|
exe 'nmenu enable '.g:vimwiki_menu.'.Table'
|
||||||
endif
|
endif
|
||||||
endfunction "}}}
|
endfunction "}}}
|
||||||
|
|
||||||
function! s:setup_colors()"{{{
|
|
||||||
if g:vimwiki_hl_headers == 0
|
|
||||||
return
|
|
||||||
endif
|
|
||||||
|
|
||||||
if &background == 'light'
|
|
||||||
hi def VimwikiHeader1 guibg=bg guifg=#aa5858 gui=bold ctermfg=DarkRed
|
|
||||||
hi def VimwikiHeader2 guibg=bg guifg=#309010 gui=bold ctermfg=DarkGreen
|
|
||||||
hi def VimwikiHeader3 guibg=bg guifg=#1030a0 gui=bold ctermfg=DarkBlue
|
|
||||||
hi def VimwikiHeader4 guibg=bg guifg=#103040 gui=bold ctermfg=Black
|
|
||||||
hi def VimwikiHeader5 guibg=bg guifg=#001020 gui=bold ctermfg=Black
|
|
||||||
hi def VimwikiHeader6 guibg=bg guifg=#000000 gui=bold ctermfg=Black
|
|
||||||
else
|
|
||||||
hi def VimwikiHeader1 guibg=bg guifg=#e08090 gui=bold ctermfg=Red
|
|
||||||
hi def VimwikiHeader2 guibg=bg guifg=#80e090 gui=bold ctermfg=Green
|
|
||||||
hi def VimwikiHeader3 guibg=bg guifg=#6090e0 gui=bold ctermfg=Blue
|
|
||||||
hi def VimwikiHeader4 guibg=bg guifg=#c0c0f0 gui=bold ctermfg=White
|
|
||||||
hi def VimwikiHeader5 guibg=bg guifg=#e0e0f0 gui=bold ctermfg=White
|
|
||||||
hi def VimwikiHeader6 guibg=bg guifg=#f0f0f0 gui=bold ctermfg=White
|
|
||||||
endif
|
|
||||||
endfunction"}}}
|
|
||||||
|
|
||||||
" OPTION get/set functions {{{
|
" OPTION get/set functions {{{
|
||||||
" return value of option for current wiki or if second parameter exists for
|
" return value of option for current wiki or if second parameter exists for
|
||||||
" wiki with a given index.
|
" wiki with a given index.
|
||||||
@ -201,11 +178,13 @@ let s:vimwiki_defaults.index = 'index'
|
|||||||
let s:vimwiki_defaults.ext = '.wiki'
|
let s:vimwiki_defaults.ext = '.wiki'
|
||||||
let s:vimwiki_defaults.maxhi = 1
|
let s:vimwiki_defaults.maxhi = 1
|
||||||
let s:vimwiki_defaults.syntax = 'default'
|
let s:vimwiki_defaults.syntax = 'default'
|
||||||
let s:vimwiki_defaults.gohome = 'split'
|
|
||||||
let s:vimwiki_defaults.html_header = ''
|
let s:vimwiki_defaults.html_header = ''
|
||||||
let s:vimwiki_defaults.html_footer = ''
|
let s:vimwiki_defaults.html_footer = ''
|
||||||
let s:vimwiki_defaults.nested_syntaxes = {}
|
let s:vimwiki_defaults.nested_syntaxes = {}
|
||||||
let s:vimwiki_defaults.auto_export = 0
|
let s:vimwiki_defaults.auto_export = 0
|
||||||
|
" is wiki temporary -- was added to g:vimwiki_list by opening arbitrary wiki
|
||||||
|
" file.
|
||||||
|
let s:vimwiki_defaults.temp = 0
|
||||||
|
|
||||||
" diary
|
" diary
|
||||||
let s:vimwiki_defaults.diary_rel_path = 'diary/'
|
let s:vimwiki_defaults.diary_rel_path = 'diary/'
|
||||||
@ -265,9 +244,12 @@ call s:default('table_auto_fmt', 1)
|
|||||||
call s:default('w32_dir_enc', '')
|
call s:default('w32_dir_enc', '')
|
||||||
call s:default('CJK_length', 0)
|
call s:default('CJK_length', 0)
|
||||||
call s:default('dir_link', '')
|
call s:default('dir_link', '')
|
||||||
|
call s:default('file_exts', 'pdf,txt,doc,rtf,xls,php,zip,rar,7z,html,gz')
|
||||||
|
call s:default('valid_html_tags', 'b,i,s,u,sub,sup,kbd,br,hr')
|
||||||
|
|
||||||
call s:default('html_header_numbering', 0)
|
call s:default('html_header_numbering', 0)
|
||||||
call s:default('html_header_numbering_sym', '')
|
call s:default('html_header_numbering_sym', '')
|
||||||
|
call s:default('conceallevel', 3)
|
||||||
|
|
||||||
call s:default('current_idx', 0)
|
call s:default('current_idx', 0)
|
||||||
|
|
||||||
@ -292,7 +274,8 @@ else
|
|||||||
endif
|
endif
|
||||||
let g:vimwiki_rxWeblink = '\%("[^"(]\+\((\([^)]\+\))\)\?":\)\?'.
|
let g:vimwiki_rxWeblink = '\%("[^"(]\+\((\([^)]\+\))\)\?":\)\?'.
|
||||||
\'\%(https\?\|ftp\|gopher\|telnet\|file\|notes\|ms-help\):'.
|
\'\%(https\?\|ftp\|gopher\|telnet\|file\|notes\|ms-help\):'.
|
||||||
\'\%(\%(\%(//\)\|\%(\\\\\)\)\+[A-Za-z0-9:#@%/;,$~()_?+=.&\\\-]*\)'
|
\'\%(\%(\%(//\)\|\%(\\\\\)\)\+[A-Za-z0-9:#@%/;,$~()_?+=.&\\\-]*\)'.
|
||||||
|
\'[().,?]\@<!'
|
||||||
"}}}
|
"}}}
|
||||||
|
|
||||||
" AUTOCOMMANDS for all known wiki extensions {{{
|
" AUTOCOMMANDS for all known wiki extensions {{{
|
||||||
@ -316,12 +299,13 @@ augroup vimwiki
|
|||||||
for ext in keys(extensions)
|
for ext in keys(extensions)
|
||||||
exe 'autocmd BufEnter *'.ext.' call s:setup_buffer_enter()'
|
exe 'autocmd BufEnter *'.ext.' call s:setup_buffer_enter()'
|
||||||
exe 'autocmd BufLeave,BufHidden *'.ext.' call s:setup_buffer_leave()'
|
exe 'autocmd BufLeave,BufHidden *'.ext.' call s:setup_buffer_leave()'
|
||||||
|
exe 'autocmd BufNewFile,BufRead, *'.ext.' setf vimwiki'
|
||||||
|
|
||||||
" ColorScheme could have or could have not a
|
" ColorScheme could have or could have not a
|
||||||
" VimwikiHeader1..VimwikiHeader6 highlight groups. We need to refresh
|
" VimwikiHeader1..VimwikiHeader6 highlight groups. We need to refresh
|
||||||
" syntax after colorscheme change.
|
" syntax after colorscheme change.
|
||||||
exe 'autocmd ColorScheme *'.ext.' call s:setup_colors()'.
|
exe 'autocmd ColorScheme *'.ext.' call vimwiki#setup_colors()'.
|
||||||
\ ' | set syntax=vimwiki'
|
\ ' | call vimwiki#highlight_links()'
|
||||||
|
|
||||||
" Format tables when exit from insert mode. Do not use textwidth to
|
" Format tables when exit from insert mode. Do not use textwidth to
|
||||||
" autowrap tables.
|
" autowrap tables.
|
||||||
@ -334,11 +318,11 @@ augroup END
|
|||||||
"}}}
|
"}}}
|
||||||
|
|
||||||
" COMMANDS {{{
|
" COMMANDS {{{
|
||||||
command! VimwikiUISelect call vimwiki#WikiUISelect()
|
command! VimwikiUISelect call vimwiki#ui_select()
|
||||||
command! -count VimwikiGoHome
|
command! -count VimwikiIndex
|
||||||
\ call vimwiki#WikiGoHome(v:count1)
|
\ call vimwiki#goto_index(v:count1)
|
||||||
command! -count VimwikiTabGoHome tabedit <bar>
|
command! -count VimwikiTabIndex tabedit <bar>
|
||||||
\ call vimwiki#WikiGoHome(v:count1)
|
\ call vimwiki#goto_index(v:count1)
|
||||||
|
|
||||||
command! -count VimwikiMakeDiaryNote
|
command! -count VimwikiMakeDiaryNote
|
||||||
\ call vimwiki_diary#make_note(v:count1)
|
\ call vimwiki_diary#make_note(v:count1)
|
||||||
@ -347,15 +331,15 @@ command! -count VimwikiTabMakeDiaryNote tabedit <bar>
|
|||||||
"}}}
|
"}}}
|
||||||
|
|
||||||
" MAPPINGS {{{
|
" MAPPINGS {{{
|
||||||
if !hasmapto('<Plug>VimwikiGoHome')
|
if !hasmapto('<Plug>VimwikiIndex')
|
||||||
map <silent><unique> <Leader>ww <Plug>VimwikiGoHome
|
map <silent><unique> <Leader>ww <Plug>VimwikiIndex
|
||||||
endif
|
endif
|
||||||
noremap <unique><script> <Plug>VimwikiGoHome :VimwikiGoHome<CR>
|
noremap <unique><script> <Plug>VimwikiIndex :VimwikiIndex<CR>
|
||||||
|
|
||||||
if !hasmapto('<Plug>VimwikiTabGoHome')
|
if !hasmapto('<Plug>VimwikiTabIndex')
|
||||||
map <silent><unique> <Leader>wt <Plug>VimwikiTabGoHome
|
map <silent><unique> <Leader>wt <Plug>VimwikiTabIndex
|
||||||
endif
|
endif
|
||||||
noremap <unique><script> <Plug>VimwikiTabGoHome :VimwikiTabGoHome<CR>
|
noremap <unique><script> <Plug>VimwikiTabIndex :VimwikiTabIndex<CR>
|
||||||
|
|
||||||
if !hasmapto('<Plug>VimwikiUISelect')
|
if !hasmapto('<Plug>VimwikiUISelect')
|
||||||
map <silent><unique> <Leader>ws <Plug>VimwikiUISelect
|
map <silent><unique> <Leader>ws <Plug>VimwikiUISelect
|
||||||
@ -382,7 +366,7 @@ function! s:build_menu(topmenu)
|
|||||||
let norm_path = fnamemodify(VimwikiGet('path', idx), ':h:t')
|
let norm_path = fnamemodify(VimwikiGet('path', idx), ':h:t')
|
||||||
let norm_path = escape(norm_path, '\ ')
|
let norm_path = escape(norm_path, '\ ')
|
||||||
execute 'menu '.a:topmenu.'.Open\ index.'.norm_path.
|
execute 'menu '.a:topmenu.'.Open\ index.'.norm_path.
|
||||||
\ ' :call vimwiki#WikiGoHome('.(idx + 1).')<CR>'
|
\ ' :call vimwiki#goto_index('.(idx + 1).')<CR>'
|
||||||
execute 'menu '.a:topmenu.'.Open/Create\ diary\ note.'.norm_path.
|
execute 'menu '.a:topmenu.'.Open/Create\ diary\ note.'.norm_path.
|
||||||
\ ' :call vimwiki_diary#make_note('.(idx + 1).')<CR>'
|
\ ' :call vimwiki_diary#make_note('.(idx + 1).')<CR>'
|
||||||
let idx += 1
|
let idx += 1
|
||||||
|
@ -10,25 +10,49 @@ elseif exists("b:current_syntax")
|
|||||||
finish
|
finish
|
||||||
endif
|
endif
|
||||||
|
|
||||||
"" use max highlighting - could be quite slow if there are too many wikifiles
|
" Links highlighting is controlled by vimwiki#highlight_links() function.
|
||||||
if VimwikiGet('maxhi')
|
" It is called from setup_buffer_enter() function in the BufEnter autocommand.
|
||||||
" Every WikiWord is nonexistent
|
|
||||||
if g:vimwiki_camel_case
|
" Load concrete Wiki syntax
|
||||||
execute 'syntax match VimwikiNoExistsLink /'.g:vimwiki_rxWikiWord.'/'
|
execute 'runtime! syntax/vimwiki_'.VimwikiGet('syntax').'.vim'
|
||||||
|
|
||||||
|
" Concealed chars
|
||||||
|
if exists("+conceallevel")
|
||||||
|
syntax conceal on
|
||||||
endif
|
endif
|
||||||
execute 'syntax match VimwikiNoExistsLink /'.g:vimwiki_rxWikiLink1.'/'
|
syn match VimwikiLinkChar contained /\[\[/
|
||||||
execute 'syntax match VimwikiNoExistsLink /'.g:vimwiki_rxWikiLink2.'/'
|
syn match VimwikiLinkChar contained /\]\]/
|
||||||
" till we find them in vimwiki's path
|
syn match VimwikiLinkChar contained /\[\[[^\[\]\|]\{-}|\ze.\{-}]]/
|
||||||
call vimwiki#WikiHighlightLinks()
|
syn match VimwikiLinkChar contained /\[\[[^\[\]\|]\{-}]\[\ze.\{-}]]/
|
||||||
else
|
|
||||||
" A WikiWord (unqualifiedWikiName)
|
syn match VimwikiNoLinkChar contained /\[\[/
|
||||||
execute 'syntax match VimwikiLink /\<'.g:vimwiki_rxWikiWord.'\>/'
|
syn match VimwikiNoLinkChar contained /\]\]/
|
||||||
" A [[bracketed wiki word]]
|
syn match VimwikiNoLinkChar contained /\[\[[^\[\]\|]\{-}|\ze.*]]/
|
||||||
execute 'syntax match VimwikiLink /'.g:vimwiki_rxWikiLink1.'/'
|
syn match VimwikiNoLinkChar contained /\[\[[^\[\]\|]\{-}]\[\ze.*]]/
|
||||||
execute 'syntax match VimwikiLink /'.g:vimwiki_rxWikiLink2.'/'
|
|
||||||
|
execute 'syn match VimwikiBoldChar contained /'.g:vimwiki_char_bold.'/'
|
||||||
|
execute 'syn match VimwikiItalicChar contained /'.g:vimwiki_char_italic.'/'
|
||||||
|
execute 'syn match VimwikiBoldItalicChar contained /'.g:vimwiki_char_bolditalic.'/'
|
||||||
|
execute 'syn match VimwikiItalicBoldChar contained /'.g:vimwiki_char_italicbold.'/'
|
||||||
|
execute 'syn match VimwikiCodeChar contained /'.g:vimwiki_char_code.'/'
|
||||||
|
execute 'syn match VimwikiDelTextChar contained /'.g:vimwiki_char_deltext.'/'
|
||||||
|
execute 'syn match VimwikiSuperScript contained /'.g:vimwiki_char_superscript.'/'
|
||||||
|
execute 'syn match VimwikiSubScript contained /'.g:vimwiki_char_subscript.'/'
|
||||||
|
if exists("+conceallevel")
|
||||||
|
syntax conceal off
|
||||||
endif
|
endif
|
||||||
|
|
||||||
execute 'syntax match VimwikiLink `'.g:vimwiki_rxWeblink.'`'
|
" Non concealed chars
|
||||||
|
syn match VimwikiHeaderChar contained /\%(^\s*=\+\)\|\%(=\+\s*$\)/
|
||||||
|
execute 'syn match VimwikiBoldCharT contained /'.g:vimwiki_char_bold.'/'
|
||||||
|
execute 'syn match VimwikiItalicCharT contained /'.g:vimwiki_char_italic.'/'
|
||||||
|
execute 'syn match VimwikiBoldItalicCharT contained /'.g:vimwiki_char_bolditalic.'/'
|
||||||
|
execute 'syn match VimwikiItalicBoldCharT contained /'.g:vimwiki_char_italicbold.'/'
|
||||||
|
execute 'syn match VimwikiCodeCharT contained /'.g:vimwiki_char_code.'/'
|
||||||
|
execute 'syn match VimwikiDelTextCharT contained /'.g:vimwiki_char_deltext.'/'
|
||||||
|
execute 'syn match VimwikiSuperScriptT contained /'.g:vimwiki_char_superscript.'/'
|
||||||
|
execute 'syn match VimwikiSubScriptT contained /'.g:vimwiki_char_subscript.'/'
|
||||||
|
|
||||||
|
|
||||||
" Emoticons
|
" Emoticons
|
||||||
syntax match VimwikiEmoticons /\%((.)\|:[()|$@]\|:-[DOPS()\]|$@]\|;)\|:'(\)/
|
syntax match VimwikiEmoticons /\%((.)\|:[()|$@]\|:-[DOPS()\]|$@]\|;)\|:'(\)/
|
||||||
@ -36,16 +60,14 @@ syntax match VimwikiEmoticons /\%((.)\|:[()|$@]\|:-[DOPS()\]|$@]\|;)\|:'(\)/
|
|||||||
let g:vimwiki_rxTodo = '\C\%(TODO:\|DONE:\|STARTED:\|FIXME:\|FIXED:\|XXX:\)'
|
let g:vimwiki_rxTodo = '\C\%(TODO:\|DONE:\|STARTED:\|FIXME:\|FIXED:\|XXX:\)'
|
||||||
execute 'syntax match VimwikiTodo /'. g:vimwiki_rxTodo .'/'
|
execute 'syntax match VimwikiTodo /'. g:vimwiki_rxTodo .'/'
|
||||||
|
|
||||||
" Load concrete Wiki syntax
|
|
||||||
execute 'runtime! syntax/vimwiki_'.VimwikiGet('syntax').'.vim'
|
|
||||||
|
|
||||||
" Tables
|
" Tables
|
||||||
" execute 'syntax match VimwikiTable /'.g:vimwiki_rxTable.'/'
|
" execute 'syntax match VimwikiTable /'.g:vimwiki_rxTable.'/'
|
||||||
syntax match VimwikiTableRow /\s*|.\+|\s*/
|
syntax match VimwikiTableRow /^\s*|.\+|\s*$/
|
||||||
\ transparent contains=VimwikiCellSeparator,VimwikiLink,
|
\ transparent contains=VimwikiCellSeparator,VimwikiLinkT,
|
||||||
\ VimwikiNoExistsLink,VimwikiEmoticons,VimwikiTodo,
|
\ VimwikiNoExistsLinkT,VimwikiEmoticons,VimwikiTodo,
|
||||||
\ VimwikiBold,VimwikiItalic,VimwikiBoldItalic,VimwikiItalicBold,
|
\ VimwikiBoldT,VimwikiItalicT,VimwikiBoldItalicT,VimwikiItalicBoldT,
|
||||||
\ VimwikiDelText,VimwikiSuperScript,VimwikiSubScript,VimwikiCode
|
\ VimwikiDelTextT,VimwikiSuperScriptT,VimwikiSubScriptT,VimwikiCodeT
|
||||||
syntax match VimwikiCellSeparator
|
syntax match VimwikiCellSeparator
|
||||||
\ /\%(|\)\|\%(-\@<=+\-\@=\)\|\%([|+]\@<=-\+\)/ contained
|
\ /\%(|\)\|\%(-\@<=+\-\@=\)\|\%([|+]\@<=-\+\)/ contained
|
||||||
|
|
||||||
@ -54,21 +76,29 @@ execute 'syntax match VimwikiList /'.g:vimwiki_rxListBullet.'/'
|
|||||||
execute 'syntax match VimwikiList /'.g:vimwiki_rxListNumber.'/'
|
execute 'syntax match VimwikiList /'.g:vimwiki_rxListNumber.'/'
|
||||||
execute 'syntax match VimwikiList /'.g:vimwiki_rxListDefine.'/'
|
execute 'syntax match VimwikiList /'.g:vimwiki_rxListDefine.'/'
|
||||||
|
|
||||||
execute 'syntax match VimwikiBold /'.g:vimwiki_rxBold.'/'
|
execute 'syntax match VimwikiBold /'.g:vimwiki_rxBold.'/ contains=VimwikiBoldChar'
|
||||||
|
execute 'syntax match VimwikiBoldT /'.g:vimwiki_rxBold.'/ contained contains=VimwikiBoldCharT'
|
||||||
|
|
||||||
execute 'syntax match VimwikiItalic /'.g:vimwiki_rxItalic.'/'
|
execute 'syntax match VimwikiItalic /'.g:vimwiki_rxItalic.'/ contains=VimwikiItalicChar'
|
||||||
|
execute 'syntax match VimwikiItalicT /'.g:vimwiki_rxItalic.'/ contained contains=VimwikiItalicCharT'
|
||||||
|
|
||||||
execute 'syntax match VimwikiBoldItalic /'.g:vimwiki_rxBoldItalic.'/'
|
execute 'syntax match VimwikiBoldItalic /'.g:vimwiki_rxBoldItalic.'/ contains=VimwikiBoldItalicChar,VimwikiItalicBoldChar'
|
||||||
|
execute 'syntax match VimwikiBoldItalicT /'.g:vimwiki_rxBoldItalic.'/ contained contains=VimwikiBoldItalicChatT,VimwikiItalicBoldCharT'
|
||||||
|
|
||||||
execute 'syntax match VimwikiItalicBold /'.g:vimwiki_rxItalicBold.'/'
|
execute 'syntax match VimwikiItalicBold /'.g:vimwiki_rxItalicBold.'/ contains=VimwikiBoldItalicChar,VimwikiItalicBoldChar'
|
||||||
|
execute 'syntax match VimwikiItalicBoldT /'.g:vimwiki_rxItalicBold.'/ contained contains=VimwikiBoldItalicCharT,VimsikiItalicBoldCharT'
|
||||||
|
|
||||||
execute 'syntax match VimwikiDelText /'.g:vimwiki_rxDelText.'/'
|
execute 'syntax match VimwikiDelText /'.g:vimwiki_rxDelText.'/ contains=VimwikiDelTextChar'
|
||||||
|
execute 'syntax match VimwikiDelTextT /'.g:vimwiki_rxDelText.'/ contained contains=VimwikiDelTextChar'
|
||||||
|
|
||||||
execute 'syntax match VimwikiSuperScript /'.g:vimwiki_rxSuperScript.'/'
|
execute 'syntax match VimwikiSuperScript /'.g:vimwiki_rxSuperScript.'/ contains=VimwikiSuperScriptChar'
|
||||||
|
execute 'syntax match VimwikiSuperScriptT /'.g:vimwiki_rxSuperScript.'/ contained contains=VimwikiSuperScriptCharT'
|
||||||
|
|
||||||
execute 'syntax match VimwikiSubScript /'.g:vimwiki_rxSubScript.'/'
|
execute 'syntax match VimwikiSubScript /'.g:vimwiki_rxSubScript.'/ contains=VimwikiSubScriptChar'
|
||||||
|
execute 'syntax match VimwikiSubScriptT /'.g:vimwiki_rxSubScript.'/ contained contains=VimwikiSubScriptCharT'
|
||||||
|
|
||||||
execute 'syntax match VimwikiCode /'.g:vimwiki_rxCode.'/'
|
execute 'syntax match VimwikiCode /'.g:vimwiki_rxCode.'/ contains=VimwikiCodeChar'
|
||||||
|
execute 'syntax match VimwikiCodeT /'.g:vimwiki_rxCode.'/ contained contains=VimwikiCodeCharT'
|
||||||
|
|
||||||
" <hr> horizontal rule
|
" <hr> horizontal rule
|
||||||
execute 'syntax match VimwikiHR /'.g:vimwiki_rxHR.'/'
|
execute 'syntax match VimwikiHR /'.g:vimwiki_rxHR.'/'
|
||||||
@ -88,62 +118,107 @@ if g:vimwiki_hl_cb_checked
|
|||||||
endif
|
endif
|
||||||
|
|
||||||
" placeholders
|
" placeholders
|
||||||
syntax match VimwikiPlaceholder /^\s*%toc\%(\s.*\)\?$/
|
syntax match VimwikiPlaceholder /^\s*%toc\%(\s.*\)\?$/ contains=VimwikiPlaceholderParam
|
||||||
syntax match VimwikiPlaceholder /^\s*%nohtml\s*$/
|
syntax match VimwikiPlaceholder /^\s*%nohtml\s*$/
|
||||||
|
syntax match VimwikiPlaceholder /^\s*%title\%(\s.*\)\?$/ contains=VimwikiPlaceholderParam
|
||||||
|
syntax match VimwikiPlaceholderParam /\s.*/ contained
|
||||||
|
|
||||||
" html tags
|
" html tags
|
||||||
syntax match VimwikiHTMLtag '<br\s*/\?>'
|
let html_tags = join(split(g:vimwiki_valid_html_tags, '\s*,\s*'), '\|')
|
||||||
syntax match VimwikiHTMLtag '<hr\s*/\?>'
|
exe 'syntax match VimwikiHTMLtag #\c</\?\%('.html_tags.'\)\%(\s\{-1}\S\{-}\)\{-}\s*/\?>#'
|
||||||
|
execute 'syntax match VimwikiBold #\c<b>.\{-}</b># contains=VimwikiHTMLTag'
|
||||||
|
execute 'syntax match VimwikiItalic #\c<i>.\{-}</i># contains=VimwikiHTMLTag'
|
||||||
|
execute 'syntax match VimwikiUnderline #\c<u>.\{-}</u># contains=VimwikiHTMLTag'
|
||||||
|
|
||||||
syntax region VimwikiComment start='<!--' end='-->'
|
syntax region VimwikiComment start='<!--' end='-->'
|
||||||
|
|
||||||
if !vimwiki#hl_exists("VimwikiHeader1")
|
if g:vimwiki_hl_headers == 0
|
||||||
execute 'syntax match VimwikiHeader /'.g:vimwiki_rxHeader.'/ contains=VimwikiTodo'
|
execute 'syntax match VimwikiHeader /'.g:vimwiki_rxHeader.'/ contains=VimwikiTodo,VimwikiHeaderChar'
|
||||||
else
|
else
|
||||||
" Header levels, 1-6
|
" Header levels, 1-6
|
||||||
execute 'syntax match VimwikiHeader1 /'.g:vimwiki_rxH1.'/ contains=VimwikiTodo'
|
execute 'syntax match VimwikiHeader1 /'.g:vimwiki_rxH1.'/ contains=VimwikiTodo,VimwikiHeaderChar'
|
||||||
execute 'syntax match VimwikiHeader2 /'.g:vimwiki_rxH2.'/ contains=VimwikiTodo'
|
execute 'syntax match VimwikiHeader2 /'.g:vimwiki_rxH2.'/ contains=VimwikiTodo,VimwikiHeaderChar'
|
||||||
execute 'syntax match VimwikiHeader3 /'.g:vimwiki_rxH3.'/ contains=VimwikiTodo'
|
execute 'syntax match VimwikiHeader3 /'.g:vimwiki_rxH3.'/ contains=VimwikiTodo,VimwikiHeaderChar'
|
||||||
execute 'syntax match VimwikiHeader4 /'.g:vimwiki_rxH4.'/ contains=VimwikiTodo'
|
execute 'syntax match VimwikiHeader4 /'.g:vimwiki_rxH4.'/ contains=VimwikiTodo,VimwikiHeaderChar'
|
||||||
execute 'syntax match VimwikiHeader5 /'.g:vimwiki_rxH5.'/ contains=VimwikiTodo'
|
execute 'syntax match VimwikiHeader5 /'.g:vimwiki_rxH5.'/ contains=VimwikiTodo,VimwikiHeaderChar'
|
||||||
execute 'syntax match VimwikiHeader6 /'.g:vimwiki_rxH6.'/ contains=VimwikiTodo'
|
execute 'syntax match VimwikiHeader6 /'.g:vimwiki_rxH6.'/ contains=VimwikiTodo,VimwikiHeaderChar'
|
||||||
endif
|
endif
|
||||||
|
|
||||||
" group names "{{{
|
" group names "{{{
|
||||||
if !vimwiki#hl_exists("VimwikiHeader1")
|
|
||||||
hi def link VimwikiHeader Title
|
call vimwiki#setup_colors()
|
||||||
else
|
|
||||||
hi def link VimwikiHeader1 Title
|
|
||||||
hi def link VimwikiHeader2 Title
|
|
||||||
hi def link VimwikiHeader3 Title
|
|
||||||
hi def link VimwikiHeader4 Title
|
|
||||||
hi def link VimwikiHeader5 Title
|
|
||||||
hi def link VimwikiHeader6 Title
|
|
||||||
endif
|
|
||||||
|
|
||||||
hi def VimwikiBold term=bold cterm=bold gui=bold
|
hi def VimwikiBold term=bold cterm=bold gui=bold
|
||||||
|
hi def link VimwikiBoldT VimwikiBold
|
||||||
|
|
||||||
hi def VimwikiItalic term=italic cterm=italic gui=italic
|
hi def VimwikiItalic term=italic cterm=italic gui=italic
|
||||||
|
hi def link VimwikiItalicT VimwikiItalic
|
||||||
|
|
||||||
hi def VimwikiBoldItalic term=bold cterm=bold gui=bold,italic
|
hi def VimwikiBoldItalic term=bold cterm=bold gui=bold,italic
|
||||||
hi def link VimwikiItalicBold VimwikiBoldItalic
|
hi def link VimwikiItalicBold VimwikiBoldItalic
|
||||||
|
hi def link VimwikiBoldItalicT VimwikiBoldItalic
|
||||||
|
hi def link VimwikiItalicBoldT VimwikiBoldItalic
|
||||||
|
|
||||||
|
hi def VimwikiUnderline gui=underline
|
||||||
|
|
||||||
hi def link VimwikiCode PreProc
|
hi def link VimwikiCode PreProc
|
||||||
|
hi def link VimwikiCodeT VimwikiCode
|
||||||
|
|
||||||
hi def link VimwikiNoExistsLink Error
|
hi def link VimwikiNoExistsLink Error
|
||||||
|
hi def link VimwikiNoExistsLinkT VimwikiNoExistsLink
|
||||||
|
|
||||||
hi def link VimwikiPre PreProc
|
hi def link VimwikiPre PreProc
|
||||||
|
hi def link VimwikiPreT VimwikiPre
|
||||||
|
|
||||||
hi def link VimwikiLink Underlined
|
hi def link VimwikiLink Underlined
|
||||||
|
hi def link VimwikiLinkT Underlined
|
||||||
|
|
||||||
hi def link VimwikiList Function
|
hi def link VimwikiList Function
|
||||||
hi def link VimwikiCheckBox VimwikiList
|
hi def link VimwikiCheckBox VimwikiList
|
||||||
hi def link VimwikiCheckBoxDone Comment
|
hi def link VimwikiCheckBoxDone Comment
|
||||||
hi def link VimwikiEmoticons Character
|
hi def link VimwikiEmoticons Character
|
||||||
|
|
||||||
hi def link VimwikiDelText Constant
|
hi def link VimwikiDelText Constant
|
||||||
|
hi def link VimwikiDelTextT VimwikiDelText
|
||||||
|
|
||||||
hi def link VimwikiSuperScript Number
|
hi def link VimwikiSuperScript Number
|
||||||
|
hi def link VimwikiSuperScriptT VimwikiSuperScript
|
||||||
|
|
||||||
hi def link VimwikiSubScript Number
|
hi def link VimwikiSubScript Number
|
||||||
|
hi def link VimwikiSubScriptT VimwikiSubScript
|
||||||
|
|
||||||
hi def link VimwikiTodo Todo
|
hi def link VimwikiTodo Todo
|
||||||
hi def link VimwikiComment Comment
|
hi def link VimwikiComment Comment
|
||||||
|
|
||||||
hi def link VimwikiCellSeparator SpecialKey
|
hi def link VimwikiCellSeparator PreProc
|
||||||
|
|
||||||
hi def link VimwikiPlaceholder SpecialKey
|
hi def link VimwikiPlaceholder SpecialKey
|
||||||
|
hi def link VimwikiPlaceholderParam String
|
||||||
hi def link VimwikiHTMLtag SpecialKey
|
hi def link VimwikiHTMLtag SpecialKey
|
||||||
|
|
||||||
|
hi def link VimwikiBoldChar VimwikiIgnore
|
||||||
|
hi def link VimwikiItalicChar VimwikiIgnore
|
||||||
|
hi def link VimwikiBoldItalicChar VimwikiIgnore
|
||||||
|
hi def link VimwikiItalicBoldChar VimwikiIgnore
|
||||||
|
hi def link VimwikiDelTextChar VimwikiIgnore
|
||||||
|
hi def link VimwikiSuperScriptChar VimwikiIgnore
|
||||||
|
hi def link VimwikiSubScriptChar VimwikiIgnore
|
||||||
|
hi def link VimwikiCodeChar VimwikiIgnore
|
||||||
|
hi def link VimwikiHeaderChar VimwikiIgnore
|
||||||
|
hi def link VimwikiLinkChar VimwikiLink
|
||||||
|
hi def link VimwikiNoLinkChar VimwikiNoExistsLink
|
||||||
|
|
||||||
|
hi def link VimwikiBoldCharT VimwikiIgnore
|
||||||
|
hi def link VimwikiItalicCharT VimwikiIgnore
|
||||||
|
hi def link VimwikiBoldItalicCharT VimwikiIgnore
|
||||||
|
hi def link VimwikiItalicBoldCharT VimwikiIgnore
|
||||||
|
hi def link VimwikiDelTextCharT VimwikiIgnore
|
||||||
|
hi def link VimwikiSuperScriptCharT VimwikiIgnore
|
||||||
|
hi def link VimwikiSubScriptCharT VimwikiIgnore
|
||||||
|
hi def link VimwikiCodeCharT VimwikiIgnore
|
||||||
|
hi def link VimwikiHeaderCharT VimwikiIgnore
|
||||||
|
hi def link VimwikiLinkCharT VimwikiLinkT
|
||||||
|
hi def link VimwikiNoLinkCharT VimwikiNoExistsLinkT
|
||||||
"}}}
|
"}}}
|
||||||
|
|
||||||
let b:current_syntax="vimwiki"
|
let b:current_syntax="vimwiki"
|
||||||
@ -153,9 +228,9 @@ let nested = VimwikiGet('nested_syntaxes')
|
|||||||
if !empty(nested)
|
if !empty(nested)
|
||||||
for [hl_syntax, vim_syntax] in items(nested)
|
for [hl_syntax, vim_syntax] in items(nested)
|
||||||
call vimwiki#nested_syntax(vim_syntax,
|
call vimwiki#nested_syntax(vim_syntax,
|
||||||
\ '^{{{\%(.*[[:blank:][:punct:]]\)\?'.
|
\ '^\s*{{{\%(.*[[:blank:][:punct:]]\)\?'.
|
||||||
\ hl_syntax.'\%([[:blank:][:punct:]].*\)\?',
|
\ hl_syntax.'\%([[:blank:][:punct:]].*\)\?',
|
||||||
\ '^}}}', 'VimwikiPre')
|
\ '^\s*}}}', 'VimwikiPre')
|
||||||
endfor
|
endfor
|
||||||
endif
|
endif
|
||||||
"}}}
|
"}}}
|
||||||
|
@ -11,6 +11,7 @@ let g:vimwiki_rxBold = '\%(^\|\s\|[[:punct:]]\)\@<='.
|
|||||||
\'\%([^*`[:space:]][^*`]*[^*`[:space:]]\|[^*`[:space:]]\)'.
|
\'\%([^*`[:space:]][^*`]*[^*`[:space:]]\|[^*`[:space:]]\)'.
|
||||||
\'\*'.
|
\'\*'.
|
||||||
\'\%([[:punct:]]\|\s\|$\)\@='
|
\'\%([[:punct:]]\|\s\|$\)\@='
|
||||||
|
let g:vimwiki_char_bold = '*'
|
||||||
|
|
||||||
" text: _emphasis_
|
" text: _emphasis_
|
||||||
" let g:vimwiki_rxItalic = '_[^_]\+_'
|
" let g:vimwiki_rxItalic = '_[^_]\+_'
|
||||||
@ -19,6 +20,7 @@ let g:vimwiki_rxItalic = '\%(^\|\s\|[[:punct:]]\)\@<='.
|
|||||||
\'\%([^_`[:space:]][^_`]*[^_`[:space:]]\|[^_`[:space:]]\)'.
|
\'\%([^_`[:space:]][^_`]*[^_`[:space:]]\|[^_`[:space:]]\)'.
|
||||||
\'_'.
|
\'_'.
|
||||||
\'\%([[:punct:]]\|\s\|$\)\@='
|
\'\%([[:punct:]]\|\s\|$\)\@='
|
||||||
|
let g:vimwiki_char_italic = '_'
|
||||||
|
|
||||||
" text: *_bold italic_* or _*italic bold*_
|
" text: *_bold italic_* or _*italic bold*_
|
||||||
let g:vimwiki_rxBoldItalic = '\%(^\|\s\|[[:punct:]]\)\@<='.
|
let g:vimwiki_rxBoldItalic = '\%(^\|\s\|[[:punct:]]\)\@<='.
|
||||||
@ -26,24 +28,30 @@ let g:vimwiki_rxBoldItalic = '\%(^\|\s\|[[:punct:]]\)\@<='.
|
|||||||
\'\%([^*_`[:space:]][^*_`]*[^*_`[:space:]]\|[^*_`[:space:]]\)'.
|
\'\%([^*_`[:space:]][^*_`]*[^*_`[:space:]]\|[^*_`[:space:]]\)'.
|
||||||
\'_\*'.
|
\'_\*'.
|
||||||
\'\%([[:punct:]]\|\s\|$\)\@='
|
\'\%([[:punct:]]\|\s\|$\)\@='
|
||||||
|
let g:vimwiki_char_bolditalic = '\*_'
|
||||||
|
|
||||||
let g:vimwiki_rxItalicBold = '\%(^\|\s\|[[:punct:]]\)\@<='.
|
let g:vimwiki_rxItalicBold = '\%(^\|\s\|[[:punct:]]\)\@<='.
|
||||||
\'_\*'.
|
\'_\*'.
|
||||||
\'\%([^*_`[:space:]][^*_`]*[^*_`[:space:]]\|[^*_`[:space:]]\)'.
|
\'\%([^*_`[:space:]][^*_`]*[^*_`[:space:]]\|[^*_`[:space:]]\)'.
|
||||||
\'\*_'.
|
\'\*_'.
|
||||||
\'\%([[:punct:]]\|\s\|$\)\@='
|
\'\%([[:punct:]]\|\s\|$\)\@='
|
||||||
|
let g:vimwiki_char_italicbold = '_\*'
|
||||||
|
|
||||||
" text: `code`
|
" text: `code`
|
||||||
let g:vimwiki_rxCode = '`[^`]\+`'
|
let g:vimwiki_rxCode = '`[^`]\+`'
|
||||||
|
let g:vimwiki_char_code = '`'
|
||||||
|
|
||||||
" text: ~~deleted text~~
|
" text: ~~deleted text~~
|
||||||
let g:vimwiki_rxDelText = '\~\~[^~`]\+\~\~'
|
let g:vimwiki_rxDelText = '\~\~[^~`]\+\~\~'
|
||||||
|
let g:vimwiki_char_deltext = '\~\~'
|
||||||
|
|
||||||
" text: ^superscript^
|
" text: ^superscript^
|
||||||
let g:vimwiki_rxSuperScript = '\^[^^`]\+\^'
|
let g:vimwiki_rxSuperScript = '\^[^^`]\+\^'
|
||||||
|
let g:vimwiki_char_superscript = '^'
|
||||||
|
|
||||||
" text: ,,subscript,,
|
" text: ,,subscript,,
|
||||||
let g:vimwiki_rxSubScript = ',,[^,`]\+,,'
|
let g:vimwiki_rxSubScript = ',,[^,`]\+,,'
|
||||||
|
let g:vimwiki_char_subscript = ',,'
|
||||||
|
|
||||||
" Header levels, 1-6
|
" Header levels, 1-6
|
||||||
let g:vimwiki_rxH1 = '^\s*=\{1}[^=]\+.*[^=]\+=\{1}\s*$'
|
let g:vimwiki_rxH1 = '^\s*=\{1}[^=]\+.*[^=]\+=\{1}\s*$'
|
||||||
@ -59,12 +67,11 @@ let g:vimwiki_rxHeader = '\%('.g:vimwiki_rxH1.'\)\|'.
|
|||||||
\ '\%('.g:vimwiki_rxH5.'\)\|'.
|
\ '\%('.g:vimwiki_rxH5.'\)\|'.
|
||||||
\ '\%('.g:vimwiki_rxH6.'\)'
|
\ '\%('.g:vimwiki_rxH6.'\)'
|
||||||
|
|
||||||
|
let g:vimwiki_char_header = '\%(^\s*=\+\)\|\%(=\+\s*$\)'
|
||||||
|
|
||||||
" <hr>, horizontal rule
|
" <hr>, horizontal rule
|
||||||
let g:vimwiki_rxHR = '^----.*$'
|
let g:vimwiki_rxHR = '^----.*$'
|
||||||
|
|
||||||
" Tables. Each line starts and ends with '||'; each cell is separated by '||'
|
|
||||||
let g:vimwiki_rxTable = '||'
|
|
||||||
|
|
||||||
" List items start with optional whitespace(s) then '* ' or '# '
|
" List items start with optional whitespace(s) then '* ' or '# '
|
||||||
let g:vimwiki_rxListBullet = '^\s*\%(\*\|-\)\s'
|
let g:vimwiki_rxListBullet = '^\s*\%(\*\|-\)\s'
|
||||||
let g:vimwiki_rxListNumber = '^\s*#\s'
|
let g:vimwiki_rxListNumber = '^\s*#\s'
|
||||||
|
@ -6,25 +6,33 @@
|
|||||||
|
|
||||||
" text: '''strong'''
|
" text: '''strong'''
|
||||||
let g:vimwiki_rxBold = "'''[^']\\+'''"
|
let g:vimwiki_rxBold = "'''[^']\\+'''"
|
||||||
|
let g:vimwiki_char_bold = "'''"
|
||||||
|
|
||||||
" text: ''emphasis''
|
" text: ''emphasis''
|
||||||
let g:vimwiki_rxItalic = "''[^']\\+''"
|
let g:vimwiki_rxItalic = "''[^']\\+''"
|
||||||
|
let g:vimwiki_char_italic = "''"
|
||||||
|
|
||||||
" text: '''''strong italic'''''
|
" text: '''''strong italic'''''
|
||||||
let g:vimwiki_rxBoldItalic = "'''''[^']\\+'''''"
|
let g:vimwiki_rxBoldItalic = "'''''[^']\\+'''''"
|
||||||
let g:vimwiki_rxItalicBold = g:vimwiki_rxBoldItalic
|
let g:vimwiki_rxItalicBold = g:vimwiki_rxBoldItalic
|
||||||
|
let g:vimwiki_char_bolditalic = "'''''"
|
||||||
|
let g:vimwiki_char_italicbold = g:vimwiki_char_bolditalic
|
||||||
|
|
||||||
" text: `code`
|
" text: `code`
|
||||||
let g:vimwiki_rxCode = '`[^`]\+`'
|
let g:vimwiki_rxCode = '`[^`]\+`'
|
||||||
|
let g:vimwiki_char_code = '`'
|
||||||
|
|
||||||
" text: ~~deleted text~~
|
" text: ~~deleted text~~
|
||||||
let g:vimwiki_rxDelText = '\~\~[^~]\+\~\~'
|
let g:vimwiki_rxDelText = '\~\~[^~]\+\~\~'
|
||||||
|
let g:vimwiki_char_deltext = '\~\~'
|
||||||
|
|
||||||
" text: ^superscript^
|
" text: ^superscript^
|
||||||
let g:vimwiki_rxSuperScript = '\^[^^]\+\^'
|
let g:vimwiki_rxSuperScript = '\^[^^]\+\^'
|
||||||
|
let g:vimwiki_char_superscript = '^'
|
||||||
|
|
||||||
" text: ,,subscript,,
|
" text: ,,subscript,,
|
||||||
let g:vimwiki_rxSubScript = ',,[^,]\+,,'
|
let g:vimwiki_rxSubScript = ',,[^,]\+,,'
|
||||||
|
let g:vimwiki_char_subscript = ',,'
|
||||||
|
|
||||||
" Header levels, 1-6
|
" Header levels, 1-6
|
||||||
let g:vimwiki_rxH1 = '^\s*=\{1}[^=]\+.*[^=]\+=\{1}\s*$'
|
let g:vimwiki_rxH1 = '^\s*=\{1}[^=]\+.*[^=]\+=\{1}\s*$'
|
||||||
@ -39,6 +47,7 @@ let g:vimwiki_rxHeader = '\%('.g:vimwiki_rxH1.'\)\|'.
|
|||||||
\ '\%('.g:vimwiki_rxH4.'\)\|'.
|
\ '\%('.g:vimwiki_rxH4.'\)\|'.
|
||||||
\ '\%('.g:vimwiki_rxH5.'\)\|'.
|
\ '\%('.g:vimwiki_rxH5.'\)\|'.
|
||||||
\ '\%('.g:vimwiki_rxH6.'\)'
|
\ '\%('.g:vimwiki_rxH6.'\)'
|
||||||
|
let g:vimwiki_char_header = '\%(^\s*=\+\)\|\%(=\+\s*$\)'
|
||||||
|
|
||||||
" <hr>, horizontal rule
|
" <hr>, horizontal rule
|
||||||
let g:vimwiki_rxHR = '^----.*$'
|
let g:vimwiki_rxHR = '^----.*$'
|
||||||
|
Loading…
Reference in New Issue
Block a user