使用命令行在Sublime Text 3中打开一个文件夹

时间:2014-10-16 10:47:28

标签: command-line sublimetext3 fish

我正在尝试在sublime Text 3中打开一个目录。

我可以使用subl命令从命令行启动sublime。

帮助文本显示以下内容:

Sublime Text build 3059

Usage: subl [arguments] [files]         edit the given files
   or: subl [arguments] [directories]   open the given directories
   or: subl [arguments] -               edit stdin

Arguments:
  --project <project>: Load the given project
  --command <command>: Run the given command
  -n or --new-window:  Open a new window
  -a or --add:         Add folders to the current window
  -w or --wait:        Wait for the files to be closed before returning
  -b or --background:  Don't activate the application
  -s or --stay:        Keep the application activated after closing the file
  -h or --help:        Show help (this message) and exit
  -v or --version:     Show version and exit

--wait is implied if reading from stdin. Use --stay to not switch back
to the terminal when a file is closed (only relevant if waiting for a file).

Filenames may be given a :line or :line:column suffix to open at a specific
location.

因此,要打开目录,我应该可以使用以下

subl ./folder_name

但这对我不起作用。 Sublime打开(有一个空的新文档),我看不到侧栏中的文件夹。

我做错了......

顺便说一句。我正在使用带有'哦我的鱼'附加物的鱼壳(我还添加了崇高的附加物)......

10 个答案:

答案 0 :(得分:62)

仅适用于Mac或Linux

最好的&amp;最安全的方法是创建一个从Sublime可执行文件(subl)到$ PATH中已有的文件夹(例如/usr/local/bin/)的符号链接。如果你这样做;每次sublime更新时你都不必更新它......

对于运行BASH的用户(即大多数人):

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

如果这不起作用,请在主目录中创建一个bin文件夹(如果尚不存在),将其添加到PATH变量并创建指向该文件的软链接。

mkdir $HOME/bin
export PATH=$HOME/bin:$PATH
ln -s '/Applications/Sublime Text.app/Contents/SharedSupport/bin/subl' $HOME/bin/subl



然后,在您开始正确使用它之前,我建议先看一下帮助文本,然后解释它的用法:

 subl -h

e.g。

subl my_folder_name/filename.txt
subl my_folder_name

分别在Sublime中打开文件和文件夹。


更进一步

我使用BASH功能进一步实现以下好处

  • 缩短仅s的快捷方式(比subl稍短)。
  • 如果subl / s后没有指定文件/目录,
  • 会自动打开您当前的目录。

如果需要,可以通过运行以下命令(运行上述操作后)来使用此功能:

cd
subl .bashrc

这应该打开Sublime Text中的.bashrc文件。将以下内容添加到底部。

function s {
  if [ "$1" != "" ]; then
    subl $1
  else
    subl $PWD
  fi
}   

然后你只需输入一个s就可以打开Sublime(所有的sublime参数仍然有效)......

(Side Point,我也使用open(对于mac)/或xdg-open(对于ubuntu)的类似函数;其中我将命令缩短为o。我使用它很多,以打开文件管理器中的当前目录)...


鱼壳用户(你知道你是谁)

上面的出口行不起作用;所以换成以下

set PATH $HOME/bin:$PATH



编辑前

我安装了不同版本的命令行subl和sublime text三。我只是删除了subl命令然后重新添加并为我解决了问题......

对于那些可能觉得有用的人 - 这就是我所做的:

 subl -v

这向我展示了命令行sublime的构建,当我针对我的实际Sublime版本进行检查时,我注意到命令行subl是一个较旧的版本。所以我尝试使用以下命令找到命令行subl的位置(对我来说这是/usr/bin/subl):

which subl

所以我首先删除了这个旧命令行的崇高文本。

sudo rm /usr/bin/subl   (use `sudo` only if necessary)

然后将Subl重新添加到我的PATH(如上所述)

答案 1 :(得分:20)

要在同一文件夹中打开sublime,您只需输入命令行:

subl . 

为了工作,你必须配置一些东西:

1)为防止打开以前的项目,您应该设置Sublime用户设置的以下属性:

"hot_exit": false,
"remember_open_files": false

2)为了在任何地方使用subl.exe,你应该在环境变量中添加Sublime文件夹。即 C:\ Program Files \ Sublime Text 3

答案 2 :(得分:4)

我之前在Mac OSX和Windows上都遇到过这个问题,我发现它有些奇怪;

Mac OSX 您必须已经打开Sublime Text以使subl ./folder_name命令实际打开文件夹,或者Sublime必须已经退出且Windows仍然打开 - 如果您关闭所有窗口然后退出Sublime,使用{{1} }命令只会打开一个空白的Sublime窗口。

<强>窗 您必须打开Sublime才能使subl ./folder_name正常工作。如果没有Sublime打开,它将只打开一个空白的Sublime窗口。

我还没有找到一种方法让命令正常,无论你如何退出Sublime /当你关闭Sublime。

在运行命令时尝试打开Sublime,然后查看它是否有效。

答案 3 :(得分:3)

那是因为默认情况下侧栏没有显示,你可以通过

显示侧栏
View > Side Bar> Show Side Bar

[enter image description here 1

答案 4 :(得分:1)

要在Sublime Text中作为项目打开文件夹,请在您尝试打开的文件夹中使用subl .

<强>的Linux 因此,如果您要打开~/Documents/folder_name,请转到终端cd Documents/folder_name中的该文件夹,然后输入命令subl .

注意这仅在Ubuntu中使用Sublime Text 2进行测试。

修改在此处找到答案:http://olivierlacan.com/posts/launch-sublime-text-3-from-the-command-line/

答案 5 :(得分:1)

我无法使用当前安装的sublime text 2打开sublime text 3。要解决此问题:

1)从终端打开/ usr / local / bin。

2)找到并删除bin文件夹中的subl

3)复制并粘贴&#39; / Applications / Sublime Text.app/Contents/SharedSupport/bin/subl' / usr / local / bin / subl进入终端。

4)在bin文件夹中找到新的subl

5)在终端中使用subl验证命令是否正确打开了sublime text。

6)使用subl -v并获得Sublime Text Build 3083

答案 6 :(得分:0)

虽然已有多个答案,但我为增加噪音而道歉,我不明白为什么您要使用subl ./folder_name打开本地目录。为什么不使用subl folder_name/

无论哪种方式,我在OS X上的ST3(build 3083)安装都会打开一个带有subl ./childsubl child/的子目录,无论Sublime是否在命令之前打开。

PS:通过运行Command + K然后B打开目录,确保您没有关闭侧栏。我经常假设某个目录无法打开,因为我的侧边栏已关闭,无法看到其中列出的文件。

答案 7 :(得分:0)

可能有一个别名,其名称为subl,由我的鱼提供&#39; 。您可以在终端中使用alias命令检查是否存在别名。这将显示会话的所有别名。如果您在列表中有它,那么它将与您的符号链接发生冲突。通过修复源或使用unalias subl禁用别名(unalias只会为当前会话修复它)

使用osx的bash-it别名时遇到了这个问题。禁用它可以解决我的问题。

答案 8 :(得分:0)

对于Linux和MacOs用户和Sublime Text 3 尝试命令: subl3

答案 9 :(得分:0)

MAC OSX 打开终端并运行以下命令:

  

ln -s'/应用程序/ Sublime Text.app/Contents/SharedSupport/bin/subl'   / usr / local / bin / subl

仅在第一次时需要上述命令。完成此配置后,每当您转到项目所在的文件夹时,请运行以下命令:

  

subl。