如何编辑_wimrc以在vim中使用firefox打开html文件?

时间:2014-01-06 02:05:04

标签: vi

我正在学习HTML,想在vim中编辑一个html文件,
当我完成html文件时,按 F4 以使用firefox或chrome运行它,
如何在我的_vimrc配置文件中写一行来执行此操作? 在我的_vimrc中:

:map <F4> :w !c:\Program Files\Mozilla Firefox\firefox.exe<cr>   
:map <F5> :w !firefox<cr>   

我已经设置了我的环境路径 c:\ Program Files \ Mozilla Firefox \ firefox.exe
他们都没有跑,我得到can't find command

当我将配置行修改为:

:map <F4> :w !"c:\Program Files\Mozilla Firefox\firefox.exe"<cr> 

F4 可以打开firefox,但是firefox不会打开我当前的编辑html文件。

  "c:\Program Files\Mozilla Firefox\firefox.exe"    file:\\c:\workspace\test.html      

可以打开test.html,如何在我的_vimrc文件中设置它?

3 个答案:

答案 0 :(得分:1)

你的映射:

:map <F4> :w !"c:\Program Files\Mozilla Firefox\firefox.exe"<cr> 

转换为(英文):“将此文件的内容写入此firefox程序的stdin”,这很可能不是您想要在此处执行的操作。

您想要做的是:

  1. 保存当前文件。
  2. 以当前文件的名称作为参数运行firefox。
  3. firefox的路径和文件名必须都是shellescape()才能处理路径名中的可能空格。

    此映射应该可以执行您想要的操作:

    :map <F4> :w\|exec '!' shellescape("c:/Program Files/Mozilla Firefox/firefox.exe") shellescape(expand(%))<cr>
    

答案 1 :(得分:1)

您正在寻找的问题:

Open current file in web browser in Vim

这正是你的问题。

答案 2 :(得分:1)

如果您只在控制台中使用vi(m),这将有效,但您必须按Enter键才能返回编辑器中的html文档:

nnoremap <F4> :exe '!"c:\Program Files\Mozilla Firefox\firefox.exe" %'<CR>

如果你正在使用gvim,这将避免输入额外的时间:

nnoremap <F4> :exe ':silent !"c:\Program Files\Mozilla Firefox\firefox.exe" %'<CR>