没有vimwiki的vimwiki风格链接?

时间:2013-03-18 17:10:33

标签: vim hyperlink vim-plugin

我最喜欢的vimwiki功能之一是它处理链接的方式。不幸的是,我使用其他东西(vimoutliner)作为我的主要笔记,并且它没有任何接近vimwiki的链接功能。

是否有一个插件在编辑任意文件时添加了vimwiki的链接功能(或至少类似的东西),而不仅仅是* .wiki文件?

1 个答案:

答案 0 :(得分:6)

我认为您可以为您的简单用例编写一个,例如:

function! LinkForward()
    let g:fromFile=expand('%:p')
    let fn= substitute(getline('.'),'^.*\[\[\([^\]]*\)\].*$',"\\1",'g')
    execute "e ".fn
endfunction

nnoremap <cr> :call LinkForward()<cr>

function! LinkBackward()
    execute "e ".g:fromFile
endf

nnoremap <bs> :call LinkBackward()<cr>

来源这会做一些类似的操作,例如在Enter上按[[path/to/file/foo]]foo会转到该foo文件,在该文件中按<Backspace>会让你回来。

注意上面的代码只是示例,它不会完美无缺。你可以让它更好用,例如:

  • 添加列表/(堆栈)以存储文件跳转历史记录。
  • 定义此类操作仅适用于某些文件类型
  • 检查光标下的行是否与[[...]]不匹配,然后执行正常<Enter>
  • 等..如果你喜欢你可以看看vimwiki的代码并“借用”一些片段供你个人使用。

希望它可以帮助你...&amp;祝你好运。