在macOS终端打开Sublime Text

在终端,当我使用.subl

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

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

393935 次浏览

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

# EYZ0

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

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

  1. 测试subl从ST安装:

    首先,导航到Terminal中的一个小文件夹,您希望ST打开该文件夹,并输入以下命令:

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

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

    如果你没有得到崇高的文本打开你当前的工作目录,那么接下来的一组步骤将不起作用。如果什么都没有发生,或者你从终端得到一个错误,这将是因为它无法找到Sublime文本应用程序。这意味着你必须检查你输入了什么(拼写等)或崇高的文本没有安装!

  2. < p >检查“.bash_profile":

    现在是时候在PATH文件夹中创建符号链接了,但是,在我们这样做之前,让我们使用nano ~/.bash_profile检查您的配置文件。以下是关于在Sublime Text的命令行中使用subl的代码行:

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

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

    第二行是可选的,只是将Sublime Text设置为默认编辑器。标记-w已经添加,你可以通过Sublime文本文档找到更多关于标记的信息: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
    

    /Applications/Sublime\ Text.app/Contents/SharedSupport/bin/subl与您在上面步骤1中输入并验证的位置完全相同。/usr/local/bin/subl是你想要符号链接的位置-需要是上面步骤2中的PATH位置之一。

    现在,当你导航到一个文件夹或文件,你想要在Sublime文本打开你现在只需要输入subl后面跟着文件名或.打开当前工作目录。

这适用于我(我使用OS X Mavericks)

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

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

现在你可以打开升华

subl "/a/path/to/the/directory/you/want/to/open"

对于MAC 10.8+:

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

工作。

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

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

打开一个新终端,然后输入subl

我想补充的是,如果你从Sublime Text 2升级,进入/usr/bin,先删除你的旧subl,然后再按照上面相同的指示。值得升级。

我将使用的方法非常简单。

open -a "sublime text" [file]

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

有一个简单的方法。它只需要几个步骤,您不需要过多地使用命令行。如果你刚接触命令行,这是一种方法。

步骤1:找到bin文件,将子可执行文件放在

  1. 打开终端
  2. 输入# EYZ0 --------------------- 这将返回一个目录
  3. 输入# EYZ0 ------------------------ 看到一个目录中的文件列表
  4. 输入cd .. ---------------------,直到你得到一个包含usr的文件夹
  5. 输入open usr ---------------,这会打开finder,你应该会看到一些文件夹
  6. 打开箱子文件夹-------,这是你复制崇高的可执行文件的地方。

步骤2:找到 . exe文件

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

确保它被复制,而不是一个快捷方式。如果您确实有问题,查看usr/bin文件夹的图标,并将subl粘贴在文件夹的空白区域。它不应该在图标图像中有一个快捷箭头。

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

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

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

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

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

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

< p > <代码> ln -s /Applications/Sublime\ Text。应用程序/内容/ SharedSupport / bin / subl /usr/local/bin/subl < /代码> < / p >

假设:

  • 您已经安装了Homebrew。
  • /usr/local/bin在$PATH中。
  • 你在约塞米蒂或酋长岩。

MacOS Sierra 10.12.5已被David Rawson确认,MacOS Sierra 10.12.6已被Alexander K。

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

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

然后:

subl .

点击返回,它应该立即打开Sublime Text。

我在终端中只用一行就实现了这一点(使用Sublime 3):

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

我要做的是

# EYZ0

你可以添加一个别名

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

然后你就可以打开文件夹了

subl <path>

我用的是mac,这对我来说很管用:

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

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

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

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

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

因此,下面的命令应该可以做到这一点:

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

一旦你正确地创建了符号链接,你就可以像这样运行Sublime Text 3: subl . (. 表示当前目录)

它工作!!!!MacOS Sierra 10.12.2

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

并在终端subl找到它

任何人寻找打开一个文件与升华的mac终端

open 'path/file.txt' -a '/Applications/Sublime Text.app'

亲密的崇高。执行该命令。它会卸载它。你不会失去你的偏好。然后再运行一次。它将自动绑定subl

brew install Caskroom/cask/sublime-text

你可以在Terminal中创建一个新的别名:

nano ~/.bash_profile

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

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

点击控制 + x,然后是y,然后是输入保存并关闭。

关闭所有终端窗口并重新打开。

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

# EYZ0:

自macOS 10.15 Catalina开始,默认shell更改为zsh。

nano ~/.zshrc

其余步骤保持不变。

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

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

  1. 测试subl从ST安装:

    首先,导航到Terminal中希望ST打开的文件夹,并输入以下命令:

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

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

    如果你没有得到崇高的文本打开你当前的工作目录,那么接下来的一组步骤将不起作用。如果什么都没有发生,或者你从终端得到一个错误,这将是因为它无法找到Sublime文本应用程序。这意味着你必须检查你输入了什么(拼写等)或崇高的文本没有安装!< / p >

  2. 查看并更新".bash_profile":

    现在在Bash配置文件中添加别名。通过vim ~/.bash_profile打开它。以下是关于在Sublime Text的命令行中使用subl的代码行:

    ## 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文本文档:ST3 sublST2 subl找到更多关于标记的信息

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

试试这个。

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

# EYZ0

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

# EYZ0

 subl index.py

我使用的是Oh-My-Zshell和之前的别名,所以我写了一个简单的bash函数,允许您通过使用sublime在编辑器中打开当前文件夹从命令行打开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

总结一下实现目标的不同方法:

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

    A. open bash_profile:

    < p > <代码>纳米~ / . bash_profile < /代码> < / p >

    B.复制这一行以创建别名并保存并重启终端

    alias sublime="open -a /Applications/ sublime \ Text.app" < /代码> < / p >

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

    < p > <代码>崇高apple.txt < /代码> < / p > < /李>

下面的方法对我很有效

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

默认的路径对我没用中创建文件,作为Menu.sublime-menu文件覆盖了几乎所有其他菜单选项,并留下了自定义的只有

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

[
{
"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 } }
]
}
]
}
]

结果:

(出于安全考虑,需要模糊图像的某些部分)

open-recent-more.png .png

根据Sublime设置文档

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

工作很好。

从macOS Catalina(10.15版本)开始使用zsh。为了允许Sublime从命令行运行,在你的主目录中编辑.zshrc (cd不带参数会让你到达那里),并添加以下行:

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

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

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

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

只要按Sublime Documentation

Bash

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

ZSH

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

Linux

sudo ln -s /opt/sublime_text/sublime_text /usr/local/bin/subl

执行命令后,请务必关闭终端。

使用

要查看可用的标志,运行subl --help