2011-08-02 61 views
0

vi編輯器有一個非常有用的命令gf,允許打開一個新的vi窗口 - 路徑位於光標下方的文件vi編輯器。我試圖推廣此功能,以便通過使用shell命令(如open)過濾文件名,可以從vi編輯器中打開任何類型的文件。在vi編輯器中,用任意程序打開一個任意類型的文件

但是,根據對nix open命令的man頁面的反覆試驗和細讀,我認爲無法打開名稱/路徑通過管道/重定向傳輸的文件。例如,以下非常簡單的命令失敗,因爲open無法接受管道輸入作爲參數。

echo file_name.txt |打開

也許除了open之外還有其他的功能可以用在這種情況下嗎?

這裏是vi命令的選擇我曾嘗試使用打開使用vi視覺模式中vi選擇其路徑的文件:

:「<,」>!打開

:'<,'>!回聲|打開

:'<,'>!貓|打開

注意::'<,'>行話只是指通過vi可視模式突出顯示的文本。 !表示應使用默認shell作爲shell命令執行以下文本。因此,這些行試圖通過各種shell命令過濾突出顯示的文本,但無濟於事。

以上三個例子試圖通過打開命令過濾文件名失敗。如果有人對如何完成我描述的任務有任何建議,請分享。將不勝感激對一般情況(打開路徑通過管道/重定向接收的文件)或特定情況(使用vi命令行打開路徑包含在文本文件中的文件)的解決方案。

作爲獎勵,我想能夠通過簡單地將光標定位在所述文件名(如對於gf命令的情況下)從vi內打開該文件,而不是通過突出顯示使用vi路徑視覺模式。

回答

相關問題