那些我但願在一開始使用 Zsh(oh-my-zsh) 時就知道的

其實我已經用了 fish shell 快半年了,由於被一些兼容性問題搞煩了,因此最近又用回了 zsh + oh-my-zsh。git

zsh + oh-my-zsh 配合是真心好用,並且 oh-my-zsh 還偷偷幹了不少人不知道的事,好比 rake task也能補全,第一次見到時真是有點驚訝。好吧,下面說一說我但願一開始就知道的。github

自帶的插件

其實我用了 oh-my-zsh 快三個月後才知道原來他自帶了不少插件沒有開啓。。。shell

如何開啓?找到 ~/.zshrc 有一行 plugins=(git),想加什麼插件就把名字放裏面就是了,好比plugins=(rails git ruby) 就開啓了railsgitruby 三個插件。瀏覽器

更多插件請進入 ~/.oh-my-zsh/plugins文件夾探索,也能夠看看 wiki 裏的 Plugins Overview,每一個人的需求不同,裏面有一些比較神奇的插件,好比敲兩下esc 它會給你自動加上 sudo 的 sudo 插件,讓複製顯示進度條的cp插件,解壓用的 extract 插件(有沒有以爲在命令行下敲一大堆選項才能解壓有點奇怪?),vi 粉的vi-mode 等等...ruby

z

嗯,這也是個自帶的可是沒有開啓的插件。爲何單獨把它拿出來說呢?由於太好用了,沒有它我根本就不想用命令行。簡直就是能夠無腦跳躍,好比你常常進入~/Documents目錄,按下 z doc 通常它就能夠跳進去了(固然首先你得用一段時間讓它積累一下數據才能用)。相似的插件還有好幾個好比autojump,fasd,這類東西好像叫 FS Jumping,這裏有個完整列表:https://github.com/robbyrussell/oh-my-zsh/wiki/Plugins-Overview#fs-jumping插件

d

在 fish shell 裏你能夠按alt 加左右箭頭隨意穿梭於歷史記錄中,就像 GUI 文件瀏覽器的
前進,後退。zsh 沒有這麼好用,可是按一下 d 再回車你會看到最近的歷史記錄,而後你就能夠經過數字好比 1, 2 之類的返回到某個歷史記錄中了。也是很是好用的。命令行

zsh-autosuggestions

官方的介紹是Fish-like fast/unobtrusive autosuggestions for zsh,沒錯,這是模仿fish shell 的一個插件,做用基本上就是根據歷史記錄即時提示。沒有這個東西讓我感受本身很盲目。沒有用過 fish 的同窗可能以爲它有點奇怪,可是一旦適應它之後就會發現它會大幅度的提升效率(按 ctrl+E 是正確姿式)。注意:它不是 oh-my-zsh 自帶的,你們能夠去 github 看它的安裝說明。code

自帶的 Git Aliases

git 插件是默認開啓的,你們可能注意到它可以自動補全以及顯示所在 branch。對於一個 git 重度用戶,一些 aliases 是不可缺乏的。相信我,一旦習慣了 aliases,就會以爲原來敲那麼一大堆命令真是不能忍了(即便它可以自動補全)。下面列一些我最經常使用的(固然也是 oh-my-zsh 自帶的,更多請看 wiki):ip

Alias Command
g git
gst git status
ga git add
gp git push
gc git commit -v
gc! git commit -v --amend

其餘

  • zsh_stats 能夠看到你的使用頻率前 20 的命令是什麼!get

  • take 看看 which take 就知道它有什麼用了

  • clipcopyclippaste,剪貼板和命令行的交互

官方的 wiki(重要!)

官方 wiki 上面給出了不少有用的功能介紹,好比一些 aliases,像..., ...., take 等等。

若是完整的看完了 wiki 的話我前面的介紹都是廢話了。

結語

  • 推薦一個不相關的:trash-cli,就是命令行版的回收站,它的神奇之處在於不是簡單的把文件移動到回收站,並且能夠在回收站裏恢復。因此它說本身是Command line interface to the freedesktop.org trashcan,個人 zshrc 裏有一行:alias rt="trash"

  • 其餘的一些很是有用的 tips 想到再補充。

  • 補上個人配置文件們:https://github.com/dd1994/dotfiles

相關文章
相關標籤/搜索