在macOS中从终端打开Sublime Text

use*_*049 393 macos terminal sublimetext sublimetext3

在我使用的终端 .subl

它回来了 -bash: .subl: command not found

任何人都知道如何从macOS命令行打开Sublime Text 3?

rs7*_*s77 602

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

  1. subl从ST安装测试:

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

    /Applications/Sublime\ Text.app/Contents/SharedSupport/bin/subl .
    
    Run Code Online (Sandbox Code Playgroud)

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

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

  2. 检查".bash_profile":

    现在是时候在你的PATH文件夹中创建你的符号链接了,但是,在我们做之前,让我们通过使用检查你的个人资料文件nano ~/.bash_profile.以下这些行与sublSublime Text的命令行有关:

    export PATH=/bin:/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin:$PATH
    export EDITOR='subl -w'
    
    Run Code Online (Sandbox Code Playgroud)

    第一行设置您希望终端在您的计算机上查找二进制文件的位置,我将在/usr/local/bin目录中存储我的符号链接- 我想您可以将它存储在任何位置,前提是您已通知终端在哪里查找二进制文件.

    第二行是OPTIONAL,只是将Sublime Text设置为默认编辑器.-w已添加该标志,您可以通过转到Sublime Text文档找到有关标志的更多信息:ST3 sublST2 subl

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

    source ~/.bash_profile 
    
    Run Code Online (Sandbox Code Playgroud)

    编译新应用的编辑.如果您在获取文件后发现任何错误,请在转到最后一步之前将其修复.

  3. 创建Sublime Text的符号链接:

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

    ln -s /Applications/Sublime\ Text.app/Contents/SharedSupport/bin/subl /usr/local/bin/subl
    
    Run Code Online (Sandbox Code Playgroud)

    /Applications/Sublime\ Text.app/Contents/SharedSupport/bin/subl确切地说是相同的位置,你输入的内容,并验证为在上述第1步工作.在/usr/local/bin/subl你想要的符号链接位于的是位置-必须是您的一个PATH从上述步骤2的位置.

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

希望这可以帮助!

  • 这对我有用,但我必须首先删除旧的subl文件的符号链接. (4认同)
  • 正如 @mr.musicman 所发现的,您可能需要在步骤 3 中的命令前面使用 `sudo`。 (4认同)
  • 我遇到了ST3的问题,当我第一次输入`subl .`时,我会得到一个名为`untitled`的Sublime编辑器,它没有引用我所在目录中的任何文件.执行`export EDITOR ='subl -w '`对我的`.bash_profile`解决了这个问题. (3认同)
  • 直到最后一步,这个工作很精彩.我得到了`ln:/ usr/subl:Permission denied`想法? (3认同)
  • 我想我在这里找到了答案http://stackoverflow.com/questions/10196449/installing-sublime-texts-command-line-tool-subl-in-terminal-permission-denie (2认同)

Gan*_*tra 280

对于MAC 10.8+

sudo ln -s /Applications/Sublime\ Text.app/Contents/SharedSupport/bin/subl /usr/local/bin/subl
Run Code Online (Sandbox Code Playgroud)

工作!

  • @Tinple这适用于10.11`sudo ln -s/Applications/Sublime\Text.app/Contents/SharedSupport/bin/subl/usr/local/bin/subl`请参阅此处的答案 - http://apple.stackexchange的.com /问题/ 196224/UNIX-LN-S-命令不许可合OSX-EL-匹-β3 (58认同)
  • 2022 年更新:在 macOS Monterey 12.2.1 上运行得非常好 - 谢谢! (4认同)
  • 我必须使用主目录 ~,而不是 /usr/bin,才能使这项工作适合我...“sudo ln -s /Applications/Sublime\ Text.app/Contents/SharedSupport/bin/subl ~/bin /subl” (2认同)
  • 对于 sublime2 `sudo ln -s /Applications/Sublime\ Text\ 2.app/Contents/SharedSupport/bin/subl /usr/bin/subl` (2认同)

Chu*_*lom 132

假设:
1.您已经安装了Homebrew.
2./usr/local/bin是你的$ PATH.
你在优胜美地或El Capitain.

2017年8月4日编辑: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
Run Code Online (Sandbox Code Playgroud)

然后,

subl .
Run Code Online (Sandbox Code Playgroud)

点击返回,它应该立即弹出Sublime应用程序.

  • 可以确认是否适用于macOS Sierra 10.12.6.谢谢! (3认同)
  • @ChutipongRoobklom谢谢.它适用于我的'macOS Sierra版本:10.12(16A323)`. (2认同)
  • 适用于 High Sierra OSX 10.13.3 (2认同)
  • 它给了我这个: ln: /usr/local/bin/subl: 文件存在 我需要做什么? (2认同)
  • @Reihan_amn - 回复晚了,我认为你已经解决了它,但仅供参考。似乎存在与该名称关联的现有链接。您可以使用 rm /usr/local/bin/subl 然后您可以执行符号链接 (2认同)

Rog*_*ado 65

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

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

sudo ln -s /Applications/Sublime\ Text.app/Contents/SharedSupport/bin/subl /usr/bin/subl
Run Code Online (Sandbox Code Playgroud)

现在你可以打开sublime了

subl "/a/path/to/the/directory/you/want/to/open"
Run Code Online (Sandbox Code Playgroud)

  • @KenRatanachaiS.使用`/ usr/local/bin/subl`,而不是`/ usr/bin/subl`. (15认同)
  • ln:/ usr/bin/subl:不允许操作 (11认同)

Tho*_*zus 62

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

alias subl="/Applications/Sublime\ Text.app/Contents/SharedSupport/bin/subl"
Run Code Online (Sandbox Code Playgroud)

打开一个新的终端,你应该好好去,然后输入subl.

  • 同样在这里,这对我有用,但我需要用这个字符串将它改为Sublime text 2:"Sublime\Text\2.app /" (2认同)

Fua*_*uad 39

我将使用的那个非常简单.

open -a "sublime text" [file]
Run Code Online (Sandbox Code Playgroud)

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

  • 如果您访问速度更快,则可以创建别名.输入nano .bash_profile并粘贴:alias subl ="open -a'sublime text'" (3认同)

小智 27

有一种简单的方法可以做到这一点.它只需要几个步骤,您不需要太多使用命令行.如果您是命令行的新用户,则可以使用此方法.

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

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

第2步:查找可执行文件

  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粘贴到文件夹中的空白区域.它不应该在图标图像中有一个快捷箭头.


Tak*_*oft 18

试试这个.

ln -s /Applications/Sublime\ Text.app/Contents/SharedSupport/bin/subl /usr/local/bin/subl
Run Code Online (Sandbox Code Playgroud)


Md *_*han 16

Sublime Text 3文档中的Symlink命令将无法工作,因为~/bin/Mac OS X El Capitan或更高版本的Home位置中没有目录.

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

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

ln -s "/Applications/Sublime Text.app/Contents/SharedSupport/bin/subl" /usr/local/bin/subl
Run Code Online (Sandbox Code Playgroud)

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


Enr*_*que 16

只需遵循Sublime 文档即可

重击

echo 'export PATH="/Applications/Sublime Text.app/Contents/SharedSupport/bin:$PATH"' >> ~/.bash_profile
Run Code Online (Sandbox Code Playgroud)

中兴

echo 'export PATH="/Applications/Sublime Text.app/Contents/SharedSupport/bin:$PATH"' >> ~/.zprofile
Run Code Online (Sandbox Code Playgroud)

Linux

sudo ln -s /opt/sublime_text/sublime_text /usr/local/bin/subl
Run Code Online (Sandbox Code Playgroud)

确保运行命令后关闭终端。

用法

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


vin*_*yll 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


Jon*_*ech 10

在运行Sublime Text 2的OS X Mavericks中,以下工作对我有用.

sudo ln -s /Applications/Sublime\ Text\ 2.app/Contents/SharedSupport/bin/subl /usr/bin/subl
Run Code Online (Sandbox Code Playgroud)

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


Sti*_*ers 10

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

nano ~/.bash_profile
Run Code Online (Sandbox Code Playgroud)

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

alias subl='open -a "Sublime Text"'
Run Code Online (Sandbox Code Playgroud)

命中control+ x,然后y,然后enter保存并关闭它.

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

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

  • 这是最直接的方法。 (10认同)
  • 将别名添加到 ~/.bash_profile 后,执行 `source ~/.bash_profile` (3认同)

tar*_*l05 9

有用 !!!!对我来说,MacOS Sierra 10.12.2

ln -s "/Applications/Sublime Text.app/Contents/SharedSupport/bin/subl" /usr/local/bin/subl
Run Code Online (Sandbox Code Playgroud)

并在终端找到它 subl


Rah*_*hav 9

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

export PATH="$PATH:/Applications/Sublime Text.app/Contents/SharedSupport/bin"
Run Code Online (Sandbox Code Playgroud)

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


Gov*_*Rai 8

关闭Sublime.运行此命令.它会卸载它.你不会丢失你的prefs.然后再次运行它.它会自动绑定subl.

brew install Caskroom/cask/sublime-text
Run Code Online (Sandbox Code Playgroud)

  • 这终于做到了,非常感谢你发布这个!在原始符号链接因某些原因破坏之后,我一直试图让ST3从命令行运行几个月.无论如何,谢谢! (2认同)

dan*_*stx 7

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

subl .

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


Won*_*Bae 7

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

alias sublime="open -a /Applications/Sublime\ Text.app"
Run Code Online (Sandbox Code Playgroud)


小智 7

以下对我有用

open -a Sublime\ Text file_name.txt
open -a Sublime\ Text Folder_Path
Run Code Online (Sandbox Code Playgroud)

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

在您的

~/.bash_profile

alias sublime="open -a Sublime\ Text $@"
Run Code Online (Sandbox Code Playgroud)

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

sublime file_name.txt
sublime Folder_Path
Run Code Online (Sandbox Code Playgroud)


Art*_*miy 7

根据Sublime 安装文档

echo 'export PATH="/Applications/Sublime Text.app/Contents/SharedSupport/bin:$PATH"' >> ~/.zprofile
Run Code Online (Sandbox Code Playgroud)

工作正常。

  • 我认为这是最简单的解决方案 (2认同)

Joh*_*Doe 7

这个答案专门针对Mac OS VenturaSublime Text 4(内部版本 4143),它打破了符号链接<APP_PATH>/bin/subl/usr/local/bin.

一个干净而简单的解决方案是使用alias-ing。从任何相关文件中,例如:~/.zshrc~/.zprofile添加:

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

然后,source ~/.zshrc

该命令subl应该有效。


小智 6

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

所以我要做的是

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


小智 5

您可以添加一个别名

alias subl='/Applications/Sublime\ Text.app/Contents/SharedSupport/bin/subl'
Run Code Online (Sandbox Code Playgroud)

然后,您应该可以打开文件夹

subl <path>
Run Code Online (Sandbox Code Playgroud)