vimwiki本地文件链接处理

时间:2015-06-26 19:40:55

标签: vim vim-plugin

我希望vimwiki在vim中打开.tex文件(就像在vim中打开wiki文件一样)。

我正在运行cygwin,我终于成功地按照它的方式制作vimwiki开放链接"#34;通过替换' xdg-open'与' cygstart'在vim#wiki #base#system_open_link函数中,现在pdf在pdf查看器中打开,在浏览器中打开URL等,这很棒。但是当cygstart应用于.tex文件时,它会在另一个窗口中打开gvim的windows副本。

当本地文件具有.tex扩展名时,是否有任何方法可以将vimwiki配置为不使用cygstart,而是将其视为处理.wiki文件的方式完全相同?

1 个答案:

答案 0 :(得分:4)

我在vimwiki帮助文件中找到了答案。有一个VimWikiLinkHandler函数的例子可以在vim中打开vlocal个文件。我刚刚将此函数复制到plugin / vimwiki.vim中:

function! VimwikiLinkHandler(link) "{{{ Use Vim to open links with the
  " 'vlocal:' or 'vfile:' schemes.  E.g.:
  "   1) [[vfile:///~/Code/PythonProject/abc123.py]], and
  "   2) [[vlocal:./|Wiki Home]]
  let link = a:link
  if link =~ "vlocal:" || link =~ "vfile:"
    let link = link[1:]
  else
    return 0
  endif
  let [idx, scheme, path, subdir, lnk, ext, url] =
       \ vimwiki#base#resolve_scheme(link, 0)
  if g:vimwiki_debug
    echom 'LinkHandler: idx='.idx.', scheme=[v]'.scheme.', path='.path.
         \ ', subdir='.subdir.', lnk='.lnk.', ext='.ext.', url='.url
  endif
  if url == ''
    echom 'Vimwiki Error: Unable to resolve link!'
    return 0
  else
    call vimwiki#base#edit_file('tabnew', url, [], 0)
    return 1
  endif
endfunction " }}}