Sublime命令行打开两次

Sublime命令行打开两次

我刚刚创建了一个到 sublime 的符号链接:

$ sudo ln -s /opt/SublimeText2/sublime_text /usr/bin/subl

问题是它打开了最后一个项目和我想要的打开:

$ subl my-project

或者

$ ~/my-project/subl .

这两个命令都会打开 Sublime Text 2 但两次,所以我有两个 ST2 正在运行。

如何解决这个问题?

答案1

$ ./sublime_text --help 
Sublime Text 2 Build 2217

Usage: sublime_text [arguments] [files]         edit the given files
   or: sublime_text [arguments] [directories]   open the given directories

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
  -h or --help:        Show help (this message) and exit
  -v or --version:     Show version and exit

您可以通过提供“-a”选项来获得所需的效果,该选项会将文件夹树发送到应用程序的正在运行的实例,而不是打开一个新窗口。

答案2

这是 Sublime Text 2 中的一个错误。Sublime 默认会记住退出程序后的最后一个会话和打开的文件。在某些情况下,这是一个很好的功能,但对我和你来说似乎都不是。

因此,当您创建符号链接时,您可以在终端窗口中键入“subl”,Sublime Text 2 将打开最后一个会话。如果您输入“subl”。它将在最后一个会话中打开两个窗口,并在另一个窗口中打开当前文件夹层次结构。

所以我遇到的情况是,我cd进入了一个新的 Rails 项目文件夹,并想在 Sublime Text 2 中打开当前项目文件夹,但没有发生。

所以我的解决办法是:

  1. 禁用自动加载会话/最后一个文件:打开 sublime text 2 并转到“首选项/设置-用户”。

  2. 添加这两行:(如果存在大括号,只需在列表中最后一项的末尾添加一个逗号,然后将文本输入到现有大括号中。如果没有项目保留大括号)

    {
      //disable auto-load sessions and files feature 
      "hot_exit": false,
      "remember_open_files": false
    }
    
  3. 打开终端窗口,然后 cd 进入您想要的任何目录,然后输入“subl .&”,这将使终端窗口保持激活状态,以便您仍然可以键入与项目关联的命令(即从当前项目的 sublime text 2 内部运行 rspec 测试)并打开当前文件夹层次结构中的所有文件。您现在可以打开和保存文件,但无需退出 Sublime Text 2 即可使用终端。

  4. 警告!如果您以这种方式打开 Sublime Text 2 后退出终端窗口,Sublime Text 窗口将连同您打开的所有选项卡一起关闭。如果出于某种原因需要关闭此终端窗口实例并保持所有文件打开以继续工作,请单击终端窗口实例并按Ctrl+ Z'。

这是我针对当前情况的解决办法,也许也是针对您或其他人的情况的工作。

答案3

进入要在终端中打开的相应文件夹后,请仅键入 subl,不带句点 (.)。这将打开 sublime text 的单个实例。

我找到了这个解决方案这里

相关内容