本文以CentOS 7/Mac 爲例,介紹zsh的配置使用教程。html
echo $SHELL
<!-- more -->git
cat /etc/shells
yum install zsh # CentOS brew install zsh # mac安裝
zsh
設置爲默認shellchsh -s /bin/zsh # CentOS
# Mac以下 # 在 /etc/shells 文件中加入以下一行 /usr/local/bin/zsh # 接着運行 chsh -s /usr/local/bin/zsh
能夠經過echo $SHELL
查看當前默認的shell,若是沒有改成/bin/zsh
,那麼須要重啓shell。程序員
配置zsh是一件麻煩的事兒,愛折騰的程序猿怎麼可能忍受?!因而,oh-my-zsh出現了,有了這個東東,zsh配置起來就方便多了!github
有若干安裝方式,介紹三種:
1.自動安裝shell
wget https://github.com/robbyrussell/oh-my-zsh/raw/master/tools/install.sh -O - | sh
2.手動安裝oop
git clone git://github.com/robbyrussell/oh-my-zsh.git ~/.oh-my-zsh cp ~/.oh-my-zsh/templates/zshrc.zsh-template ~/.zshrc
3.真-手動安裝this
~/.oh-my-zsh
目錄。此處省略拷貝的操做步驟。cp ~/.oh-my-zsh/templates/zshrc.zsh-template ~/.zshrc
三選一便可,適合各類環境下的安裝,而後須要source ~/.zshrc
將配置生效。如下修改了.zshrc
文件以後,都執行一下這個命令。.net
經過以下命令能夠查看可用的Theme
:插件
# ls ~/.oh-my-zsh/themes
如何修改zsh主題呢?
編輯~/.zshrc
文件,將ZSH_THEME="candy"
,即將主題修改成candy
。我採用的steeef
。命令行
在~/.zshrc
中找到plugins
關鍵字,就能夠自定義啓用的插件了,系統默認加載git
。
命令內容能夠參考cat ~/.oh-my-zsh/plugins/git/git.plugin.zsh
。
經常使用的:
gapa git add --patch gc! git commit -v --amend gcl git clone --recursive gclean git reset --hard && git clean -dfx gcm git checkout master gcmsg git commit -m gco git checkout gd git diff gdca git diff --cached gp git push grbc git rebase --continue gst git status gup git pull --rebase
完整列表:https://github.com/robbyrussell/oh-my-zsh/wiki/Plugin:git
解壓文件用的,全部的壓縮文件,均可以直接x filename
,不用記憶參數
固然,若是你想要用tar
命令,可使用tar -
加tab
鍵,zsh會列出參數的含義。
按照官方文檔介紹,須要使用以下命令安裝,而不是一些博客中的介紹:
yum install autojump-zsh # CentOS brew install autojump # Mac
CentOS
安裝好以後,須要在~/.zshrc
中配置一下,除了在plugins
中增長autojump
以外,還須要添加一行:
[[ -s ~/.autojump/etc/profile.d/autojump.sh ]] && . ~/.autojump/etc/profile.d/autojump.sh
安裝好以後,記得source ~/.zshrc
,而後你就能夠經過j+目錄名
快速進行目錄跳轉。支持目錄名的模糊匹配和自動補全。
j -stat
:能夠查看歷史路徑庫git clone git://github.com/zsh-users/zsh-autosuggestions $ZSH_CUSTOM/plugins/zsh-autosuggestions
在 ~/.zshrc
中配置
plugins=(其餘的插件 zsh-autosuggestions)
由於箭頭→
不太方便,在.zshrc
中自定義補全快捷鍵爲逗號,可是又一次遇到了須要輸入逗號的狀況,因此,並不太推薦以下修改:
bindkey ',' autosuggest-accept
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting
~/.zshrc
文件中配置:
plugins=(其餘的插件 zsh-syntax-highlighting)
git-open插件能夠在你git項目下打開遠程倉庫瀏覽項目。
git clone https://github.com/paulirish/git-open.git $ZSH_CUSTOM/plugins/git-open
bat
代替 cat
cat
某個文件,能夠在終端直接輸出文件內容,bat
相比 cat
增長了行號和顏色高亮 👍
brew install bat
命令歷史記錄
~/.zsh_history
文件中),方便再次運行以前的命令。能夠按方向鍵↑和↓來查看以前執行過的命令r
來執行上一條命令ctrl-r
來搜索命令歷史記錄命令別名
.zshrc
中添加 alias shortcut='this is the origin command'
一行就至關於添加了別名alias
能夠查看全部的命令別名cd
命令了。在你知道路徑的狀況下,好比 /usr/local/bin
你能夠輸入 cd /u/l/b
而後按進行補全快速輸入 kill <tab>
就會列出全部的進程名和對應的進程號ls -l **/*.sh
,能夠遞歸顯示當前目錄下的 shell 文件,文件少時能夠代替 find
。使用 **/
來遞歸搜索setopt HIST_IGNORE_DUPS
能夠消除重複記錄,也能夠利用 sort -t ";" -k 2 -u ~/.zsh_history | sort -o ~/.zsh_history
手動清除