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