command-line - 使用命令行在 Sublime Text 3 中打开文件夹

标签 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 确实打开了(带有一个空的新文档),但我在侧栏中看不到该文件夹​​。

我是不是做错了...

顺便说一句。我将 fish shell 与“哦我的 fish ”附加组件一起使用(我还添加了 sublime 附加组件)...

最佳答案

仅限 Mac 或 Linux

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

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

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

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

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

<小时/>

那么在你开始正确使用它之前,我建议你先看看帮助文本,其中解释了它的用法:

 subl -h

例如

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 参数仍然有效)...

(顺便说一句,我还对 open (对于 mac)/或 xdg-open (对于 ubuntu)使用类似的函数;我将命令缩短为 o.我经常用它来打开文件管理器中的当前目录)...

<小时/>

Fish Shell 用户(你知道你是谁)

上面的导出行不起作用;所以将其交换为以下内容

set PATH $HOME/bin:$PATH

<小时/>

编辑前

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

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

 subl -v

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

which subl

所以我首先删除了这个旧的命令行 sublime text。

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

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

关于command-line - 使用命令行在 Sublime Text 3 中打开文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26402472/

相关文章:

shell - 如何从 fish shell 中的命令替换输出中捕获换行符?

shell - 使用可选参数编​​写 fish shell 脚本

java - 如何从命令行调用嵌入式 jre 以运行 java 应用程序

c# - 在命令窗口中从 Windows 窗体应用程序获取退出代码

python - Sublime Text 插件 : Adding python libraries

html - 如何在 Sublime Text 3 中格式化 HTML

ubuntu - 添加自定义脚本到 fish shell 配置

c - 使用命令行参数时出现段错误

c - 为什么下面的shell命令在命令行中直接执行时可以工作,但通过C程序使用popen/system执行时却不起作用?

sublimetext3 - 在 Sublime Text 3 中切换布局