【问题标题】:How do I make a command in cygwin to run Sublime Text?如何在 cygwin 中创建命令来运行 Sublime Text?
【发布时间】:2015-09-16 02:28:17
【问题描述】:

我正在尝试在 cygwin 中为 mac 计算机模仿 iterm 中的 subl 命令。

基本上,我希望能够通过键入 subl . 从 cygwin 打开当前文件夹

我没有找到任何好的说明。我知道我的 .bashrc 文件所在的位置。我只是不知道该怎么做才能创建命令subl 并使其遵循subl 的路径以Sublime 打开。

有人可以帮忙吗?

【问题讨论】:

    标签: bash cygwin


    【解决方案1】:

    你想创建一个别名并从 bashrc 获取它。

    例子

    创建一个文件~/.bash_aliases

    alias subl='/cygdrive/c/sublime.exe' #make sure this command is correct for you
    

    现在在~/.bashrc 做:

    source ~/.bash_aliases    
    

    退出并重新登录,subl . 应该可以工作

    【讨论】:

    • 谢谢!这完美无缺。在您回答之前,我找到了第二种方法,即通过名为 subl 的文件资源管理器创建一个文件并在其中编写一个脚本。不过,您的答案似乎更快地加载了崇高。再次感谢!
    • 跟进:这可行,但保持 cygwin 锁定,直到我再次退出崇高。防止这种情况发生的语法是什么?另一方面,我只是添加了一个$1 &。我不确定如何使用 .bash_aliases 来完成它,因为在另一个示例中引号是不必要的。
    • 我不确定它是否适用于 cygwin bash,但我会将其作为 nohup 启动:$ nohup /cygdrive/c/sublime.exe &
    • nohup 可能是更好的选择,但您可以根据需要将 & 作为别名的一部分。只需在最后一个引号之前添加&
    【解决方案2】:

    假设您在执行 subl ~ 时想要正确的行为,那么简单的别名或将 Sublime Text 添加到您的 PATH 将不起作用。

    您可以改用以下 bash 函数(将其放入您的 .bashrc):

    function subl {
        cygpath --windows $@ | sed 's/\\/\\\\/g' | tr '\n' '\0' | xargs -0 -n1 /cygdrive/c/Program\ Files/Sublime\ Text\ 3/subl.exe
    }
    

    请注意,在将路径传递给 xargs 时,您需要 1) 转义反斜杠,2) 使用 NUL 字符作为参数分隔符,以便它可以处理带有空格的路径。

    编辑:使用subl.exe 而不是sublime_text3.exe,这样它就会与终端分离。

    【讨论】:

      【解决方案3】:

      打开文件并使用 Git 工具(提交、变基、标记、...消息):

      #!/bin/bash
      # To create in [.babun/]cygwin/usr/local/bin/subl with chmod +x
      
      ARGS=""
      while test $# -gt 0
      do
        ARGS="$ARGS ${1#/cygdrive/[a-zA-Z]}"; # Remove /cygdrive and disk letter from the path
        shift
      done
      
      /cygdrive/c/Program\ Files/Sublime\ Text\ 3/subl.exe $ARGS
      

      https://gist.github.com/cmalard/16c58869319c9a88473ec08cc7989c6b

      【讨论】:

        【解决方案4】:

        您也可以简单地将 Sublime 添加到您的 PATH 变量中。对于 cygwin,您可以:

        1. 转到您的主目录并使用ls -a 验证.bash_profile 是否存在
        2. 打开.bash_profile 类似vim .bash_profile
        3. 添加行export PATH=$PATH:"/cygdrive/c/Program Files/Sublime Text 3"(或任何顶级安装文件夹Sublime)
        4. 重新打开您的终端并使用subl 验证它是否正常工作

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2023-03-25
          • 2020-07-03
          • 2015-12-19
          • 2020-05-30
          • 1970-01-01
          相关资源
          最近更新 更多