1. 程式人生 > >Win下必備神器之Cmder

Win下必備神器之Cmder

誠言,對於開發碼字者,Mac和Linux果斷要比Windows更貼心;但只要折騰下,Windows下也是有不少利器的。之前就有在Windows下效率必備軟體一文中對此做了下記載;其雖沒oh-my-zsh那麼逆天的存在,卻也甚是好用,至少要比Windows原生Cmd好出了天際。因為好用,所以“必備”

安裝 cmder

Cmder官網http://cmder.net/(她把conemu,msysgit和clink打包在一起,讓你無需配置就能使用一個真正乾淨的Linux終端!她甚至還附帶了漂亮的monokai配色主題。);作為一個壓縮檔的存在, 可即壓即用。你甚至可以放到USB就可以雖時帶著走,連調整過的設定都會放在這個目錄下,不會用到系統機碼(Registry),所以也很適合放在Dropbox / Google Drive / OneDrive共享於多臺電腦。

下載的時候,有兩個版本,分別是mini與full版;唯一的差別在於有沒有內建msysgit工具,這是Git for Windows的標準配備;全安裝版 cmder 自帶了 msysgit, 壓縮包 23M, 除了 git 本身這個命令之外, 裡面可以使用大量的 linux 命令;比如 grep, curl(沒有 wget); 像vim, grep, tar, unzip, ssh, ls, bash, perl 對於愛折騰的Coder更是痛點需求。

配置 Cmder

啟動Cmder

因為她是即壓即用的存在,所以點選Cmder.exe即可執行。很顯然這般開啟她,不怎麼快捷,即便用Listary

高效搜尋到她,然後點選,我們可以這樣做:

1.把 cmder 加到環境變數:可以把Cmder.exe存放的目錄新增到系統環境變數;加完之後,Win+r一下輸入cmder,即可。

2.新增 cmder 到右鍵選單:在某個資料夾中開啟終端,這個是一個(超級)痛點需求,實際上上一步的把 cmder 加到環境變數就是為此服務的,在管理員許可權的終端輸入以下語句即可:

Cmder.exe /REGISTER ALL

開啟一個管理員許可權終端:輸入 Ctrl + t,或者點選下面控制條的綠色加號,勾選 Run as administrator

這就打開了一個管理員許可權的終端, 在裡面輸入上述語句,就可在每個資料夾右鍵選單中點選 Cmder here

喚起Cmder,方便快捷。

不用開啟資料夾就能打Cmder,並進入該目錄;爽。

3.借用Win下逆天神器:AutoHotKey(這個下篇要好好記載下)為Cmder配置自己喜歡的快捷鍵(個人用Alt+r):

!r:: run, D:\**\cmder_mini\Cmder.exe

個人比較推崇使用AutoHotKey;高效簡潔,才是王道。

預設開啟設定

作為強大的存在,必然支援私人定製。輸入win + alt + p 或者 在底部右擊點選 settings, 進入設定頁面;可以根據自己的所需進行各種配置(字型,面板等等等等)。

目前遊走在前端,Gulp已離不開,Cmder+PowerShell這個組合無疑是執行gulp的利器。如下圖所示,可以設定PowerShell作為預設開啟的選項;也可以更改預設開啟是所在目錄。

解決文字重疊問題

Win + ALT + P 喚出設定介面 > mian > font > monospce,去掉那勾勾即可。

修改命令提示符號·λ·

Cmder預設的命列列提示符號是λ;如果用著不習慣,可以將這個字元改成Mac / Linux環境下常見的$符號,具體操作如下:

編輯Cmder安裝目錄下的vendor\init.bat批處理檔案(min版本15行),把:

@prompt $E[1;32;40m$P$S{git}{hg}$S$_$E[1;30;40m {lamb} $S$E[0m

修改成以下即可:

@prompt $E[1;32;40m$P$S{git}{hg}$S$_$E[1;30;40$$ $S$E[0m

這個親測在cmder.exe可以,但在PowerShell.exe需要另行設定:開啟檔案config/cmder.lua(prompt.lua也有版本是這個),將第二行中的λ修改為Linux下常用的$即可;親測可行(2016-01-13)。

常用功能介紹

cmder 功能極為強大,功能也非常多,但從視窗畫面上看不太出其強大實力,這裡就先說下其「看的見」的功能:

如上圖示編號的部分說明如下:

  1. Cmder常用快捷鍵
    跟一般瀏覽器頁籤操作習慣一致:

    • 可以利用Tab,自動路徑補全(爽,贊!);

    • 可以利用Ctrl+T建立新頁籤;

    • 利用Ctrl+W關閉頁籤;

    • 還可以透過Ctrl+Tab切換頁籤;

    • Alt+F4:關閉所有頁籤

    • Alt+Shift+1:開啟cmd.exe

    • Alt+Shift+2:開啟powershell.exe

    • Alt+Shift+3:開啟powershell.exe (系統管理員許可權)

    • Ctrl+1:快速切換到第1個頁籤

    • Ctrl+n:快速切換到第n個頁籤( n值無上限)

    • Alt + enter: 切換到全屏狀態;

    • Ctr+r 歷史命令搜尋;

    • End, Home, Ctrl : Traversing text with as usual on Windows

  2. 可在視窗內搜尋畫面上出現過的任意關鍵字。

  3. 新增頁籤按鈕,可透過滑鼠新增頁籤。

  4. 切換頁籤按鈕,可透過滑鼠切換頁籤。

  5. 鎖定視窗,讓視窗無法再輸入。

  6. 切換視窗是否提供卷軸功能,啟動時可查詢之前顯示過的內容。

  7. 按下滑鼠左鍵可開啟系統選單,滑鼠右鍵可開啟工具選項視窗。 Win+Alt+P :開啟工具選項視窗

cmder元件組成

cmder其實結合了多套軟體,其中包括msysgit與最重要的ConEmuClink軟體,而ConEmu與Clink這兩套軟體就是cmder真正的核心元件。

  • msysgit除了提供Git for Windows 相關工具外,其實還提供了多套Unix/Linux 環境下常用的指令列工具,例如less, ls, tar, unzip, md5sum, grep, sed, … 等多套工具。光是一個grep 就不知道比Windows 內建的findstr 強幾百倍了!

  • ConEmu也可以是單獨一款軟體存在,曾經一度迷戀於它,然而其體驗並不如cmder,便放棄它了。

  • Clink 將GNU Readline 函式庫整合進原生的Windows 命令提示字元視窗,提供命令列模式下強大的編輯與輸入能力,這也是用了cmder 之後會這麼像在Linux 環境下使用的感覺。

上述功能,目前沒怎麼用,根據學以致用原理,也就還沒去了解去折騰。

在 Linux 下,大家喜歡用 apt-get(mac下用brew) 來安裝應用程式,如今在 windows 下,大家可以使用 Chocolatey 來快速下載搭建一個開發環境。Chocolatey的哲學就是完全用命令列來安裝應用程式, 它更像一個包管理工具(背後使用 Nuget )

另外需要說明的是, Chocolatey 只是把官方下載路徑封裝到了 Chocolatey 中,所以下載源都是其官方路徑,所以下載的一定是合法的,但是如果原軟體是需要 Licence 註冊的話,那麼 Chocolatey 下載安裝好的軟體還是需要你去購買註冊。不過 Chocolatey 一般還是會選用免費 Licence 可用的軟體。

安裝chocolatey,執行如下命令即可:

@powershell -NoProfile -ExecutionPolicy unrestricted -Command "iex ((new-object net.webclient).DownloadString('https://chocolatey.org/install.ps1'))" && SET PATH=%PATH%;%ALLUSERSPROFILE%\chocolatey\bin

安裝軟體命令 choco install softwareName,短寫是 cinst softwareName。可安裝的應用程式,可以參見其 Package列表。以下是window下開發常用的開發環境應用:

choco install autohotkey.portable    #安裝 AutoHotkey (Portable)
choco install nodejs.install  #安裝 node
choco install git.install     #安裝 git
choco install ruby            #安裝 ruby
choco install python          #安裝 python
choco install jdk8            #安裝 JDK8
choco install googlechrome    #安裝 Chrome
choco install google-chrome-x64 #Google Chrome (64-bit only) 
choco install firefox         #安裝 firefox
choco install notepadplusplus.install #安裝 notepad++
choco install Atom                    #安裝 Atom
choco install SublimeText3            #安裝 SublimeText3

其他功能

  • Cmder還增加了alias功能;他讓你用短短的指令執行一些常見但指令超長又難以記憶的語法;比如 ls cls等等;在其控制檯輸入alias可以檢視。

  • 主控臺文字自動放大縮小功能,你只要按下Ctrl+滑鼠滾輪就可以辦到;果你用支援兩點觸控的筆電,也可以在觸控板上用兩指放大的手勢調整文字大小。還有:up,向上翻歷史命令;

  • Cmder有極為簡單的複製貼上操作。Ctr+V直接貼上;用滑鼠選中你想拷貝的內容,自動就複製到剪下板;天神,這悉數的美感;點贊!

  • 自定義aliases:開啟Cmder目錄下的config資料夾,裡面的aliases檔案就是我們可以配置的別名檔案,只需將裡面ls命令的別名按下列方式修改就可以在ls命令下顯示中文。

ls=ls --show-control-chars --color=auto $*

當然,別名檔案還可以有許多其他配置,如:

e.=explorer .
gcc=cd D:\Document\gcc\
gw=cd D:\Document\GitHub\work
gl=git log --oneline --all --graph --decorate  $*
ls=ls --show-control-chars --color=auto $*
pwd=cd
clear=cls

這個在公司電腦上總不成功;問題無效的巨集定義。;在寫到這裡時候,還未查明緣由【待探究,待更新】

---2016-01-14 20:05更新:

感謝@V友(zongwan)可以修改Cmder目錄下vendor\profile.ps1檔案,Like This:

Set-Alias st "C:\Program Files\Sublime Text 3\sublime_text.exe"

function Git-Status { git status } 
Set-Alias gs Git-Status

function go-Work {cd E:\work\web\cdn\}
Set-Alias gw go-Work

st xxx就用實現以sublimeText開啟xxx檔案;gw下就能進入所設定的目錄;gs相當於在使用git檔案目錄下用git status;凡此種種,為常用命令設定下簡短別名,真心不錯。

Windows的cmd就是一個奇葩的存在…如果你願意花時間去找,你能找到很多的可以替代它的軟體,譬如:BabunGow ,Conemu , clink等等,任何一款都比原生Cmd來得快意。環境雖如是,體驗卻在你。

大概就這樣,折騰讓生活更美好,不止於程式設計碼字。還是那句話,與君共勉:
過一個平凡無趣的人生實在太容易了,你可以不讀書,不冒險,不運動,不寫作,不外出,不折騰……但是,人生最後悔的事情就是:我本可以。”——陳素封。