歡迎您光臨本站 註冊首頁

FreeCommander中設置Cygwin起始目錄 .

←手機掃碼閱讀     火星人 @ 2014-03-03 , reply:0

FreeCommander中設置Cygwin起始目錄 .

FreeCommander中設置Cygwin起始目錄 .





FreeCommander是Windows下很好的替代文件管理器的工具,更重要的是它是免費的,所以我很喜歡用。它其中一個很實用的功能是在你瀏覽某個文件夾時,直接按Ctrl-D就可以打開一個在該文件夾中的CMD窗口。但問題是CMD窗口功能太弱,我希望能打開Cygwin窗口。 FreeCommander有添加快捷命令的功能,所以我能很快讓FreeCommander中顯示一個Cygwin的菜單,但是要讓Cygwin一啟動就能走到我目前瀏覽的文件夾就不那麼容易了。主要問題有兩個:

1) Windows的路徑都是用\表示,Unix用/,因此有個路徑轉換的過程

2) 路徑中有空格的問題很討厭,需要處理一下。

經過一番努力,終於搞定這一功能。把流程簡述如下:

1) 首先啟動FreeCommander,選擇菜單:雜項->常用工具->編輯

2) 添加一個項目加「Cygwin",」程序「中選擇」C:\cygwin\Cygwin.bat" (假設cygwin安裝在C:\cygwin),參數填入"%ActivDir%",注意此處需要把雙引號也輸進去,否則有空格的路徑無法正確傳遞。

3) 編輯C:\cygwin\Cygwin.bat,在"bash --login -i"這行之前加入:

set init_dir=%1

這樣Cygwin的shell能看到有init_dir這個變數。

4) 在你Cygwin的~/.bashrc文件中最後加入這幾行:init_dir=${init_dir//\\/\/}
init_dir=${init_dir//C:/\/cygdrive\/c}
init_dir=${init_dir:1:${#init_dir}-2}
cd "$init_dir"第一行是把路徑中\換成/。第二行是把C:換成/cygdrive/c,我只有C盤,如果你需要處理其他盤符,可以類似處理。第三行是把變數兩頭的引號去掉。因為變數中如果兩頭有引號,Shell會認為這是路徑中的一部分,cd會出錯。最後一步就是換路徑,此時外面需要加上引號,以便對付路徑中的空格。




這樣你從FreeCommander中啟動Cygwin就能直接停留在當前活動目錄中!




《解決方案》

謝謝分享

[火星人 ] FreeCommander中設置Cygwin起始目錄 .已經有428次圍觀

http://coctec.com/docs/service/show-post-925.html