我试图在cygwin中为mac计算机模仿iterm中的subl
命令。
基本上,我希望能够通过输入subl .
我还没有找到任何好的指示。我知道我的.bashrc文件所在的位置。我只是不知道如何创建命令subl
,并使其成为使subl
后面的路径以Sublime打开。
有人可以帮忙吗?
答案 0 :(得分:2)
你想创建一个别名并从bashrc中获取它。
实施例
使用以下内容创建文件~/.bash_aliases
alias subl='/cygdrive/c/sublime.exe' #make sure this command is correct for you
现在在~/.bashrc
执行:
source ~/.bash_aliases
退出并重新登录,subl .
应该正常工作
答案 1 :(得分:1)
打开文件并使用Git工具(commit,rebase,tag,... messages):
#!/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
答案 2 :(得分:0)
您还可以简单地将Sublime添加到PATH变量中。对于cygwin,您可以:
.bash_profile
与ls -a
存在.bash_profile
的内容打开vim .bash_profile
export PATH=$PATH:"/cygdrive/c/Program Files/Sublime Text 3"
(或Sublime所在的任何顶级安装文件夹)subl
验证它是否有效答案 3 :(得分:0)
假设您在执行subl ~
时希望行为正确,那么简单的别名或向您的PATH
添加Sublime Text无效。
您可以改用以下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
,这样它就可以与终端分离。