所以,我喜欢使用TextWrangler来编辑OSX中的代码,我倾向于使用终端来控制我的工作流程。通常,我使用bash别名:
alias text='open -a /Applications/TextWrangler.app'
但是,此方法不允许我从提示中动态打开新文件。例如,如果我输入emacs newfile.py
,它会暂时创建一个新文件,但在我实际保存文件之前不会触摸它。但是,使用我的别名,如果newfile.py
不存在,那么我会收到错误,必须手动触摸该文件然后再将其打开。
有关隐藏使用open
解决此问题的方法的建议吗?或open
命令的第三方替代方案?或者这只是基于GUI的编辑器的基本限制?
答案 0 :(得分:1)
我认为你想要一个完整的shell脚本,而不仅仅是一个别名。制作包含以下内容的文件:
if [ -e "$1" ]; then
open -a TextWrangler -- "$1"
else
touch "$1"
open -a TextWrangler -- "$1"
fi
将它保存在PATH中的text
某处,然后将其命名为可执行文件,您就是金色的。
如果你真的想要这样做,如果你不保存文件就不存在,那就太麻烦了。我想你必须做这样的事情:
if [ -e "$1" ]; then
open -a TextWrangler -- "$1"
else
touch "$1"
open -a TextWrangler -- "$1"
sleep 1
rm "$1"
fi
这实际上会创建文件,然后在一秒钟后删除它。但是应用程序仍会打开文件,因此当您保存时,它将被重新创建。
答案 1 :(得分:1)
如何在starup文件(.bashrc,.profile等)中创建功能而不是别名。
newf() {
echo "$1" | xargs touch; open -a "/Applications/TextWrangler.app" "$1"
}
添加后,请提供您的启动脚本,然后执行以下操作 -
newf dummyfile.txt
和Text Wrangler会弹出一个名为dummyfile.txt的空文件。
答案 2 :(得分:0)
如果你得到TextWrangler的大哥BBEdit那么它附带命令行工具bbedit和bbdiff,它们可以为你提供你正在寻找的行为以及许多其他有用的功能。