Rails
Zsh

zsh環境下でrails、gemコマンドを補完したい

More than 5 years have passed since last update.

zsh環境でRuby on Railsの開発を行おうと思ったらrailsコマンドを補完してくれないじゃないですか…!

ということでzsh-completionsを導入して補完できるようにします。

zsh-completions

https://github.com/zsh-users/zsh-completions

MacとLinuxで.zshrcファイルを共有しているので、brewからは導入しません。


Procedure

以下導入コマンド。

mkdir ~/.zsh

cd ~/.zsh
git clone git://github.com/zsh-users/zsh-completions.git

.zshrcの更新。ドットファイルを共有しているならば、毎回する必要はありません。

echo # ------------------------------------------------------------------------ >> ~/.zshrc

echo # zsh-completions >> ~/.zshrc
echo # ------------------------------------------------------------------------>> foo.txt
echo 'if [ -d ${HOME}/.zsh/zsh-completions/src ] ; then' >> ~/.zshrc
echo ' fpath=(${HOME}/.zsh/zsh-completions/src $fpath)' >> ~/.zshrc
echo ' compinit' >> ~/.zshrc
echo fi >> ~/.zshrc

あとはおまじないをします。

source ~/.zshrc

rm ~/.zcompdump
compinit


Note

本当はecho ' compinit' >> ~/.zshrcをする必要はないのかもしれません。

しかし自分のMac OSX、CentOS6.5環境だと端末を開くたびにcompinitをする必要がありそうなので、書き込んでいます。

当然ログイン時の起動速度にかなり影響を与えるので、不快な場合は実行しないでください。


Appendix

今回は以下のサイトを参考にさせていただきました。

zsh-completions でコマンドの補完を増やす

http://transitive.info/2013/03/03/zsh-completions/

brewのzsh-completionsを使ってzshの補完を強化する

http://qiita.com/maru_cc/items/4dfaa99be7bf95cf68bb