【问题标题】:Sublime Text 3 and Terminal prompt for OS X Mavericks?OS X Mavericks 的 Sublime Text 3 和终端提示?
【发布时间】:2013-11-01 20:16:27
【问题描述】:

我正在尝试在 OS X Mavericks 上设置 Sublime Text 3 并获得一定程度的挫败感。

在安装和设置方面,我已经关注了所有常见的嫌疑人,即谷歌搜索 Sublime Text 网站和 Stack Overflow。不可避免地,这是我错过的一些小事,但它导致了我严重的胃灼热。

到目前为止我做了什么:

  1. 已下载 Sublime Text 3,位于我的 /Applications 目录中
  2. 跟随指南Launch Sublime Text 2 from Mac Terminal

问题从这里开始。我知道此链接中显示的符号链接使用的是 ST2,但我想使用“sublime”而不是“subl”(个人偏好)。我四处搜索,发现我需要粘贴到 ST3 的终端中:

ln -s "/Applications/Sublime Text.app/Contents/SharedSupport/bin/subl" ~/usr/local/bin/sublime
  1. 已经有一个 ~/.bash_profile:export PATH=/usr/local/bin:$PATH。但是,当我echo $PATH 我得到:

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

    这看起来正确吗?

  2. 现在,当我在终端中输入sublime 时,我得到command not found

我错过了什么。这让我发疯,因为我已经按照所有步骤进行操作,但 ST3 仍然不适合我

【问题讨论】:

  • 您确定是~/usr/local/bin/sublime 而不是/usr/local/bin/sublime
  • @Bogdan:我尝试删除〜,/Application前面的引号和subl后面的引号(参考我的原始问题),但现在我得到ln: /usr/local/bin/sublime: No such file or directory。但是当我 cd 到 /usr/local/bin/ 时,我可以看到 sublime 列出来。有什么想法吗?
  • 这看起来像是一个通用的计算问题,而不是一个与编程相关的问题。
  • @trojanfoe 这是一个关于程序员常用的软件工具的实用、可回答的问题,对我来说似乎很合理stackoverflow.com/help/on-topic

标签: macos command-line terminal sublimetext3


【解决方案1】:

应该是:

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

请注意,我删除了波浪号 (~)。 Unix 中的波浪号 (~) 指的是您用户的主目录,因此您的来源是正确的,但第二个参数是将链接放在 /Users/[your username]/usr/local/bin/ 中,它不包含在 $ 中路径。

在您的注释中,您说您尝试从源参数中删除引号。如果删除引号,则需要确保将空格字符转义如下:

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

这应该也可以。

【讨论】:

  • 我将您的第一段代码复制/粘贴到终端中。终端返回ln: /usr/local/bin/sublime: File exists'. When i type in sublime` 到终端我仍然得到command not found。这是我困惑/沮丧的根源。
  • @Zoop,您很可能在不带 ~ 的情况下运行 ln 命令时创建了 /usr/local/bin/sublime。试试ls -l /usr/local/bin/sublime,你会看到类似:/usr/local/bin/subl -> /Applications/Sublime 。如果是这样,rm /usr/local/bin/sublime 然后运行我再次提供的ln 命令。
  • 已修复。谢谢大佬,我把头发拉出来了。我不确定我做了什么把事情搞砸了,但一切都是固定的。我在终端中运行 sublime,然后弹出 ST3 窗口准备开始工作。感谢您的帮助 - 祝您好运!
  • 更喜欢这种方法,它对我有用。使用 /usr/local/bin 文件夹似乎是最好的主意。
  • 对于每个有点困惑的人为什么会收到错误command not found: subl,作者(和操作员)要求链接sublime而不是subl(后者很常见,并且在sublime的主页上使用)
【解决方案2】:

Mavericks 没有附带 ~/bin 目录,但发现我在尝试在任何低级系统 bin 目录中安装 subl 命令时遇到了麻烦。我发现以下解决方案效果很好:

为您的用户创建一个 ~/bin 目录:

mkdir ~/bin

根据 Sublime Text 文档添加 subl 命令:

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

在您(第二个)最喜欢的文本编辑器中打开 /etc/paths:

sudo vi /etc/paths

添加活动用户的 ~/bin 文件夹。这是我添加 ~/bin 后的样子:

~/bin
/usr/bin
/bin
/usr/sbin
/sbin
/usr/local/bin

【讨论】:

    【解决方案3】:

    经过几天的努力解决这个问题,这对我有用。

    确保在$PATH 中设置了~/usr/bin

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

    如果您收到权限被拒绝错误:

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

    输入您的密码。

    【讨论】:

    • /usr/bin 与 ~/usr/bin 不同。如果使用 /usr/bin 会出现权限被拒绝错误。
    • 我知道他们不一样。我只是说该解决方案对我有用。
    【解决方案4】:

    比起使用繁琐的 sudo 链接来设置,我更喜欢使用简单的 bash 函数并使用原生 Mac open 命令:

    #somewhere in your .bashrc or .zshrc
    sublime () {
        open -a "Sublime Text" $@
    }
    

    现在您只需sublime . 就可以从给定文件夹中打开 sublime。显然你可以简单地将它重命名为subl

    注意-a 参数中写入的名称是存储在/Applications 文件夹中的应用程序名称:

    【讨论】:

    • 很好,谢谢。如果 sublime 实例已经打开,如何在新的 sublime 选项卡中打开不是新的 sublime。
    【解决方案5】:

    已经给出的答案都很好,但是如何让您的生活更轻松,并改用好的工具;)

    1. 安装“Oh My ZSh”(恕我直言:必须拥有)https://github.com/robbyrussell/oh-my-zsh
    2. 打开配置文件:~/.zshrc
    3. 为插件添加 sublime:plugins=(sublime)(其他建议:brew coloured-man git osx)
    4. 使用类固醇打开终端并输入:st foo.txt
    5. 在幸福中傻笑,并阅读“Oh My ZSh”可以为您做的其他很酷的东西!

    【讨论】:

      【解决方案6】:

      如果您想从终端运行 Sublime,请将以下内容附加到您的 ~/.bash_profile 文件(~/.zshrc,如果您使用 zsh)。

      subl () { open -n -b "com.sublimetext.3" --args $* ;}
      

      现在,您只需在任何文件夹中输入subl . 即可开始编辑该文件夹中的文件。

      【讨论】:

        【解决方案7】:

        这也适用于我:

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

        比你可以写的:

        st filename.file extension
        

        它应该可以工作。我尝试了很多东西,但首先奏效了。

        【讨论】:

          猜你喜欢
          • 2018-12-12
          • 2013-11-03
          • 2015-12-01
          • 1970-01-01
          • 2014-04-09
          • 1970-01-01
          • 1970-01-01
          • 2013-08-28
          • 1970-01-01
          相关资源
          最近更新 更多