使用Sublime Text 3 cli从另一个服务中打开一个新窗口创建一个临时文件

时间:2016-11-29 06:28:36

标签: macos applescript sublimetext3 automator karabiner

我一直在设置Karabiner(启动器模式)快捷方式来打开一个新的Sublime Text窗口。

通常我从终端窗口调用subl -n以显示一个新的升华窗口。 Karabiner允许您将shell脚本指定为要运行的快捷方式,因此我尝试了/usr/local/bin/subl -n

它有效,但是,从终端窗口(或subl -n)调用/usr/local/bin/subl -n会打开一个带有"空白"的新窗口。文件,通过Karabiner调用它在tmp/subl stdin YEd3Bc.txt打开一个临时文件(YEd3Bc是六个随机数/位)在新窗口中

它还会阻止Karabiner在关闭窗口之前启动任何其他操作,就像我调用subl -n -w "tmp/subl stdin YEd3Bc.txt"

一样

我认为这是Karabiner的一个问题,并试图通过使用Automator和Applescript为shell脚本创建包装器来解决它,但是它们都有同样的问题,在/tmp/subl stdin random.txt <打开临时文件/ p>

1 个答案:

答案 0 :(得分:0)

我没有使用那个特定的软件(Karabiner)但是它可能是打开临时文件,因为用户正在启动命令(Karabiner)无法访问默认路径来存储临时文件到那里在/tmp目录中创建唯一的命名文件。您可以尝试添加以下su -u "your user without quotes" -c /use/local/bin/subl -n。至于(Karabiner)的锁定,这很可能是由于Karabiner的内部结构以及它如何打开子过程到subl二进制以及保持在前景的崇高性质。您可以在命令末尾尝试&将其发送到后台,以便Karabiner能够继续处理。