簡體   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