vimwiki我最喜欢的功能之一是它处理链接的方式。不幸的是,我用其他东西(vimoutliner)做我的主要笔记,它没有vimwiki所具有的链接功能。
在编辑任意文件而不仅仅是* .wiki文件时,是否有插件可以添加vimwiki的链接功能(或至少类似的东西)?
最佳答案
我认为您可以为简单的用例编写一个,例如:
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的代码并“借用”一些片段供您个人使用。
希望对您有帮助。&祝您好运。