在Mac OS X上的GUI中打开文件是否有任何方法(已安装的gem可以正常),就像使用open
shell命令可以完成的那样?我知道我可以使用system()
函数来运行open
shell命令,但我想避免这样做。如果所有其他方法都失败了,当然,我总是可以回到使用system()
。
答案 0 :(得分:3)
我发现唯一合理的解决方案是使用system()
方法调用open
命令行实用程序。
答案 1 :(得分:0)
open
,单独使用Mac的应用程序说可以打开的文件列表。这可能是混乱的,或者说是完全错误的,所以我认为使用-a
标志给它一些提示更安全,或者你最终可以使用文字处理器开源,这很少有效。
如果要将源文件打开为MacVim,TextMate,BBEdit等内容,则可以分别使用命令行工具mvim
,mate
或bbedit
。从IRB这些都打开我的~/.bashrc
文件并立即返回,没有结果,因为它们从终端分离。使用Ruby的反向标记,或等效的%x{}
:
>> `mate ~/.bashrc` #=> ""
>> `mvim ~/.bashrc` #=> ""
>> `bbedit ~/.bashrc` #=> ""
你可以考虑使用其中一种Open3
方法打开应用程序,但你必须找到合适的二进制文件,除非应用程序提供像MacVim,TextMate或BBEdit这样的快捷方式。
可以使用反向标记或open -a application file_to_be_opened
来调用Mac的%r{}
命令。使用上述命令的推论如下:
`open -a TextMate ~/.bashrc`
MacVim基于Vim代码库,它来自* nix世界。它有一个-f
标志,可以防止它与终端分离,因此你的代码会暂停,等待编辑器完成并退出,然后再继续。当我在向SVN发送修订版之前分析文件或编写提交消息时,这在我的Linux机器上很有用。这可以在IRB中实现:
`mvim -f ~/.bashrc`