2014-01-06 75 views
3

我學習HTML,要編輯在vim一個html文件,
當我完成了HTML文件,按F4與Firefox或Chrome運行它,
我怎麼能寫一行在我_vimrc配置文件這樣做?
在我_vimrc:如何編輯_wimrc在vim中用firefox打開html文件?

: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打開,但火狐不開我的當前編輯HTML文件。

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

可以打開test.html,我怎樣才能在我的_vimrc文件中設置它?

回答

1

如果你只使用在控制檯VI(M),這將工作,但你將不得不敲回車一次回到編輯器中的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> 
1

您的映射:

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

轉化爲(英文):「寫這個文件到這個Firefox程序的標準輸入內容」,這是最有可能你想在這裏做什麼。

你想要做的是:

  1. 保存當前的文件。
  2. 以當前文件的名稱作爲參數運行firefox。

firefox的路徑和文件名必須都是shellescape() ed才能處理路徑名中的可能空格。

這個映射應該做你想要什麼:

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

no:wq,我不想保存它,只是想讓當前的html文件運行。 –

+0

在這種情況下,您可能需要閱讀[此問題]的答案(http://unix.stackexchange.com/questions/24931/how-to-make-firefox-read-stdin) – holygeek

相關問題