如何在mac中用命令行时用sublime打开文件

个人感觉sublime还是很好用的。在命令行如何像 $ vi a.html一样用sublime打开目标文件

阅读 74.2k
12 个回答
alias subl=\''/Applications/Sublime Text 2.app/Contents/SharedSupport/bin/subl'\'

如果是在默认shell下,

sudo ln -s "/Applications/Sublime\ Text.app/Contents/SharedSupport/bin/subl" /usr/bin/subl

使用zsh的可以使用以下命令

alias subl="'/Applications/Sublime Text.app/Contents/SharedSupport/bin/subl'"
alias nano="subl"
export EDITOR="subl"

解决方法是open命令:

DESCRIPTION

描述:

 The open command opens a file (or a directory or URL), just as if you had
 double-clicked the file's icon.

 open命令可以打开一个文件(或是目录、URL),就和你用双击该文件的方式打开的效果一样。

对你的需求,用下面的命令(程序名是 Sublime\ Text 什么的请自行修改):

 open -a sublime /path/to/your/file/to/edit

就可以指定使用sublime来打开特定文件。更多详情请执行 man open 了解。

试了软连接Sublime text的方法,在Sublime Text 3上能调起主程序但是会报错。官方的建议是创建subl的软连接到~/bin下:
ln -s "/Applications/Sublime Text.app/Contents/SharedSupport/bin/subl" ~/bin/subl
测试在3上能正常运行,官方页面:
https://www.sublimetext.com/docs/3/osx_command_line.html

新手上路,请多包涵

版本 sublime text3, 我尝试了前两个答案,重命名重启之后应该就失效了,软连接在我的电脑上原答案的路径不允许。尝试了几种答案,可以用以下方式建立软连接,亲测可用(注意:1 路径,/usr/bin 下可能不允许 2 需要改名为 sublime, subl 可能不成功):

ln -s /Applications/Sublime\ Text.app/Contents/SharedSupport/bin/subl /usr/local/bin/sublime
新手上路,请多包涵

vi ~/.bash_profile
在文件的末尾添加:

alias

alias subl="open -a Sublime\ Text\ 2"

保存后执行source ~/.bash_profile,然后就可以用subl打开文本了

vi ~/.zshrc

alias subl='open -a "Sublime Text"'

source ~/.zshrc

sudo rm /usr/local/bin/subl
sudo ln -s /Applications/Sublime Text.app/Contents/SharedSupport/bin/subl /usr/local/bin/subl

$HOME/bin$PATH里,
/Applications/Sublime Text.app/Contents/MacOS/Sublime Text软链接到$HOME/bin里,比如叫sublime
然后执行sublime test.hs之类的命令。

简单粗暴法是open test.hs,但是要设置打开方式。

open -a /Applications/Sublime\ Text.app/ filename

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏