从vi编辑器中,使用任意程序打开任意类型的文件

时间:2011-08-02 02:27:07

标签: shell vi

vi编辑器有一个非常有用的命令gf,允许用户在新的vi窗口中打开其路径位于{{{ 1}}编辑。我试图概括这个功能,以便通过vi等shell命令过滤文件名,从vi编辑器中打开任何类型的文件。

但是,根据* nix open命令的man页面的试错和细读,我认为无法打开名称/路径通过pipe传输的文件/重定向。例如,以下非常简单的命令失败,因为open无法接受管道输入作为参数。

  

echo file_name.txt |开

除了open之外还有其他功能可以在这种情况下使用吗?

以下是我尝试使用open视觉模式在vi内选择路径的文件的一系列vi命令:

  

: '<,' > !开

     

: '<,' > !回声|开

     

: '<,' > !猫|开

注意:vi专业术语只是指通过:'<,'>视觉模式突出显示的文字。 vi表示应使用默认shell将以下文本作为shell命令执行。因此,这些行尝试通过各种shell命令过滤突出显示的文本,但无济于事。

上述三个尝试通过open命令过滤文件名的示例无效。如果有人对如何完成我描述的任务有任何建议,请分享。解决一般情况(打开通过管道/重定向接收路径的文件)或特定情况(通过使用!命令行打开其路径包含在文本文件中的文件)的解决方案赞赏。

作为奖励,我希望能够在vi内打开文件,只需将光标放在文件名上(就像vi命令的情况一样),而不是通过使用gf视觉模式突出显示路径。

1 个答案:

答案 0 :(得分:3)

你想要xargs(1)