將Cygwin命令列視窗整合到Windows右鍵菜單

來源:互聯網
上載者:User

標籤:windows   cygwin   mintty   註冊表   bash   

    大家知道在Windows下Shift+右鍵菜單可以呼出“在此處開啟命令列視窗”功能表項目,在當前路徑下執行一些命令,非常的方便。是做出的效果:



    那麼,如何以這種方式開啟Cygwin的命令列視窗呢? 方法是”外呼裡應“,”外呼“就是通過註冊表添加右鍵功能表項目,使用者點擊該功能表項目時,調用相應程式並傳入參數,其中一個重要的參數就是當前路徑。”裡應“就是在cygwin的啟動指令碼裡檢測路徑參數,若有,則將工作路徑切換到該路徑參數。

    下面先介紹手動改動註冊表的方式:

(1) Win + R, 輸入regedit, 斷行符號,啟動註冊表編輯程式,找到HKEY_CLASSES_ROOT\Directory\Background\shell表項

(2) 右擊"shell"->建立->項,輸入建立項的名字,如"在此處開啟Cygwin視窗",此名隨便起,會顯示在功能表項目上。右擊剛才建立的項->建立->項,輸入建立項名字為"command",這個項的名字必須為"command",表示點擊該功能表項目時要執行的命令。雙擊"command"下"(預設)"資料項目,在"數值資料(V)"下輸入如下內容:

"D:\Cygwin\bin\mintty.exe" -i /Cygwin-Terminal.ico /bin/env _T=%V /bin/bash -l
解釋下上面一行內容的含義。"D:\Cygwin\bin\mintty.exe"為mintty所在位置,注意根據cygwin安裝路徑不同有所不同。-i用於指定mintty視窗左上方的表徵圖,/bin/env _T=%V用於設定在啟動mintty後的shell裡面環境變數_T的值,_T為路徑參數,其中%V表示windows傳入的路徑參數。/bin/bash -l 表示啟動登入shell


(3) 若僅進行以上設定,右擊即可出現功能表項目。現在要將其設定成Shift+右擊才出現。找到建立的”在此處開啟Cygwin視窗“,右擊->建立->字串值,名字輸入”Extended“,值保持預設即可。



(4) 進入Cygwin,編輯~/.bash_profile檔案,在尾部添加如下內容:

_T=${_T//\\//} #將所有的'\'替換為'/'if [[ $_T == "" ]]; then    _T=${HOME}ficd "${_T}"

(4)至此,完成。


下面介紹一個小工具Context Menu Editor,簡化上面註冊表編輯的繁瑣操作,以管理員權限運行該程式,進行如下設定後,點擊”set“即可加入註冊表。



注意,該工具可以設定功能表項目左側顯示的小表徵圖,實際上是在HKEY_CLASSES_ROOT\Directory\Background\shell\{newItemName}下建立"Icon"資料項目並設定值為表徵圖路徑實現的。該表徵圖與Path文字框裡的-i含義不同。


聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.