我知道在emacs中可以插入某种“可点击的文本”。即您可以插入一个文本,当用户按下Enter键时,会打开另一个文件。
vim有这样的东西吗?
答案 0 :(得分:4)
这是可能的,但是特定于文件类型。一个最好的例子是vim自己的帮助系统,它不比具有特定映射的不可修改的缓冲区更好。
有关此类链接的示例,请参阅vimwiki和vimorgmode。
答案 1 :(得分:4)
对于简单的临时案例,您可以编写一个函数,根据光标下的单词打开某个文件。然后,您可以将此功能映射到双击事件。
例如:
function! CustomLoad()
let word = expand("<cword>")
let path = "/path/to/file/to/be/opened"
if ( word == "special_keyword" && filereadable(path) )
sil exe "split " . path
endif
endfunction
使用以下方式映射:
nnoremap <2-LeftMouse> :call CustomLoad()<CR>
因此,如果文件special_keyword
可读,则双击(在正常模式下)将会打开文件/path/to/file/to/be/opened
。您可以为不同的关键字添加多个案例,或者根据需要对关键字进行一些文本处理以生成文件名。 (请注意,filereadable
条件不是必需的,但可能是个好主意。)
希望这有帮助。
答案 2 :(得分:1)
另一个简单的解决方案是编写文件名并使用gf
转到文件Ctrl+w,f
以在拆分窗口中打开文件,或Ctrl+w,f,g
在文件夹中打开文件。请注意,该文件必须已存在。有关其他一些提示,请参阅this vim wikia entry。