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,並進入該目錄;爽。
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;40m $$ $S$E[0m
這個親測在cmder.exe
可以,但在PowerShell.exe
需要另行設定:開啟檔案config/cmder.lua(prompt.lua也有版本是這個),將第二行中的λ修改為Linux下常用的$即可;親測可行(2016-01-13)。
常用功能介紹
cmder 功能極為強大,功能也非常多,但從視窗畫面上看不太出其強大實力,這裡就先說下其「看的見」的功能:
如上圖示編號的部分說明如下:
-
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
-
-
可在視窗內搜尋畫面上出現過的任意關鍵字。
-
新增頁籤按鈕,可透過滑鼠新增頁籤。
-
切換頁籤按鈕,可透過滑鼠切換頁籤。
-
鎖定視窗,讓視窗無法再輸入。
-
切換視窗是否提供卷軸功能,啟動時可查詢之前顯示過的內容。
-
按下滑鼠左鍵可開啟系統選單,滑鼠右鍵可開啟工具選項視窗。 Win+Alt+P :開啟工具選項視窗
cmder元件組成
cmder其實結合了多套軟體,其中包括msysgit與最重要的ConEmu與Clink軟體,而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就是一個奇葩的存在…如果你願意花時間去找,你能找到很多的可以替代它的軟體,譬如:Babun
, Gow
,Conemu
, clink
等等,任何一款都比原生Cmd來得快意。環境雖如是,體驗卻在你。
大概就這樣,折騰讓生活更美好,不止於程式設計碼字。還是那句話,與君共勉:
“過一個平凡無趣的人生實在太容易了,你可以不讀書,不冒險,不運動,不寫作,不外出,不折騰……但是,人生最後悔的事情就是:我本可以。”——陳素封。