繁体   English   中英

如何在 cygwin 中创建一个命令来运行 Sublime Text?

[英]How do I make a command in cygwin to run Sublime Text?

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

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

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

任何人都可以帮忙吗?

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

例子

创建一个文件~/.bash_aliases

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

现在在~/.bashrc执行:

source ~/.bash_aliases    

注销并重新登录,然后subl . 应该管用

假设您在执行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这样它就会从终端中分离出来。

要打开文件并使用 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

您也可以简单地将 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来验证它是否有效

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM