来自终端的命令“subl”不起作用

时间:2012-08-09 18:13:23

标签: terminal sublimetext2 osx-mountain-lion

我是Mac-newbie(Mountain Lion)并试图为终端设置“subl”命令,如下所述:

  

第一个任务是为subl创建一个符号链接。假设你已经放好了   Sublime Text 2在Applications文件夹中,你有一个〜/ bin   您路径中的目录,您可以运行:

     

ln -s“/ Applications / Sublime Text   2.app/Contents/SharedSupport/bin/subl“〜/ bin / subl

但它不起作用。我现在有一个文件夹/ bin /在我的用户下,这个文件夹包含一个别名。但是当我在终端内的subl --help小费时,我收到错误-bash: subl: command not found

有人可以帮助我吗?

KR& thx,Fabian

13 个答案:

答案 0 :(得分:85)

将目录更改为:

/usr/local/bin

然后运行它:

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

答案 1 :(得分:28)

我现在找到了解决方案--RVM存在问题。解决方案是输入命令

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

进入终端。

答案 2 :(得分:26)

Sublime Text 3发生在我身上。

此符号链接适用于我,只有我需要将符号链接目标更改为 / usr / local / bin / subl

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

解决方案来源Paul Byrne answer here

答案 3 :(得分:8)

使用Homebrew安装Sublime通常会自动创建正确的符号链接。

brew install Caskroom/cask/sublime-text 

然后可以像下面这样访问Subl:

# Open Sublime at current directory
subl .

答案 4 :(得分:3)

为此问题选择的解决方案是将subl符号链接放在〜/ .rvm / bin文件夹中,这绝对不是通用解决方案,因为此目录是他安装的程序的一部分。

虽然路径中的任何目录都可以使用,但最常见的解决方案是在主文件夹中创建一个bin目录,通过将export PATH=$PATH:~/bin放入.bash_profile然后运行link命令将其设置在路径中,如图所示在这条新路径的原始问题中。

过去通常将subl符号链接放在/ usr / local / bin中,但从10.2版开始,OSX中不再存在此目录,并且/ usr / local目录不再位于默认路径中。

答案 5 :(得分:3)

解决了MAC OSX Mavericks的问题!

我在这个GitHubGist上找到了这个答案: https://gist.github.com/artero/1236170

从Mac OS X终端启动Sublime Text 2

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

这是我发现澄清许多StackOverflow响应仅暗示的部分,但未明确解释的部分:

  

现在让我们检查一下是否一切都会顺利进行。输入:

     

打开〜/ .bash_profile

     

(在某些情况下,配置文件名为〜/ .profile)

     

您应该在文件顶部看到一行以:export PATH =

开头      

这包含在Terminal中键入命令时将查找可执行二进制文件的所有目录。由于我们在/ usr / local / bin目录中创建一个名为sublime的subl的符号链接,因此请检查该目录是否列在同一行上。

     

如果是,那就完美了。让我们继续吧。如果没有,只需像这样添加它并保存文件:

     

export PATH = / usr / local / bin:(...)

     

注意:'(...)'在此示例中表示将在同一行上列出并用冒号分隔的其他文件夹。

     

如果您还没有在bash_profile中设置PATH,可以输入:

     

export PATH = / usr / local / bin:$ PATH

     

如果必须将/ usr / local / bin添加到PATH,请在继续之前运行以下命令:

     

source~ / .bash_profile

     

这将使用新添加的目录重新加载.bash_profile。

     

测试

     

打开终端窗口并运行:

     

sublime filename(替换"文件名"按实际文件名)

希望有助于为其他人澄清。目前(2014年秋季)使用Mac OSX Mavericks。干杯

答案 6 :(得分:3)

如果您只是希望命令使用崇高文本打开文件,并且您不想将其用作所有命令的默认编辑器,那么为什么不只是为{{{{{{ 1}}?

~/.bash-profile

这适用于打开文件和目录

答案 7 :(得分:2)

在使用OSX Yosemite 10.10.5和sublime text 3 Build 3083的MAC上遇到同样的问题!

使用以下命令配置git以完成上述要求:

git config --global core.editor "/Applications/Sublime\ Text.app/Contents/SharedSupport/bin/subl -n -w"

并测试它是否有效:

git config -e

答案 8 :(得分:1)

适用于Mac OSX 10.8.2, echo $ PATH 显示正确链接的子符号链接,如本文所述。 Sublime Text 2页面上的其他建议似乎不适用于新Mac

答案 9 :(得分:0)

我发现subl有一个别名。键入alias以查看所有已定义的别名。找到来源并对其进行评论,或使用unalias subl取消设置。

答案 10 :(得分:0)

对于.bashrc或.zshrc

alias subl="open . -a /Applications/Sublime\ Text.app"

答案 11 :(得分:0)

Catalina的自动沙盒操作似乎破坏了subl命令。

使用以下别名作为替代

alias subl="open $1 -b com.sublimetext.3"

答案 12 :(得分:-1)

$ subl .对我不起作用后,

我尝试了$ bundle exec subl .,但确实有效。

解决方案:输入$ bundle exec subl .,它应该有效。(显然,省略$)