gvim windows netrw filehandler html elinks配置

时间:2014-10-29 14:24:30

标签: html vim filehandler netrw elinks

我使用gvim 7.3,带有OLE支持的MS-Windows 32位GUI版本

我试图配置netrw文件处理程序以打开本地保存的.html文件 使用elinks浏览器,而不是firefox浏览器。 netrw的帮助文件是指可以放在.vimrc文件中的设置:

:let g:netrw_browsex_viewer= "  "

它也说

'对于Windows 32或64,使用url和FileProtocolHandler dll'。

我已尝试将文件路径输入引号之间的elinks可执行文件,但没有结果。到目前为止,我的互联网搜索还没有透露任何有关如何在vim中使用url和FileProtocolHandler dll的实际示例。

我将非常感谢任何帮助。

GILF

3 个答案:

答案 0 :(得分:1)

这允许您为所有类型的文件启动正确的文件查看器:(powerpoint ppt,excel xls,chrome html,视频上的vlc)以及Windows资源管理器与之关联的任何内容。在Windows7上,将批处理文件 expl2.cmd 放在vim路径中。

在vimrc put

:let netrw_browsex_viewer='expl2.cmd'

在gvim中使用 cfile 上的 gx 来启动 explorer.exe ,它会启动正确的查看器,例如PowerPoint中,火狐,Chrome。注意:第二行将正斜杠转换为反斜杠。如果您的文件名中有空格,则vim不会扩展cfile。

C:GT; cat expl2.cmd

set file=%1
set file=%file:/=\%
start explorer.exe /n,/e,/root,%file%

我还在gvim Windows 7 netrw open url under text cursor中写了这个答案,因为它首先出现在谷歌中。

答案 1 :(得分:0)

您是否正在尝试“编辑”html文件(即:e somefile.html)?

尝试放

:let g:netrw_http_cmd= "path_to_elinks"
你的.vimrc中的

答案 2 :(得分:0)

g:netrw_browsex_viewer用于定义用于打开内容的通用程序。因此,虽然可能会将其指向elinks的html文件,但它会破坏jpg / pdf / etc文件。在Windows上,最合适的做法是使用' start'它使用Window的文件关联。由于这不是真正的程序,您可以制作批处理文件:

start %*

把它放在c:\ stuff \ magicopen.bat和let g:netrw_browsex_viewer = 'c:/stuff/magicopen.bat'中(路径不重要,但正斜杠可以!)


或者,您可以使用netrw的netrw_filehandler:

"" Tell netrw to use internal filehandlers if possible
let g:netrw_browsex_viewer= "-"
"" Define an html filehandler
function! NFH_html(filename)
    execute ':!start elinks '. a:filename
endf
"" Just in case, handle htm files too
function! NFH_htm(filename)
    call NFH_html(a:filename)
endf

根据需要更改NFH_html的内部结构(elinks的绝对路径,调用参数,添加更多!启动选项 - 请参阅:help !start)。