没有vimwiki的vimwiki样式链接?

没有vimwiki的vimwiki样式链接?,vim,hyperlink,vim-plugin,Vim,Hyperlink,Vim Plugin,我最喜欢的vimwiki特性之一是它处理链接的方式。不幸的是,我使用其他东西(vimoutliner)来记录我的主要笔记,它没有vimwiki所具有的链接功能 是否有一个插件可以在编辑任意文件时添加vimwiki的链接功能(或至少类似的功能),而不仅仅是一个*.wiki文件?我认为您可以为您的简单用例编写一个,比如: function! LinkForward() let g:fromFile=expand('%:p') let fn= substitute(getline('.

我最喜欢的vimwiki特性之一是它处理链接的方式。不幸的是,我使用其他东西(vimoutliner)来记录我的主要笔记,它没有vimwiki所具有的链接功能


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

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

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>
函数!链接转发()
设g:fromFile=expand('%:p')
设fn=substitute(getline('.'),'^.*\[\[\\([^\]]*\)\].*.*$',“\\1”,'g')
执行“e”。fn
端功能
nnoremap:calllinkforward()
功能!LinkBackward()
执行“e”。g:fromFile
endf
nnoremap:调用LinkBackward()
source这将执行一些类似的操作,例如在
[[path/to/file/foo]]foo上按
Enter
,foo
将转到该
foo
文件,在该文件中按
将返回

以上代码仅为示例,无法完美运行。您可以使其更好地工作,例如:

  • 添加列表/(堆栈)以存储文件跳转历史记录
  • 定义此类操作仅对特定文件类型有效
  • 检查光标下的行是否与
    […]]
    不匹配,然后执行正常
  • 等等。。如果你愿意,你可以看看vimwiki的代码,并“借用”一些代码片段供你个人使用
希望它能帮助你祝你好运