diff options
| author | Kumar Damani <damani.kumar@gmail.com> | 2019-04-26 18:49:26 +0000 |
|---|---|---|
| committer | Kumar Damani <damani.kumar@gmail.com> | 2019-04-26 18:49:26 +0000 |
| commit | 5a6ed5fcb3b89d0c2b4e8ba2953c4ba806d4b171 (patch) | |
| tree | 5be0c043b0c8d632e35a8b4ef7e23452b103b94d /vim/.vim/plugged/vimwiki/ftplugin | |
| parent | af821092fe78ef159d7cb6536bb006712dc01b9d (diff) | |
added vim dir
Diffstat (limited to 'vim/.vim/plugged/vimwiki/ftplugin')
| -rw-r--r-- | vim/.vim/plugged/vimwiki/ftplugin/vimwiki.vim | 699 |
1 files changed, 699 insertions, 0 deletions
diff --git a/vim/.vim/plugged/vimwiki/ftplugin/vimwiki.vim b/vim/.vim/plugged/vimwiki/ftplugin/vimwiki.vim new file mode 100644 index 0000000..6b517dc --- /dev/null +++ b/vim/.vim/plugged/vimwiki/ftplugin/vimwiki.vim @@ -0,0 +1,699 @@ +" vim:tabstop=2:shiftwidth=2:expandtab:textwidth=99 +" Vimwiki filetype plugin file +" Home: https://github.com/vimwiki/vimwiki/ + +if exists("b:did_ftplugin") + finish +endif +let b:did_ftplugin = 1 " Don't load another plugin for this buffer + + + +setlocal commentstring=%%%s + +if vimwiki#vars#get_global('conceallevel') && exists("+conceallevel") + let &l:conceallevel = vimwiki#vars#get_global('conceallevel') +endif + +" This is for GOTO FILE: gf +execute 'setlocal suffixesadd='.vimwiki#vars#get_wikilocal('ext') +setlocal isfname-=[,] + +exe "setlocal tags+=" . escape(vimwiki#tags#metadata_file_path(), ' \|"') + + + +function! Complete_wikifiles(findstart, base) + if a:findstart == 1 + let column = col('.')-2 + let line = getline('.')[:column] + let startoflink = match(line, '\[\[\zs[^\\[\]]*$') + if startoflink != -1 + let s:line_context = '[' + return startoflink + endif + if vimwiki#vars#get_wikilocal('syntax') ==? 'markdown' + let startofinlinelink = match(line, '\[.*\](\zs[^)]*$') + if startofinlinelink != -1 + let s:line_context = '[' + return startofinlinelink + endif + endif + let startoftag = match(line, ':\zs[^:[:space:]]*$') + if startoftag != -1 + let s:line_context = ':' + return startoftag + endif + let s:line_context = '' + return -1 + else + " Completion works for wikilinks/anchors, and for tags. s:line_content + " tells us which string came before a:base. There seems to be no easier + " solution, because calling col('.') here returns garbage. + if s:line_context == '' + return [] + elseif s:line_context == ':' + " Tags completion + let tags = vimwiki#tags#get_tags() + if a:base != '' + call filter(tags, + \ "v:val[:" . (len(a:base)-1) . "] == '" . substitute(a:base, "'", "''", '') . "'" ) + endif + return tags + elseif a:base !~# '#' + " we look for wiki files + + if a:base =~# '^wiki\d:' + let wikinumber = eval(matchstr(a:base, '^wiki\zs\d')) + if wikinumber >= vimwiki#vars#number_of_wikis() + return [] + endif + let prefix = matchstr(a:base, '^wiki\d:\zs.*') + let scheme = matchstr(a:base, '^wiki\d:\ze') + elseif a:base =~# '^diary:' + let wikinumber = -1 + let prefix = matchstr(a:base, '^diary:\zs.*') + let scheme = matchstr(a:base, '^diary:\ze') + else " current wiki + let wikinumber = vimwiki#vars#get_bufferlocal('wiki_nr') + let prefix = a:base + let scheme = '' + endif + + let links = vimwiki#base#get_wikilinks(wikinumber, 1) + let result = [] + for wikifile in links + if wikifile =~ '^'.vimwiki#u#escape(prefix) + call add(result, scheme . wikifile) + endif + endfor + return result + + else + " we look for anchors in the given wikifile + + let segments = split(a:base, '#', 1) + let given_wikifile = segments[0] == '' ? expand('%:t:r') : segments[0] + let link_infos = vimwiki#base#resolve_link(given_wikifile.'#') + let wikifile = link_infos.filename + let syntax = vimwiki#vars#get_wikilocal('syntax', link_infos.index) + let anchors = vimwiki#base#get_anchors(wikifile, syntax) + + let filtered_anchors = [] + let given_anchor = join(segments[1:], '#') + for anchor in anchors + if anchor =~# '^'.vimwiki#u#escape(given_anchor) + call add(filtered_anchors, segments[0].'#'.anchor) + endif + endfor + return filtered_anchors + + endif + endif +endfunction + +setlocal omnifunc=Complete_wikifiles + + + +" settings necessary for the automatic formatting of lists +setlocal autoindent +setlocal nosmartindent +setlocal nocindent +setlocal comments="" +setlocal formatoptions-=c +setlocal formatoptions-=r +setlocal formatoptions-=o +setlocal formatoptions-=2 +setlocal formatoptions+=n + +let &formatlistpat = vimwiki#vars#get_syntaxlocal('rxListItem') + +if !empty(&langmap) + " Valid only if langmap is a comma separated pairs of chars + let s:l_o = matchstr(&langmap, '\C,\zs.\zeo,') + if s:l_o + exe 'nnoremap <silent> <buffer> '.s:l_o.' :call vimwiki#lst#kbd_o()<CR>a' + endif + + let s:l_O = matchstr(&langmap, '\C,\zs.\zeO,') + if s:l_O + exe 'nnoremap <silent> <buffer> '.s:l_O.' :call vimwiki#lst#kbd_O()<CR>a' + endif +endif + + + +" ------------------------------------------------ +" Folding stuff +" ------------------------------------------------ + +function! VimwikiFoldListLevel(lnum) + return vimwiki#lst#fold_level(a:lnum) +endfunction + + +function! VimwikiFoldLevel(lnum) + let line = getline(a:lnum) + + " Header/section folding... + if line =~# vimwiki#vars#get_syntaxlocal('rxHeader') + return '>'.vimwiki#u#count_first_sym(line) + " Code block folding... + elseif line =~# vimwiki#vars#get_syntaxlocal('rxPreStart') + return 'a1' + elseif line =~# vimwiki#vars#get_syntaxlocal('rxPreEnd') + return 's1' + else + return "=" + endif +endfunction + + +" Constants used by VimwikiFoldText +" use \u2026 and \u21b2 (or \u2424) if enc=utf-8 to save screen space +let s:ellipsis = (&enc ==? 'utf-8') ? "\u2026" : "..." +let s:ell_len = strlen(s:ellipsis) +let s:newline = (&enc ==? 'utf-8') ? "\u21b2 " : " " +let s:tolerance = 5 + + +" unused +function! s:shorten_text_simple(text, len) + let spare_len = a:len - len(a:text) + return (spare_len>=0) ? [a:text,spare_len] : [a:text[0:a:len].s:ellipsis, -1] +endfunction + + +" s:shorten_text(text, len) = [string, spare] with "spare" = len-strlen(string) +" for long enough "text", the string's length is within s:tolerance of "len" +" (so that -s:tolerance <= spare <= s:tolerance, "string" ends with s:ellipsis) +function! s:shorten_text(text, len) + " returns [string, spare] + " strlen() returns lenght in bytes, not in characters, so we'll have to do a + " trick here -- replace all non-spaces with dot, calculate lengths and + " indexes on it, then use original string to break at selected index. + let text_pattern = substitute(a:text, '\m\S', '.', 'g') + let spare_len = a:len - strlen(text_pattern) + if (spare_len + s:tolerance >= 0) + return [a:text, spare_len] + endif + " try to break on a space; assumes a:len-s:ell_len >= s:tolerance + let newlen = a:len - s:ell_len + let idx = strridx(text_pattern, ' ', newlen + s:tolerance) + let break_idx = (idx + s:tolerance >= newlen) ? idx : newlen + return [matchstr(a:text, '\m^.\{'.break_idx.'\}').s:ellipsis, newlen - break_idx] +endfunction + + +function! VimwikiFoldText() + let line = getline(v:foldstart) + let main_text = substitute(line, '^\s*', repeat(' ',indent(v:foldstart)), '') + let fold_len = v:foldend - v:foldstart + 1 + let len_text = ' ['.fold_len.'] ' + if line !~# vimwiki#vars#get_syntaxlocal('rxPreStart') + let [main_text, spare_len] = s:shorten_text(main_text, 50) + return main_text.len_text + else + " fold-text for code blocks: use one or two of the starting lines + let [main_text, spare_len] = s:shorten_text(main_text, 24) + let line1 = substitute(getline(v:foldstart+1), '^\s*', ' ', '') + let [content_text, spare_len] = s:shorten_text(line1, spare_len+20) + if spare_len > s:tolerance && fold_len > 3 + let line2 = substitute(getline(v:foldstart+2), '^\s*', s:newline, '') + let [more_text, spare_len] = s:shorten_text(line2, spare_len+12) + let content_text .= more_text + endif + return main_text.len_text.content_text + endif +endfunction + + + +" ------------------------------------------------ +" Commands +" ------------------------------------------------ + +command! -buffer Vimwiki2HTML + \ if filewritable(expand('%')) | silent noautocmd w | endif + \ <bar> + \ let res = vimwiki#html#Wiki2HTML(expand(vimwiki#vars#get_wikilocal('path_html')), + \ expand('%')) + \ <bar> + \ if res != '' | echo 'Vimwiki: HTML conversion is done, output: ' + \ . expand(vimwiki#vars#get_wikilocal('path_html')) | endif +command! -buffer Vimwiki2HTMLBrowse + \ if filewritable(expand('%')) | silent noautocmd w | endif + \ <bar> + \ call vimwiki#base#system_open_link(vimwiki#html#Wiki2HTML( + \ expand(vimwiki#vars#get_wikilocal('path_html')), + \ expand('%'))) +command! -buffer VimwikiAll2HTML + \ call vimwiki#html#WikiAll2HTML(expand(vimwiki#vars#get_wikilocal('path_html'))) + +command! -buffer VimwikiTOC call vimwiki#base#table_of_contents(1) + +command! -buffer VimwikiNextLink call vimwiki#base#find_next_link() +command! -buffer VimwikiPrevLink call vimwiki#base#find_prev_link() +command! -buffer VimwikiDeleteLink call vimwiki#base#delete_link() +command! -buffer VimwikiRenameLink call vimwiki#base#rename_link() +command! -buffer VimwikiFollowLink call vimwiki#base#follow_link('nosplit', 0, 1) +command! -buffer VimwikiGoBackLink call vimwiki#base#go_back_link() +command! -buffer VimwikiSplitLink call vimwiki#base#follow_link('hsplit', 0, 1) +command! -buffer VimwikiVSplitLink call vimwiki#base#follow_link('vsplit', 0, 1) + +command! -buffer -nargs=? VimwikiNormalizeLink call vimwiki#base#normalize_link(<f-args>) + +command! -buffer VimwikiTabnewLink call vimwiki#base#follow_link('tab', 0, 1) + +command! -buffer VimwikiGenerateLinks call vimwiki#base#generate_links() + +command! -buffer -nargs=0 VimwikiBacklinks call vimwiki#base#backlinks() +command! -buffer -nargs=0 VWB call vimwiki#base#backlinks() + +exe 'command! -buffer -nargs=* VimwikiSearch lvimgrep <args> '. + \ escape(vimwiki#vars#get_wikilocal('path').'**/*'.vimwiki#vars#get_wikilocal('ext'), ' ') + +exe 'command! -buffer -nargs=* VWS lvimgrep <args> '. + \ escape(vimwiki#vars#get_wikilocal('path').'**/*'.vimwiki#vars#get_wikilocal('ext'), ' ') + +command! -buffer -nargs=+ -complete=custom,vimwiki#base#complete_links_escaped + \ VimwikiGoto call vimwiki#base#goto(<f-args>) + +command! -buffer VimwikiCheckLinks call vimwiki#base#check_links() + +" list commands +command! -buffer -nargs=+ VimwikiReturn call <SID>CR(<f-args>) +command! -buffer -range -nargs=1 VimwikiChangeSymbolTo + \ call vimwiki#lst#change_marker(<line1>, <line2>, <f-args>, 'n') +command! -buffer -range -nargs=1 VimwikiListChangeSymbolI + \ call vimwiki#lst#change_marker(<line1>, <line2>, <f-args>, 'i') +command! -buffer -nargs=1 VimwikiChangeSymbolInListTo + \ call vimwiki#lst#change_marker_in_list(<f-args>) +command! -buffer -range VimwikiToggleListItem call vimwiki#lst#toggle_cb(<line1>, <line2>) +command! -buffer -range VimwikiToggleRejectedListItem + \ call vimwiki#lst#toggle_rejected_cb(<line1>, <line2>) +command! -buffer -range VimwikiIncrementListItem call vimwiki#lst#increment_cb(<line1>, <line2>) +command! -buffer -range VimwikiDecrementListItem call vimwiki#lst#decrement_cb(<line1>, <line2>) +command! -buffer -range -nargs=+ VimwikiListChangeLvl + \ call vimwiki#lst#change_level(<line1>, <line2>, <f-args>) +command! -buffer -range VimwikiRemoveSingleCB call vimwiki#lst#remove_cb(<line1>, <line2>) +command! -buffer VimwikiRemoveCBInList call vimwiki#lst#remove_cb_in_list() +command! -buffer VimwikiRenumberList call vimwiki#lst#adjust_numbered_list() +command! -buffer VimwikiRenumberAllLists call vimwiki#lst#adjust_whole_buffer() +command! -buffer VimwikiListToggle call vimwiki#lst#toggle_list_item() + +" table commands +command! -buffer -nargs=* VimwikiTable call vimwiki#tbl#create(<f-args>) +command! -buffer VimwikiTableAlignQ call vimwiki#tbl#align_or_cmd('gqq') +command! -buffer VimwikiTableAlignW call vimwiki#tbl#align_or_cmd('gww') +command! -buffer VimwikiTableMoveColumnLeft call vimwiki#tbl#move_column_left() +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() + +" tags commands +command! -buffer -bang VimwikiRebuildTags call vimwiki#tags#update_tags(1, '<bang>') +command! -buffer -nargs=* -complete=custom,vimwiki#tags#complete_tags + \ VimwikiSearchTags VimwikiSearch /:<args>:/ +command! -buffer -nargs=* -complete=custom,vimwiki#tags#complete_tags + \ VimwikiGenerateTags call vimwiki#tags#generate_tags(<f-args>) + +command! -buffer VimwikiPasteUrl call vimwiki#html#PasteUrl(expand('%:p')) +command! -buffer VimwikiCatUrl call vimwiki#html#CatUrl(expand('%:p')) + + +" ------------------------------------------------ +" Keybindings +" ------------------------------------------------ + +if vimwiki#vars#get_global('use_mouse') + nmap <buffer> <S-LeftMouse> <NOP> + nmap <buffer> <C-LeftMouse> <NOP> + nnoremap <silent><buffer> <2-LeftMouse> + \ :call vimwiki#base#follow_link('nosplit', 0, 1, "\<lt>2-LeftMouse>")<CR> + nnoremap <silent><buffer> <S-2-LeftMouse> <LeftMouse>:VimwikiSplitLink<CR> + nnoremap <silent><buffer> <C-2-LeftMouse> <LeftMouse>:VimwikiVSplitLink<CR> + nnoremap <silent><buffer> <RightMouse><LeftMouse> :VimwikiGoBackLink<CR> +endif + + +if !hasmapto('<Plug>Vimwiki2HTML') + exe 'nmap <buffer> '.vimwiki#vars#get_global('map_prefix').'h <Plug>Vimwiki2HTML' +endif +nnoremap <script><buffer> <Plug>Vimwiki2HTML :Vimwiki2HTML<CR> + +if !hasmapto('<Plug>Vimwiki2HTMLBrowse') + exe 'nmap <buffer> '.vimwiki#vars#get_global('map_prefix').'hh <Plug>Vimwiki2HTMLBrowse' +endif +nnoremap <script><buffer> <Plug>Vimwiki2HTMLBrowse :Vimwiki2HTMLBrowse<CR> + +if !hasmapto('<Plug>VimwikiFollowLink') + nmap <silent><buffer> <CR> <Plug>VimwikiFollowLink +endif +nnoremap <silent><script><buffer> <Plug>VimwikiFollowLink :VimwikiFollowLink<CR> + +if !hasmapto('<Plug>VimwikiSplitLink') + nmap <silent><buffer> <S-CR> <Plug>VimwikiSplitLink +endif +nnoremap <silent><script><buffer> <Plug>VimwikiSplitLink :VimwikiSplitLink<CR> + +if !hasmapto('<Plug>VimwikiVSplitLink') + nmap <silent><buffer> <C-CR> <Plug>VimwikiVSplitLink +endif +nnoremap <silent><script><buffer> <Plug>VimwikiVSplitLink :VimwikiVSplitLink<CR> + +if !hasmapto('<Plug>VimwikiNormalizeLink') + nmap <silent><buffer> + <Plug>VimwikiNormalizeLink +endif +nnoremap <silent><script><buffer> <Plug>VimwikiNormalizeLink :VimwikiNormalizeLink 0<CR> + +if !hasmapto('<Plug>VimwikiNormalizeLinkVisual') + vmap <silent><buffer> + <Plug>VimwikiNormalizeLinkVisual +endif +vnoremap <silent><script><buffer> <Plug>VimwikiNormalizeLinkVisual :<C-U>VimwikiNormalizeLink 1<CR> + +if !hasmapto('<Plug>VimwikiNormalizeLinkVisualCR') + vmap <silent><buffer> <CR> <Plug>VimwikiNormalizeLinkVisualCR +endif +vnoremap <silent><script><buffer> + \ <Plug>VimwikiNormalizeLinkVisualCR :<C-U>VimwikiNormalizeLink 1<CR> + +if !hasmapto('<Plug>VimwikiTabnewLink') + nmap <silent><buffer> <D-CR> <Plug>VimwikiTabnewLink + nmap <silent><buffer> <C-S-CR> <Plug>VimwikiTabnewLink +endif +nnoremap <silent><script><buffer> <Plug>VimwikiTabnewLink :VimwikiTabnewLink<CR> + +if !hasmapto('<Plug>VimwikiGoBackLink') + nmap <silent><buffer> <BS> <Plug>VimwikiGoBackLink +endif +nnoremap <silent><script><buffer> <Plug>VimwikiGoBackLink :VimwikiGoBackLink<CR> + +if !hasmapto('<Plug>VimwikiNextLink') + nmap <silent><buffer> <TAB> <Plug>VimwikiNextLink +endif +nnoremap <silent><script><buffer> <Plug>VimwikiNextLink :VimwikiNextLink<CR> + +if !hasmapto('<Plug>VimwikiPrevLink') + nmap <silent><buffer> <S-TAB> <Plug>VimwikiPrevLink +endif +nnoremap <silent><script><buffer> <Plug>VimwikiPrevLink :VimwikiPrevLink<CR> + +if !hasmapto('<Plug>VimwikiDeleteLink') + exe 'nmap <silent><buffer> '.vimwiki#vars#get_global('map_prefix').'d <Plug>VimwikiDeleteLink' +endif +nnoremap <silent><script><buffer> <Plug>VimwikiDeleteLink :VimwikiDeleteLink<CR> + +if !hasmapto('<Plug>VimwikiRenameLink') + exe 'nmap <silent><buffer> '.vimwiki#vars#get_global('map_prefix').'r <Plug>VimwikiRenameLink' +endif +nnoremap <silent><script><buffer> <Plug>VimwikiRenameLink :VimwikiRenameLink<CR> + +if !hasmapto('<Plug>VimwikiDiaryNextDay') + nmap <silent><buffer> <C-Down> <Plug>VimwikiDiaryNextDay +endif +nnoremap <silent><script><buffer> <Plug>VimwikiDiaryNextDay :VimwikiDiaryNextDay<CR> + +if !hasmapto('<Plug>VimwikiDiaryPrevDay') + nmap <silent><buffer> <C-Up> <Plug>VimwikiDiaryPrevDay +endif +nnoremap <silent><script><buffer> <Plug>VimwikiDiaryPrevDay :VimwikiDiaryPrevDay<CR> + +" List mappings +if !hasmapto('<Plug>VimwikiToggleListItem') + nmap <silent><buffer> <C-Space> <Plug>VimwikiToggleListItem + vmap <silent><buffer> <C-Space> <Plug>VimwikiToggleListItem + if has("unix") + nmap <silent><buffer> <C-@> <Plug>VimwikiToggleListItem + vmap <silent><buffer> <C-@> <Plug>VimwikiToggleListItem + endif +endif +if !hasmapto('<Plug>VimwikiToggleRejectedListItem') + nmap <silent><buffer> glx <Plug>VimwikiToggleRejectedListItem + vmap <silent><buffer> glx <Plug>VimwikiToggleRejectedListItem +endif +nnoremap <silent><script><buffer> <Plug>VimwikiToggleListItem :VimwikiToggleListItem<CR> +vnoremap <silent><script><buffer> <Plug>VimwikiToggleListItem :VimwikiToggleListItem<CR> +nnoremap <silent><script><buffer> + \ <Plug>VimwikiToggleRejectedListItem :VimwikiToggleRejectedListItem<CR> +vnoremap <silent><script><buffer> + \ <Plug>VimwikiToggleRejectedListItem :VimwikiToggleRejectedListItem<CR> + +if !hasmapto('<Plug>VimwikiIncrementListItem') + nmap <silent><buffer> gln <Plug>VimwikiIncrementListItem + vmap <silent><buffer> gln <Plug>VimwikiIncrementListItem +endif +if !hasmapto('<Plug>VimwikiDecrementListItem') + nmap <silent><buffer> glp <Plug>VimwikiDecrementListItem + vmap <silent><buffer> glp <Plug>VimwikiDecrementListItem +endif +nnoremap <silent><script><buffer> <Plug>VimwikiIncrementListItem :VimwikiIncrementListItem<CR> +vnoremap <silent><script><buffer> <Plug>VimwikiIncrementListItem :VimwikiIncrementListItem<CR> +nnoremap <silent><script><buffer> <Plug>VimwikiDecrementListItem :VimwikiDecrementListItem<CR> +vnoremap <silent><script><buffer> <Plug>VimwikiDecrementListItem :VimwikiDecrementListItem<CR> + +if !hasmapto('<Plug>VimwikiDecreaseLvlSingleItem', 'i') + imap <silent><buffer> <C-D> <Plug>VimwikiDecreaseLvlSingleItem +endif +inoremap <silent><script><buffer> <Plug>VimwikiDecreaseLvlSingleItem + \ <C-O>:VimwikiListChangeLvl decrease 0<CR> + +if !hasmapto('<Plug>VimwikiIncreaseLvlSingleItem', 'i') + imap <silent><buffer> <C-T> <Plug>VimwikiIncreaseLvlSingleItem +endif +inoremap <silent><script><buffer> <Plug>VimwikiIncreaseLvlSingleItem + \ <C-O>:VimwikiListChangeLvl increase 0<CR> + +if !hasmapto('<Plug>VimwikiListNextSymbol', 'i') + imap <silent><buffer> <C-L><C-J> <Plug>VimwikiListNextSymbol +endif +inoremap <silent><script><buffer> <Plug>VimwikiListNextSymbol + \ <C-O>:VimwikiListChangeSymbolI next<CR> + +if !hasmapto('<Plug>VimwikiListPrevSymbol', 'i') + imap <silent><buffer> <C-L><C-K> <Plug>VimwikiListPrevSymbol +endif +inoremap <silent><script><buffer> <Plug>VimwikiListPrevSymbol + \ <C-O>:VimwikiListChangeSymbolI prev<CR> + +if !hasmapto('<Plug>VimwikiListToggle', 'i') + imap <silent><buffer> <C-L><C-M> <Plug>VimwikiListToggle +endif +inoremap <silent><script><buffer> <Plug>VimwikiListToggle <Esc>:VimwikiListToggle<CR> + +nnoremap <silent> <buffer> o :<C-U>call vimwiki#lst#kbd_o()<CR> +nnoremap <silent> <buffer> O :<C-U>call vimwiki#lst#kbd_O()<CR> + +if !hasmapto('<Plug>VimwikiRenumberList') + nmap <silent><buffer> glr <Plug>VimwikiRenumberList +endif +nnoremap <silent><script><buffer> <Plug>VimwikiRenumberList :VimwikiRenumberList<CR> + +if !hasmapto('<Plug>VimwikiRenumberAllLists') + nmap <silent><buffer> gLr <Plug>VimwikiRenumberAllLists + nmap <silent><buffer> gLR <Plug>VimwikiRenumberAllLists +endif +nnoremap <silent><script><buffer> <Plug>VimwikiRenumberAllLists :VimwikiRenumberAllLists<CR> + +if !hasmapto('<Plug>VimwikiDecreaseLvlSingleItem') + map <silent><buffer> glh <Plug>VimwikiDecreaseLvlSingleItem +endif +noremap <silent><script><buffer> + \ <Plug>VimwikiDecreaseLvlSingleItem :VimwikiListChangeLvl decrease 0<CR> + +if !hasmapto('<Plug>VimwikiIncreaseLvlSingleItem') + map <silent><buffer> gll <Plug>VimwikiIncreaseLvlSingleItem +endif +noremap <silent><script><buffer> + \ <Plug>VimwikiIncreaseLvlSingleItem :VimwikiListChangeLvl increase 0<CR> + +if !hasmapto('<Plug>VimwikiDecreaseLvlWholeItem') + map <silent><buffer> gLh <Plug>VimwikiDecreaseLvlWholeItem + map <silent><buffer> gLH <Plug>VimwikiDecreaseLvlWholeItem +endif +noremap <silent><script><buffer> + \ <Plug>VimwikiDecreaseLvlWholeItem :VimwikiListChangeLvl decrease 1<CR> + +if !hasmapto('<Plug>VimwikiIncreaseLvlWholeItem') + map <silent><buffer> gLl <Plug>VimwikiIncreaseLvlWholeItem + map <silent><buffer> gLL <Plug>VimwikiIncreaseLvlWholeItem +endif +noremap <silent><script><buffer> + \ <Plug>VimwikiIncreaseLvlWholeItem :VimwikiListChangeLvl increase 1<CR> + +if !hasmapto('<Plug>VimwikiRemoveSingleCB') + map <silent><buffer> gl<Space> <Plug>VimwikiRemoveSingleCB +endif +noremap <silent><script><buffer> <Plug>VimwikiRemoveSingleCB :VimwikiRemoveSingleCB<CR> + +if !hasmapto('<Plug>VimwikiRemoveCBInList') + map <silent><buffer> gL<Space> <Plug>VimwikiRemoveCBInList +endif +noremap <silent><script><buffer> <Plug>VimwikiRemoveCBInList :VimwikiRemoveCBInList<CR> + +for s:char in vimwiki#vars#get_syntaxlocal('bullet_types') + if !hasmapto(':VimwikiChangeSymbolTo '.s:char.'<CR>') + exe 'noremap <silent><buffer> gl'.s:char.' :VimwikiChangeSymbolTo '.s:char.'<CR>' + endif + if !hasmapto(':VimwikiChangeSymbolInListTo '.s:char.'<CR>') + exe 'noremap <silent><buffer> gL'.s:char.' :VimwikiChangeSymbolInListTo '.s:char.'<CR>' + endif +endfor + +for s:typ in vimwiki#vars#get_syntaxlocal('number_types') + if !hasmapto(':VimwikiChangeSymbolTo '.s:typ.'<CR>') + exe 'noremap <silent><buffer> gl'.s:typ[0].' :VimwikiChangeSymbolTo '.s:typ.'<CR>' + endif + if !hasmapto(':VimwikiChangeSymbolInListTo '.s:typ.'<CR>') + exe 'noremap <silent><buffer> gL'.s:typ[0].' :VimwikiChangeSymbolInListTo '.s:typ.'<CR>' + endif +endfor + + +function! s:CR(normal, just_mrkr) + if vimwiki#vars#get_global('table_mappings') + let res = vimwiki#tbl#kbd_cr() + if res != "" + exe "normal! " . res . "\<Right>" + startinsert + return + endif + endif + call vimwiki#lst#kbd_cr(a:normal, a:just_mrkr) +endfunction + +if !hasmapto('VimwikiReturn', 'i') + if maparg('<CR>', 'i') !~? '<Esc>:VimwikiReturn' + inoremap <silent><buffer> <CR> <Esc>:VimwikiReturn 1 5<CR> + endif + if maparg('<S-CR>', 'i') !~? '<Esc>:VimwikiReturn' + inoremap <silent><buffer> <S-CR> <Esc>:VimwikiReturn 2 2<CR> + endif +endif + +"Table mappings + if vimwiki#vars#get_global('table_mappings') + inoremap <expr> <buffer> <Tab> vimwiki#tbl#kbd_tab() + inoremap <expr> <buffer> <S-Tab> vimwiki#tbl#kbd_shift_tab() + endif + + + +nnoremap <buffer> gqq :VimwikiTableAlignQ<CR> +nnoremap <buffer> gww :VimwikiTableAlignW<CR> +if !hasmapto('<Plug>VimwikiTableMoveColumnLeft') + nmap <silent><buffer> <A-Left> <Plug>VimwikiTableMoveColumnLeft +endif +nnoremap <silent><script><buffer> <Plug>VimwikiTableMoveColumnLeft :VimwikiTableMoveColumnLeft<CR> +if !hasmapto('<Plug>VimwikiTableMoveColumnRight') + nmap <silent><buffer> <A-Right> <Plug>VimwikiTableMoveColumnRight +endif +nnoremap <silent><script><buffer> + \ <Plug>VimwikiTableMoveColumnRight :VimwikiTableMoveColumnRight<CR> + + + +" ------------------------------------------------ +" Text objects +" ------------------------------------------------ + +onoremap <silent><buffer> ah :<C-U>call vimwiki#base#TO_header(0, 0, v:count1)<CR> +vnoremap <silent><buffer> ah :<C-U>call vimwiki#base#TO_header(0, 0, v:count1)<CR> + +onoremap <silent><buffer> ih :<C-U>call vimwiki#base#TO_header(1, 0, v:count1)<CR> +vnoremap <silent><buffer> ih :<C-U>call vimwiki#base#TO_header(1, 0, v:count1)<CR> + +onoremap <silent><buffer> aH :<C-U>call vimwiki#base#TO_header(0, 1, v:count1)<CR> +vnoremap <silent><buffer> aH :<C-U>call vimwiki#base#TO_header(0, 1, v:count1)<CR> + +onoremap <silent><buffer> iH :<C-U>call vimwiki#base#TO_header(1, 1, v:count1)<CR> +vnoremap <silent><buffer> iH :<C-U>call vimwiki#base#TO_header(1, 1, v:count1)<CR> + +onoremap <silent><buffer> a\ :<C-U>call vimwiki#base#TO_table_cell(0, 0)<CR> +vnoremap <silent><buffer> a\ :<C-U>call vimwiki#base#TO_table_cell(0, 1)<CR> + +onoremap <silent><buffer> i\ :<C-U>call vimwiki#base#TO_table_cell(1, 0)<CR> +vnoremap <silent><buffer> i\ :<C-U>call vimwiki#base#TO_table_cell(1, 1)<CR> + +onoremap <silent><buffer> ac :<C-U>call vimwiki#base#TO_table_col(0, 0)<CR> +vnoremap <silent><buffer> ac :<C-U>call vimwiki#base#TO_table_col(0, 1)<CR> + +onoremap <silent><buffer> ic :<C-U>call vimwiki#base#TO_table_col(1, 0)<CR> +vnoremap <silent><buffer> ic :<C-U>call vimwiki#base#TO_table_col(1, 1)<CR> + +onoremap <silent><buffer> al :<C-U>call vimwiki#lst#TO_list_item(0, 0)<CR> +vnoremap <silent><buffer> al :<C-U>call vimwiki#lst#TO_list_item(0, 1)<CR> + +onoremap <silent><buffer> il :<C-U>call vimwiki#lst#TO_list_item(1, 0)<CR> +vnoremap <silent><buffer> il :<C-U>call vimwiki#lst#TO_list_item(1, 1)<CR> + +if !hasmapto('<Plug>VimwikiAddHeaderLevel') + nmap <silent><buffer> = <Plug>VimwikiAddHeaderLevel +endif +nnoremap <silent><buffer> <Plug>VimwikiAddHeaderLevel :<C-U>call vimwiki#base#AddHeaderLevel()<CR> + +if !hasmapto('<Plug>VimwikiRemoveHeaderLevel') + nmap <silent><buffer> - <Plug>VimwikiRemoveHeaderLevel +endif +nnoremap <silent><buffer> <Plug>VimwikiRemoveHeaderLevel : + \<C-U>call vimwiki#base#RemoveHeaderLevel()<CR> + +if !hasmapto('<Plug>VimwikiGoToParentHeader') + nmap <silent><buffer> ]u <Plug>VimwikiGoToParentHeader + nmap <silent><buffer> [u <Plug>VimwikiGoToParentHeader +endif +nnoremap <silent><buffer> <Plug>VimwikiGoToParentHeader : + \<C-u>call vimwiki#base#goto_parent_header()<CR> + +if !hasmapto('<Plug>VimwikiGoToNextHeader') + nmap <silent><buffer> ]] <Plug>VimwikiGoToNextHeader +endif +nnoremap <silent><buffer> <Plug>VimwikiGoToNextHeader : + \<C-u>call vimwiki#base#goto_next_header()<CR> + +if !hasmapto('<Plug>VimwikiGoToPrevHeader') + nmap <silent><buffer> [[ <Plug>VimwikiGoToPrevHeader +endif +nnoremap <silent><buffer> <Plug>VimwikiGoToPrevHeader : + \<C-u>call vimwiki#base#goto_prev_header()<CR> + +if !hasmapto('<Plug>VimwikiGoToNextSiblingHeader') + nmap <silent><buffer> ]= <Plug>VimwikiGoToNextSiblingHeader +endif +nnoremap <silent><buffer> <Plug>VimwikiGoToNextSiblingHeader : + \<C-u>call vimwiki#base#goto_sibling(+1)<CR> + +if !hasmapto('<Plug>VimwikiGoToPrevSiblingHeader') + nmap <silent><buffer> [= <Plug>VimwikiGoToPrevSiblingHeader +endif +nnoremap <silent><buffer> <Plug>VimwikiGoToPrevSiblingHeader : + \<C-u>call vimwiki#base#goto_sibling(-1)<CR> + + + +if vimwiki#vars#get_wikilocal('auto_export') + " Automatically generate HTML on page write. + augroup vimwiki + au BufWritePost <buffer> + \ call vimwiki#html#Wiki2HTML(expand(vimwiki#vars#get_wikilocal('path_html')), + \ expand('%')) + augroup END +endif + +if vimwiki#vars#get_wikilocal('auto_toc') + " Automatically update the TOC *before* the file is written + augroup vimwiki + au BufWritePre <buffer> call vimwiki#base#table_of_contents(0) + augroup END +endif + +if vimwiki#vars#get_wikilocal('auto_tags') + " Automatically update tags metadata on page write. + augroup vimwiki + au BufWritePost <buffer> call vimwiki#tags#update_tags(0, '') + augroup END +endif + |
