oh my zsh我以爲挺好的7點

理由1:zsh 支持命令選項補全git

zsh 除了支持目錄的補全,還支持命令選項的補全,例如 ls -<TAB><TAB> 會直接列出全部 ls 的參數,不再會出現一個命令打到一半,忘記參數致使重開一個 terminal man 一把。程序員

nine reasons to use zshweb


理由2:zsh 支持命令參數補全tomcat

之前想 kill 掉一個進程,個人作法是 ps aux | grep "進程名" 而後記下 id,再 kill id。在 zsh 下,只須要 kill 進程名<TAB>,zsh 就會自動補全進程的 pid。bash

nine reasons to use zshapp


其他我經常使用的補全還有:less

·ssh <TAB><TAB> 時 zsh 會自動列出你訪問過的主機和用戶名來補全 ssh 的參數。ssh

·brew install <TAB><TAB> 來補全軟件包名,除了 homebrew 之外,一樣支持 port/apt-get 等其餘包管理器。curl


理由3:zsh 支持更加聰明的目錄補全webapp

之前好比想進入一個比較深的目錄,好比 /Users/pw/workspace/project/src/main/webapps/static/js,就得在 bash 下面打半天,不停的 tab 去補全一個正確的路徑出來。在 zsh 下,只須要輸入每一個路徑的頭字母而後 tab 一下: cd /u/p/w/p/s/m/w/s/j<TAB>


 理由4:zsh 強大的快速目錄切換

之前最苦逼的事情莫過於頻繁在兩個工做目錄下切換,總要打一長串 cd 路徑。也嘗試過 popd 和 pushd 來解決這個問題,但每每是目錄已經切換了纔想起來沒用 pushd。而 zsh 會記住你每一次切換的路徑,而後經過 1 來切換到你上一次訪問的路徑,2 切換到上上次……一直到 9,還能夠經過 d 查看目錄訪問歷史。

zsh 還能夠配合 autojump 一塊兒使用,autojump 會記錄下每個你訪問過的目錄,而後經過 j 來快速跳轉。


理由5:zsh 支持全局 alias 和後綴名 alias

bash 的 alias 只能作命令的縮寫,而 zsh 更進一步,使 alias 能夠縮寫命令的一部分,例如參數或環境變量設置。

$ alias -s log=less

$ ~/package/tomcat/log/catalina.log 

# 至關於 less ~/package/tomcat/log/catalina.log

$ alias -g PR=http_proxy=127.0.0.1:$ PR curl https://twitter.com 

# 至關於 http_proxy=127.0.0.1:8087 curl https://twitter.com


理由6:zsh 有着豐富多彩的命令行提示符

bash 下經過設置 $PS1 已經能夠實現很豐富的提示符了,而 zsh 更進一步,能夠實現諸如多行提示符、提示符右對齊等功能。oh-my-zsh 配置文件中提供了很是豐富的提示符 theme 供選擇,我使用的是 gentoo 主題,比較簡潔,還能夠顯示當前 git 倉庫的狀態。


理由7:zsh 有更多優雅的語法


例如修改 PATH,bash 下設置 $PATH 要求全部路徑都要寫在一行裏,目錄多了之後看起來就很難看。zsh 支持更加符合程序員審美觀的設置方式。

path=(

    ~/bin

    $path

    ~/package/smartsprites/bin

)

相關文章
相關標籤/搜索