在 Mac OS X 中的终端和 Sublime Text 2 之间创建符号链接时遇到问题,因此无法从命令行启动它

在 Mac OS X 中的终端和 Sublime Text 2 之间创建符号链接时遇到问题,因此无法从命令行启动它

我正在使用 Mac OS X Yosemite,我希望能够使用以下命令从终端打开 Sublime Text 2:

sublime .

我在终端中输入了此内容如 Sublime Text 2 网站上所示:

ln -s "/Applications/Sublime Text 2.app/Contents/SharedSupport/bin/subl" ~/bin/sublime

还有这个变体:

ln -s "/Applications/Sublime Text.app/Contents/SharedSupport/bin/subl" /usr/local/bin/sublime

在终端中,如果我输入:

echo $PATH

我得到:

/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin

我尝试编辑我的.bash_profile,现在它是空白的

完成所有这些后,我尝试sublime .并收到以下错误:

-bash:sublime:未找到命令

我对 Mac OS X 和终端配置完全陌生,我真的很难弄清楚为什么我无法让它工作,所以任何帮助都会很感激。

答案1

尝试运行ln -s此处解释的反斜杠/转义版本的命令像这样:

ln -s /Applications/Sublime\ Text\ 2.app/Contents/SharedSupport/bin/subl /usr/local/bin/sublime

正如该网站所解释的——我同意——Sublime ~/binText 官方网站的建议似乎很奇怪,我以前从未遇到过针对本地二进制文件的类似建议。所以避免使用它。

但所有示例中奇怪的是sudo未被使用。该/usr/local/bin目录是根系统目录,通常除了 之外任何人都无法写入root。因此,考虑到这一点,只需通过sudo以下方式运行上述命令:

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

当然,您现在必须输入您的 root/管理员密码。但一旦完成,符号链接就应该到位了。要确认它在那里,只需从终端运行以下命令:

ls -la /usr/local/bin/sublime

输出应为包含日期/时间的目录列表,如下所示:

lrwxr-xr-x   1 root  wheel       27 Aug 21  2015 sublime -> /Applications/Sublime\ Text\ 2.app/Contents/SharedSupport/bin/subl

答案2

这应该是一件非常简单的事情,使用内置open命令——

open -a "Sublime Text 2"

您还可以sublime为其创建命令别名。

alias sublime='open -a "Sublime Text 2"'

答案3

我已经这样做过很多次了,因此我建议:

  1. ~/.bashrc为或~/.zshrc( alias sublime="/Applications/Sublime\ Text.app/Contents/SharedSupport/bin/subl")添加别名
  2. 将 RC 文件移动到 iCloud Drive,并将该文件符号链接回你的根目录~

ln -s "/Users/username/Library/Mobile Documents/com~apple~CloudDocs/.zshrc" ~/.zshrc


如果你使用 zsh,你可以export icloud="/Users/username/Library/Mobile Documents/com~apple~CloudDocs"

相关内容