【问题标题】:Git-Bash unusable while running a process (Such as Sublime Text 3)?运行进程时 Git-Bash 无法使用(例如 Sublime Text 3)?
【发布时间】:2019-10-21 04:28:28
【问题描述】:

我终于让 Git-Bash 用 Sublime Text 打开一个文件/文件夹,但是当 sublime 文本打开时,我不能在 Bash 中发出任何新命令,而当关闭终端时它又会关闭 Sublime Text。

我希望能够使用 git-bash 打开带有崇高文本的文件或文件夹,但我猜它们不是 ..connected?我不知道..它似乎在运行文本编辑器时被锁定在运行编辑器的过程中,而不是仅仅打开它。

使用实时服务器也是如此。 我只需要运行多个终端吗? 1 发出命令,1 为我运行的每个进程(如 Sublime 和 live-server)?

【问题讨论】:

  • 你是如何从 bash 提示符启动 Sublime 的?
  • 我在 ~/.bashcr 或 whachamacallit 文件中设置了一个别名到 sublime 目录,别名为“subl”,遵循我在这里找到的多个指南。在 bash 我只是把“subl filename.suffix”

标签: windows sublimetext3 git-bash


【解决方案1】:

尝试在“subl”之后添加“&”。它对我有用

【讨论】:

    【解决方案2】:

    你确实不应该打开多个终端来做你想做的事;执行 Sublime 应该会让你回到终端,允许你执行其他命令。

    有几种方法可以让您从命令提示符访问 Sublime。

    首先是修改系统PATH 以包含Sublime 的安装目录。一旦你这样做了,你就可以直接执行subl(来自 Git Bash、标准的cmd 提示符、Cmder 等等)只要你打开控制台窗口之后你更新PATH

    第二个是为您设置执行命令的别名,在这种情况下,您的别名将被命名为 subl 之类的名称,并且它将包含相应可执行文件的完整路径,以便执行别名执行命令直接。

    如果你使用第一种方法,那么subl 应该在你启动它时留在终端的前台的唯一原因是你是否包含-w 命令行参数来告诉它wait;例如,如果您将它用作 EDITOR 来处理 git 提交消息等,您会这样做,在此提交暂停,直到您完成对提交消息的编辑。

    如果您使用上面的第二种方法(别名),那么您还需要注意您设置 alias 执行的内容。

    特别是,在 Windows 和 MacOS 上,Sublime 附带了 Sublime 本身的可执行文件(Windows 上为 sublime_text.exe,MacOS 上为 Sublime Text)以及名为 subl.exe (Windows) 或 subl 的可执行文件( MacOS)在终端中使用。虽然他们两个在表面上做同样的事情,但他们做的事情却有细微的不同。

    完整的二进制文件(例如sublime_text.exe)实际上是Sublime,因此运行它会运行Sublime,就像您执行的任何程序一样,它仍然在运行,并且终端提示不会将控制权返回给您,直到程序完成。

    subl 二进制文件是一个小型包装应用程序,它向 Sublime 的运行副本发送一条消息,告诉它打开文件、文件夹等,然后它立即退出(除非你告诉它-wait) ;如果 Sublime 还没有运行,它会先启动 Sublime,然后发送消息。

    在 Linux 上,只有一个 sublime_text 二进制文件,其行为类似于 subl;如果需要,它会启动 Sublime,发送命令告诉正在运行的实例要做什么,然后终止。如果你使用的是 Sublime 的打包版本,它还包含subl 命令供你执行,但这只是一个直接调用sublime_text 的shell 脚本。

    【讨论】:

      猜你喜欢
      • 2014-07-02
      • 2023-04-09
      • 1970-01-01
      • 2019-07-20
      • 2017-05-10
      • 2016-07-30
      • 2016-05-06
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多