5.1さらうどん

@giginetの技術ブログ。ゲーム開発、iOS開発、その他いろいろ

pecoでrbenvとかpyenvを簡単に切り替える奴作った

peco-anyenv

https://raw.githubusercontent.com/giginet/peco-anyenv/master/images/peco-anyenv.gif

pyenvrbenvのようないわゆるanyenv系のツールが大変便利で常用しているのですが、インタプリタの数が増えてくると切り替えるのが面倒になってくる。

$ rbenv global 2.3.0
rbenv: version `2.3.0' not installed

このようにいちいちバージョンを打たないといけないし、インストールされてると思ったらされてないみたいな事があった。

そこでpecoで現在のインタプリタを簡単に切り替えれる奴を作ってみた。

github.com

使い方は冒頭のアニメーションの通りで、特に説明することはなさそう。

prbenvなどのように、お使いのenvにpプレフィックスをつけて実行するだけ。デフォルトでは現在のディレクトリのみインタプリタが切り替わる(local)が、--globalオプションをつけることで全体に適応することもできる。

特にPythonの場合はvirtualenvを使うことで、かなり頻繁にインタプリタを切り替えることになると思うのでさらに便利だと思う。

現在はPython, Ruby, Perl, Nodeに対応しているけれど、他の言語でも使いたいという方は簡単に増やせるのでPRをお待ちしています。

作ってみて。

元々、半年前にQiitaに記事を書いて個人的に使っていたのですが、便利だったのと、rbenvとかでも使いたくなったので、この機会に汎化してみた。

qiita.com

あまりにもシェルスクリプト力が低すぎて、そらで書くことができないし、シェルスクリプトをもっと学ばねばならないと思った。