490

当我使用终端时.subl

它返回-bash: .subl: command not found

有人知道如何从 macOS 的命令行打开 Sublime Text 3 吗?

4

31 回答 31

713

我终于让它在我的 OSX 盒子上工作了。我使用这些步骤来让它工作:

  1. subl从您的 ST 安装进行测试:

    首先,导航到终端中您希望 ST 打开的一个小文件夹,然后输入以下命令:

     /Applications/Sublime\ Text.app/Contents/SharedSupport/bin/subl .
    

    注意:您可能需要Sublime\ Text.app在上面的命令中替换为Sublime\ Text\ 3.appSublime\ Text\ 2.app取决于应用程序在您的Applications目录中的存储位置。上述.命令末尾的 将打开您所在的当前工作目录(再次确保您位于仅包含几个文件的目录中!)。

    如果您没有打开当前工作目录的 Sublime Text,那么下一组步骤将不起作用。如果什么也没有发生,或者你从终端收到错误,那是因为它找不到 Sublime Text 应用程序。这意味着您必须检查您输入的内容(拼写等)或未安装 Sublime Text!

  2. 检查“.bash_profile”:

    现在是时候在您的PATH文件夹中创建符号链接了,但是,在我们这样做之前,让我们使用nano ~/.bash_profile. 这些是与subl在 Sublime Text 的命令行上工作有关的以下行:

     export PATH=/bin:/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin:$PATH
     export EDITOR='subl -w'
    

    第一行设置您希望终端在您的机器上查找二进制文件的位置,我将把我的符号链接存储在/usr/local/bin目录中 - 我想您可以将它存储在任何地方,只要您通知终端在哪里查找二进制文件。

    第二行是可选的,只是将 Sublime Text 设置为默认编辑器。该标志-w已添加,您可以通过访问 Sublime Text 文档了解有关标志的更多信息:ST4 sublST3 sublST2 subl

    如果您在关闭此文件后对其进行了任何编辑,则需要运行以下命令:

     source ~/.bash_profile 
    

    编译您新应用的编辑。如果您在获取文件后发现任何错误,请先修复它们,然后再进行最后一步。

  3. 创建一个指向 Sublime Text 的符号链接:

    现在在您选择的路径(我使用/usr/local/bin)中,您现在输入以下命令:

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

    与您在上面的步骤 1 中输入并验证为工作的/Applications/Sublime\ Text.app/Contents/SharedSupport/bin/subl位置完全相同。作为/usr/local/bin/subl您希望符号链接所在的位置 - 必须是PATH上述步骤 2 中的位置之一。

    现在,当您导航到要在 Sublime Text 中打开的文件夹或文件时,您现在只需输入subl后跟文件名或.打开当前工作目录。

于 2013-05-11T08:21:24.367 回答
410

对于 MAC 10.8+:

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

工作。

于 2013-09-17T06:45:16.680 回答
198

假设:

  • 您已经安装了 Homebrew。
  • /usr/local/bin 在你的 $PATH 中。
  • 你在优胜美地或 El Capitain。

MacOS Sierra 10.12.5 与 David Rawson 确认的效果一样好,MacOS Sierra 10.12.6 由 Alexander K. 确认。

在终端中运行以下脚本以创建特定的符号链接。

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

然后:

subl .

点击Return它应该会立即打开 Sublime Text。

于 2015-08-02T11:08:07.143 回答
70

我在 Mac OSX Mavericks 上使用 oh-my-zsh 并且符号链接对我不起作用,所以我在 .zshrc 文件中添加了一个别名:

alias subl="/Applications/Sublime\ Text.app/Contents/SharedSupport/bin/subl"

打开一个新的终端,你应该很高兴,然后输入subl.

于 2013-10-24T03:24:47.577 回答
70

这对我有用(我正在使用 OS X Mavericks)

首先,创建一个符号链接:

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

现在你可以打开 sublime

subl "/a/path/to/the/directory/you/want/to/open"
于 2013-09-06T22:06:49.617 回答
54

我将使用的一个非常简单。

open -a "sublime text" [file]

这会立即打开崇高的文本。您可以将要打开的文件指定为可选参数,例如在当前目录中打开“myfile.txt”。

于 2014-01-30T01:51:47.940 回答
33

您可以在终端中创建一个新别名:

nano ~/.bash_profile

复制这一行并将其粘贴到编辑器中:

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

点击control+ x,然后y,然后enter保存并关闭它。

关闭所有终端窗口并再次打开它。

就是这样,您现在可以使用subl filenamesubl .

zsh 更新

自 macOS 10.15 Catalina 起,默认 shell 已更改为 zsh。

nano ~/.zshrc

其余步骤保持不变。

于 2017-04-07T19:14:31.367 回答
28

有一个简单的方法可以做到这一点。它只需要几个步骤,您不需要过多地使用命令行。如果您不熟悉命令行,这就是执行此操作的方法。

步骤1:找到bin文件以放入subl可执行文件

  1. 打开终端
  2. 输入cd ..------------这应该返回一个目录
  3. 键入ls------------以查看目录中的文件列表
  4. 输入cd ..---------直到你得到一个包含usr的文件夹
  5. 输入open usr---------------这应该打开查找器,你应该看到一些文件夹
  6. 打开bin文件夹--------这是您将复制您的崇高可执行文件的地方。

步骤 2:查找可执行文件

  1. 打开查找器
  2. 在文件下打开一个新的查找器窗口(CMD + N)
  3. 导航到应用程序文件夹
  4. 找到 Sublime Text 并右键单击,这样你会得到一个下拉菜单
  5. 点击显示包内容
  6. 打开内容/SharedSupport/bin
  7. 复制subl文件
  8. 将它粘贴到我们之前找到的usr文件夹中的bin文件夹中
  9. 在终端输入subl-------------- 这应该打开 Sublime Text

确保它被复制并且它不是快捷方式。如果确实有问题,请将 usr/bin 文件夹作为图标查看,然后将subl粘贴到文件夹中的空白区域。图标图像中不应有快捷箭头。

于 2014-04-08T13:58:57.483 回答
21

尝试这个。

ln -s /Applications/Sublime\ Text.app/Contents/SharedSupport/bin/subl /usr/local/bin/subl
于 2017-08-29T20:33:34.583 回答
17

Sublime Text 3文档中的 Symlink 命令将不起作用,因为~/bin/Mac OS X El Capitan 或更高版本的主位置中没有目录。

因此,我们需要将符号链接放在 上,因为在大多数情况下/usr/local/bin,这条路径会在我们的$PATH变量中。

因此,以下命令应该可以解决问题:

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

正确创建符号链接后,您将能够像这样运行 Sublime Text 3:(subl . 。表示当前目录)

于 2016-08-17T07:36:16.640 回答
11

请注意不要写入/usr/bin,而是写入/usr/local/bin. 第一个是用于将自己的二进制文件写入系统的应用程序,最新的是用于制作我们自己的系统范围二进制文件的特定用途(这是我们在符号链接时的情况)。

/usr/local/bin可以在之后阅读/usr/bin,因此也是覆盖任何默认应用程序的好地方。

考虑到这一点,正确的符号链接将是:

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

于 2014-12-09T09:56:42.367 回答
11

关闭崇高。运行此命令。它会卸载它。你不会失去你的偏好。然后再次运行它。它会自动绑定subl

brew install Caskroom/cask/sublime-text
于 2017-01-09T08:08:22.020 回答
10

在运行 Sublime Text 2 的 OS X Mavericks 中,以下内容对我有用。

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

在查找器中找到文件并将其拖放到终端窗口中很方便,这样您就可以确定路径是正确的,我不是一个庞大的终端用户,所以这对我来说更舒服。然后您可以转到路径的开头并开始添加其他部分,例如速记 UNIX 命令。希望这可以帮助

于 2014-07-09T16:41:12.353 回答
10

以下对我有用

open -a Sublime\ Text file_name.txt
open -a Sublime\ Text Folder_Path

您可以使用别名使其事件变得简单,例如

将以下行添加到您的

~/.bash_profile

alias sublime="open -a Sublime\ Text $@"

然后下次您可以使用以下命令打开文件/文件夹

sublime file_name.txt
sublime Folder_Path
于 2020-09-28T23:10:13.690 回答
10

有用 !!!!在 MacOS Sierra 10.12.2 上对我来说

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

并在终端中找到它subl

于 2016-12-22T16:53:11.610 回答
8

将此添加到您的 .bashrc 或 .zshrc 是一个简单的解决方案。

alias sublime="open -a /Applications/Sublime\ Text.app"
于 2016-05-15T19:01:30.503 回答
7

如果您已将 subl 设置为从命令行调用,则打开当前目录的正确命令是:

subl .

OS X 命令行” 是一个关于如何确保一切都设置好的链接。

于 2013-04-24T18:33:03.630 回答
7

除非确实需要,否则不应污染 /usr/bin 目录。对于那些不受分发包管理器管理的二进制文件,我总是使用 /usr/local/bin。为什么?因为如果包管理器得到更新,它总是会替换 /usr/bin 中的文件。

所以我要做的是

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

于 2015-11-15T06:34:03.600 回答
6

您可以添加一个别名

alias subl='/Applications/Sublime\ Text.app/Contents/SharedSupport/bin/subl'

然后你应该能够打开一个文件夹或任何东西

subl <path>
于 2016-02-02T20:54:58.917 回答
5

根据Sublime 设置文档

echo 'export PATH="/Applications/Sublime Text.app/Contents/SharedSupport/bin:$PATH"' >> ~/.zprofile

工作正常。

于 2021-07-22T14:50:11.113 回答
4

从 macOS Catalina (ver 10.15) 开始使用 zsh。要允许 Sublime 从命令行运行,.zshrc请在您的主目录中进行编辑(cd不带参数将带您到达那里)并添加以下行:

export PATH="$PATH:/Applications/Sublime Text.app/Contents/SharedSupport/bin"

要从命令行运行 Sublime Text,请使用subl [filename]

于 2021-12-12T18:05:32.780 回答
3

对于任何想从终端在 Mac 上使用 Sublime 打开文件的人

open 'path/file.txt' -a '/Applications/Sublime Text.app'
于 2016-12-29T18:44:24.293 回答
3

这是为了让它作为别名而不是符号链接工作!

这将允许您在终端中运行其他命令而不会中断 subl 会话。在此处使用许多符号链接答案 ( ln -s),导致终端进程在使用 Sublime 文本时持久。如果您想要分离,请在 Bash 配置文件中创建一个别名,如下所示:

  1. subl从您的 ST 安装进行测试:

    首先,导航到终端中您希望 ST 打开的文件夹,然后输入以下命令:

    /Applications/Sublime\ Text.app/Contents/SharedSupport/bin/subl .
    

    注意:您可能需要Sublime\ Text.app在上面的命令中替换为Sublime\ Text\ 3.appSublime\ Text\ 2.app取决于应用程序在您的Applications目录中的存储位置。上述.命令末尾的 将打开您所在的当前工作目录(再次确保您位于仅包含几个文件的目录中!)。

    如果您没有打开当前工作目录的 Sublime Text,那么下一组步骤将不起作用。如果什么也没有发生,或者你从终端收到错误,那是因为它找不到 Sublime Text 应用程序。这意味着您必须检查您输入的内容(拼写等)或未安装 Sublime Text!

  2. 检查并更新“.bash_profile”:

    现在在您的 Bash Profile 中添加别名。通过打开它vim ~/.bash_profile。这些是与subl在 Sublime Text 的命令行上工作有关的以下行:

    ## For Sublime Text 3 alias
    alias subl='/Applications/Sublime\ Text.app/Contents/SharedSupport/bin/subl'
    ## For Sublime Text global editor preference **Optional
    export EDITOR='subl -w'
    

    我建议总是在这里评论你的代码##。第二行是可选的,只是将 Sublime Text 设置为默认编辑器。该标志-w已添加,您可以通过转到 Sublime Text 文档了解有关标志的更多信息:ST3 sublST2 subl

    如果您在关闭此文件后对其进行了任何编辑,则需要source在当前会话中编辑此文件或关闭终端(选项卡)并打开一个新文件。在进入最后一步之前,您可以source通过运行命令解决任何错误来获取此文件。source ~/.bash_profile

于 2017-07-25T04:06:51.907 回答
2

我要补充一点,如果您从 Sublime Text 2 升级,请先进入 /usr/bin 并删除旧的 subl,然后再按照上述相同的说明进行操作。值得升级。

于 2014-01-20T20:26:31.380 回答
2

我只用终端中的一行来实现这一点(使用 Sublime 3):

alias subl='/usr/local/bin/sublime'
于 2015-08-25T08:17:44.087 回答
2

我正在使用 mac airbook 打开你的终端并输入

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

然后输入简单的 subl 和文件名

 subl index.py
于 2017-12-05T11:24:53.373 回答
1

总结您可以完成它的不同方法:

  1. 从终端打开崇高文本
open /Applications/Sublime\ Text.app/
  1. 使用崇高文本打开当前路径中的特定文件(或提供您需要打开的文件的路径)
open -a /Applications/Sublime\ Text.app/ myFileToOpen.txt
  1. 通过引入一个名为“sublime”的新别名来缩短命令并使用它

    一个。打开 bash_profile:

    nano ~/.bash_profile

    湾。复制此行以创建别名并保存并重新启动终端

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

    C。用法:apple.txt 将以 sublime 文本打开(必要时提供文件路径)

    sublime apple.txt

于 2019-05-12T17:43:17.523 回答
0

在默认路径中创建文件对我不起作用,因为该Menu.sublime-menu文件已经覆盖了几乎所有其他菜单选项,只剩下自定义选项。

对我有用的是在路径中创建以下文件~/Library/Application Support/Sublime Text 3/Packages/User/Main.sublime-menu(注意目录User而不是Default):

[
    {
        "caption": "File",
        "mnemonic": "F",
        "id": "file",
        "children":
        [
            {
                "caption": "Open Recent More",
                "children":
                [
                    { "command": "open_recent_file", "args": {"index": 1 } },
                    { "command": "open_recent_file", "args": {"index": 2 } },
                    { "command": "open_recent_file", "args": {"index": 3 } },
                    { "command": "open_recent_file", "args": {"index": 4 } },
                    { "command": "open_recent_file", "args": {"index": 5 } },
                    { "command": "open_recent_file", "args": {"index": 6 } },
                    { "command": "open_recent_file", "args": {"index": 7 } },
                    { "command": "open_recent_file", "args": {"index": 8 } },
                    { "command": "open_recent_file", "args": {"index": 9 } },
                    { "command": "open_recent_file", "args": {"index": 10 } },
                    { "command": "open_recent_file", "args": {"index": 11 } },
                    { "command": "open_recent_file", "args": {"index": 12 } },
                    { "command": "open_recent_file", "args": {"index": 13 } },
                    { "command": "open_recent_file", "args": {"index": 14 } },
                    { "command": "open_recent_file", "args": {"index": 15 } },
                    { "command": "open_recent_file", "args": {"index": 16 } },
                    { "command": "open_recent_file", "args": {"index": 17 } },
                    { "command": "open_recent_file", "args": {"index": 18 } },
                    { "command": "open_recent_file", "args": {"index": 19 } },
                    { "command": "open_recent_file", "args": {"index": 20 } },
                    { "command": "open_recent_file", "args": {"index": 21 } },
                    { "command": "open_recent_file", "args": {"index": 22 } },
                    { "command": "open_recent_file", "args": {"index": 23 } },
                    { "command": "open_recent_file", "args": {"index": 24 } },
                    { "command": "open_recent_file", "args": {"index": 25 } },
                    { "command": "open_recent_file", "args": {"index": 26 } },
                    { "command": "open_recent_file", "args": {"index": 27 } },
                    { "command": "open_recent_file", "args": {"index": 28 } },
                    { "command": "open_recent_file", "args": {"index": 29 } },
                    { "command": "open_recent_file", "args": {"index": 30 } },
                    { "command": "open_recent_file", "args": {"index": 31 } },
                    { "command": "open_recent_file", "args": {"index": 32 } },
                    { "command": "open_recent_file", "args": {"index": 33 } },
                    { "command": "open_recent_file", "args": {"index": 34 } },
                    { "command": "open_recent_file", "args": {"index": 35 } },
                    { "command": "open_recent_file", "args": {"index": 36 } },
                    { "command": "open_recent_file", "args": {"index": 37 } },
                    { "command": "open_recent_file", "args": {"index": 38 } },
                    { "command": "open_recent_file", "args": {"index": 39 } },
                    { "command": "open_recent_file", "args": {"index": 40 } },
                    { "command": "open_recent_file", "args": {"index": 41 } },
                    { "command": "open_recent_file", "args": {"index": 42 } },
                    { "command": "open_recent_file", "args": {"index": 43 } },
                    { "command": "open_recent_file", "args": {"index": 44 } },
                    { "command": "open_recent_file", "args": {"index": 45 } },
                    { "command": "open_recent_file", "args": {"index": 46 } },
                    { "command": "open_recent_file", "args": {"index": 47 } },
                    { "command": "open_recent_file", "args": {"index": 48 } },
                    { "command": "open_recent_file", "args": {"index": 49 } },
                    { "command": "open_recent_file", "args": {"index": 50 } }
                ]
            }
        ]
    }
]

结果:

(出于安全原因,需要对图像的某些部分进行模糊处理)

打开-recent-more.png

于 2020-12-06T17:11:12.837 回答
0

sublime我正在使用 Oh-My-Zshell 并且之前声明的别名对我不起作用,所以我编写了一个简单的 bash 函数,它允许您通过在编辑器中打开当前文件夹从命令行打开 Sublime 。具有指定要从中打开编辑器的文件的附加功能。

# Open Sublime from current folder or specified folder
sublime(){
  /Applications/Sublime\ Text.app/Contents/SharedSupport/bin/subl ./$1
}

在终端中打开当前文件夹的用法:

$ sublime

打开特定文件夹的用法:

$ sublime path/to/the/file/to/open
于 2018-07-12T09:14:29.290 回答
0

对于 Sublime 4+,使用 Bash 更简单:

echo 'export PATH="/Applications/Sublime Text.app/Contents/SharedSupport/bin:$PATH"' >> ~/.bash_profile
于 2022-02-20T12:10:00.837 回答
-1

我在 Mac 上,这对我有用:

open /Applications/Sublime\ Text.app/Contents/SharedSupport/bin/subl
于 2016-02-26T22:10:50.343 回答