關於Cmder的使用(爲避免重複造輪子,部份內容爲借鑑)

1. 安裝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更是痛點需求。node

2. 配置 Cmder

  2.1 啓動Cmder

    由於她是即壓即用的存在,因此點擊Cmder.exe便可運行。很顯然這般打開她,不怎麼快捷,即使用Listary高效搜索到她,而後點擊,咱們能夠這樣作:python

    2.1.1把 cmder 加到環境變量:能夠把Cmder.exe存放的目錄添加到系統環境變量;加完以後,Win+r一下輸入cmder,便可。linux

    

    2.1.2添加 cmder 到右鍵菜單:在某個文件夾中打開終端,這個是一個(超級)痛點需求,實際上上一步的把 cmder 加到環境變量就是爲此服務的,在管理員權限的終端輸入如下語句便可:    git

    Cmder.exe /REGISTER ALL

 

     

     2.1.三、爲Cmder.exe建立快捷方式:右擊Cmder.exe選擇「建立快捷方式」點擊便可,之後打開Cmder.exe只要點擊桌面對應的快捷方式便可 github

     2.1.四、打開一個管理員權限終端:輸入 Ctrl + t,或者點擊下面控制條的綠色加號,勾選 Run as administratorweb

    

    

    這就打開了一個管理員權限的終端, 在裏面輸入上述語句,就可在每一個文件夾右鍵菜單中點擊 Cmder here喚起Cmder,方便快捷。不用打開文件夾就能打Cmder,並進入該目錄;爽。chrome

    2.1.五、借用Win下逆天神器:AutoHotKey(這個下篇要好好記載下)爲Cmder配置本身喜歡的快捷鍵(我的用Alt+r):    shell

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

 

    我的比較推崇使用AutoHotKey;高效簡潔,纔是王道。gulp

  2.2 默認開啓設置

    做爲強大的存在,必然支持私人定製。輸入win + alt + p 或者 在底部右擊點擊 settings, 進入設置頁面;能夠根據本身的所需進行各類配置(字體,皮膚等等等等)。

    目前遊走在前端,Gulp已離不開,Cmder+PowerShell這個組合無疑是運行gulp的利器。以下圖所示,能夠設置PowerShell做爲默認開啓的選項;也能夠更改默認開啓是所在目錄。

    

  2.3 解決文字重疊問題

    Win + ALT + P 喚出設置界面 > mian > font > monospce,去掉那勾勾便可。

  2.4 修改命令提示符號·λ·

    

    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)。

3. 經常使用功能介紹

   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 :開啓工具選項視窗

4. 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 環境下使用的感受。

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

Chocolatey軟件包管理系統

在 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

 

5. 其餘功能  

  • 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

 

這個在公司電腦上總不成功;問題無效的宏定義。;在寫到這裏時候,還未查明原因【待探究】。

不過能夠修改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來得快意。環境雖如是,體驗卻在你。

 

6. 相關問題的解決

  從官網下載下來一個zip安裝包,解壓以後運行根目錄的Cmder.exe便可。可是此時會有兩個問題,一是ls命令不支持中文,二就是中文提示會有字體重疊現象。

  6.一、解決中文亂碼問題

    把一下幾行代碼添加到config/aliases文件末尾便可解決中文亂碼問題:

    l=ls --show-control-chars 
    la=ls -aF --show-control-chars 
    ll=ls -alF --show-control-chars
    ls=ls --show-control-chars -F

 

  6.二、解決文字重疊問題

    Win + Ait + P 喚出設置界面 > mian > font > monospce 的勾勾去掉(點兩下).

  6.三、添加快捷鍵

    右鍵 cmder.exe > 建立快捷方式 > 右鍵快捷方式 > 點擊快捷鍵項 > 按 Ctrl + Alt + T. 之後按 Ctrl + Alt + T 的時候就會運行 Cmder 了.

  6.四、我的配置的快捷命令

    gw=cd E:\workspace    gwpc=cd E:\workspace\weipan-desktop-app    gwmb=cd E:\workspace\weipan-mobile-app    ga=git add .    gs=git status    gsh=git stash    gsp=git stash pop    gc=git commit -m "$*"    pull=git pull origin $*    pr=git pull --rebase origin $*    push=git push origin $*    gl=git log    nb=git branch $*    cnb=git checkout -b $*    cb=git checkout $*    gba=git branch -a    rh=echo git reset --hard$*

相關文章
相關標籤/搜索