什么是Babun?這就不做普及了,Google一下有更詳細的資料說明,相信對Cygwin不陌生的朋友能很快上手。官方給出的說明是:
一個你會喜歡的windows shell!
安裝
從Babun的官方網站下載最新安裝包,解壓后運行install.bat腳本,安裝完成后幾分鐘內Babun會自動彈出一個shell命令窗口。程序被安裝到 %USERPROFILE%.babun 這個目錄。
下次運行它只需 Win+R 調出運行對話框輸入babun即可。
一些常用的用法見這里
常用的設置
命令窗口在命令行頭部右鍵選中Options可以進行設置。
- 在Looks/Transparency中選擇Low并勾選Opaque when focused來設置窗口的透明度。
- 在Keys中勾選Backspace sends ^H,這樣按Ctrl H的時候可以向前刪除字符。
git命令行執行:
git config --global user.name "yourname" git config --global user.email "yourname@abc.com"
常用的功能包管理
可以使用pact命令來安裝軟件包,例如:
pact install arj
通過pact –help可以查看完整的用法。
wget https://bootstrap.pypa.io/get-pip.py -O - | python
快捷鍵及操作
常用的一般操作:
- 經過上面的設置后,可以通過 Ctrl+H 來刪除字符。
- Alt+Shift+Enter 可以全屏。
- Ctrl+Insert 復制 & 左鍵選中復制。
- Shift+Insert 粘貼 & 右鍵粘貼。
- Ctrl+Click 可以打開一個目錄或文件或鏈接。
- Ctrl+l 清屏。
- tab 補全。
通配符搜索:
ls -l **/*.sh,可以遞歸顯示當前目錄下的shell文件,文件少時可以代替find。使用 **/ 來遞歸搜索。
歷史命令:
- 可以用 !! 來執行上一條命令。
- 使用 ctrl-r 來搜索命令歷史記錄。
- 更智能的歷史命令。在使用或者方向上鍵查找歷史命令時,zsh支持限制查找。比如,輸入ls,然后再按方向上鍵,則只會查找用過的ls命令。
很多快捷鍵都是通用的,和emacs等都是一樣的:
- Ctrl + u:清空當前行。
- Ctrl + a:移動到行首。
- Ctrl + e:移動到行尾。
- Ctrl + f:向前移動。
- Ctrl + b:向后移動。
- Ctrl + p:上一條命令。
- Ctrl + n:下一條命令。
- Ctrl + r:搜索歷史命令。
- Ctrl + y:召回最近用命令刪除的文字。
- Ctrl + h:刪除光標之前的字符。
- Ctrl + d:刪除光標所指的字符。
- Ctrl + w:刪除光標之前的單詞。
- Ctrl + k:刪除從光標到行尾的內容。
- Ctrl + t:交換光標和之前的字符。
常用的命令
- open . 打開當前目錄。
- 命令 | pbcopy 通過管道加在命令行后可以將輸出拷貝到系統的剪貼板上;同理,pbpaste 把剪貼板中的文本輸出。
oh-my-zsh常用的OMZ命令可以參考Cheatsheet
最常用的目錄操作:
list all aliases
查看 ~/.oh-my-zsh/lib/directories.zsh
Git的操作命令比較多,具體參考Cheatsheet,下面列出最常用的:
Alias | Command |
---|---|
g | git |
ga | git add |
gaa | git add –all |
gb | git branch |
gba | git branch -a |
gbd | git branch -d |
gbr | git branch –remote |
gcam | git commit -a -m |
gcb | git checkout -b |
gcf | git config –list |
gcm | git checkout master |
gcd | git checkout develop |
gcmsg | git commit -m |
gco | git checkout |
gd | git diff |
gdca | git diff –cached |
gf | git fetch |
gfo | git fetch origin |
gg | git gui citool |
ggpull | git pull origin $(current_branch) |
ggl | git pull origin $(current_branch) |
ggpush | git push origin $(current_branch) |
ggp | git push origin $(current_branch) |
gl | git pull |
glg | git log –stat –max-count=10 |
glgg | git log –graph –max-count=10 |
glgga | git log –graph –decorate –all |
glo | git log –oneline –decorate –color |
glog | git log –oneline –decorate –color –graph |
gm | git merge |
gp | git push |
grv | git remote -v |
gss | git status -s |
gst | git status |
gup | git pull –rebase |
別名管理
可以簡化命令輸入,在 .zshrc 中添加 alias shortcut=’this is the origin command’ 一行就相當于添加了別名。在命令行中輸入 alias 可以查看所有的命令別名。
中文亂碼的問題
終端默認用的mintty,其實對中文支持的很好,比如中文的目錄、文件名都沒有問題。唯一有問題的是調用Windows自帶的一些命令的時候,比如ping,結果會顯示亂碼,這是因為Babun默認用的是UTF-8,而Windows默認的編碼是GBK。當然可以把Babun設置成GBK,但這樣執行UTF-8的腳本(比如Groovy)輸出的中文會有亂碼。
建議Babun的默認編碼還是UTF-8,在使用ping這樣的命令的時候,加上輸出轉換:
ping | iconv -f GBK -t UTF-8