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
路徑視覺模式。