
それゆけ!ターミナル部 第7回
Bash-itを使ってお手軽にイケてるターミナルを手に入れよう!
みなさんこんにちは!ターミナル部部長のタナカトモフミです。
本連載では意外と見落としがちな基本的な事柄からちょっとマニアックなテクニックまで、ターミナルを使いこなすための方法を若手エンジニアのタミ夫くんとシェルスキー先生と一緒に学んでいきます。
前回はBashをカスタマイズする方法について紹介しましたが、今回はお手軽にBashをカスタマイズできるBash-itを紹介します。Bash-itを利用することで面倒な設定に時間をかけずに便利なカスタマイズを行うことができるので是非活用してみてください。
前回はBashのカスタマイズが面倒で諦めてしまったタミ夫くんですが、シェルスキー先生はそんな面倒臭がりのタミ夫くんでもお手軽にカスタマイズできる方法を教えてくれるようです。
-
というわけでじゃな、今回は続きパターンじゃ。
-
イケてるターミナルをお手軽にチャチャっと構築できちゃうって話っスよね?
-
あーそうじゃ。カスタマイズできることってどんなことか、どんな仕組みか、を理解してもらったんじゃが、自分で全部頑張るのは大変すぎるってことじゃな。
-
そうなんスよ。みんなの知恵を集めた方がいいに決まってるんスよ。
-
その通りじゃ!というわけで今回はみんなの知恵を集めて作られておるBash-itというツールを使う方法を教えてあげよう!
Bash-itとは?
Bash-itは、Bashを簡単にカスタマイズするためのフレームワークです。オープンソースとして公開されており、個人で管理するには面倒な補完やテーマ、それらのための関数をみんなの力を集めて(コミュニティ)で管理しています。第6回で紹介した、エイリアス、関数、補完、プロンプトのテーマといったすぐに使える便利なカスタマイズがすでに集まっており、Bash-itを使えば簡単に使いやすい環境へとカスタマイズできます。
■Bash-itをインストールしよう!
Bash-itには、インストールスクリプトも用意されているので簡単にセットアップできます。インストールスクリプトを実行すると、設定ファイル「~/.bash_profile」か「~/.bashrc」ファイルを置き換えて良いか?たずねられます。バックアップを取ってくれるので、気にせず実行しても大丈夫です。
# Bash-ItのGitリポジトリをクローンする $ git clone --depth=1 https://github.com/Bash-it/bash-it.git ~/.bash_it # インストールシェルを実行する $ ~/.bash_it/install.sh Installing bash-it Would you like to keep your .bash_profile and append bash-it templates at the end? [y/N] Your original .bash_profile has been backed up to .bash_profile.bak Copied the template .bash_profile into ~/.bash_profile, edit this file to customize bash-it Enabling sane defaults Installation finished successfully! Enjoy bash-it! To start using it, open a new tab or 'source /Users/tomofumi.tanaka/.bash_profile'. To show the available aliases/completions/plugins, type one of the following: bash-it show aliases bash-it show completions bash-it show plugins To avoid issues and to keep your shell lean, please enable only features you really want to use. Enabling everything can lead to issues.
Mac OS Xでは「~/.bash_profile」が、その他のOSでは「~/.bashrc」が置き換えられます。
これで準備完了です。早速設定をリロードしてみましょう!
# Mac OS Xでは以下を実行 $ source ~/.bash_profile # Linux などその他のOSでは以下を実行 $ source ~/.bashrc

こんな感じでカラフルでイケイケな感じになっていれば成功です!
Bash-itの使い方を覚えよう!
インストールが完了すると、「bash-it」というコマンドが使えるようになります。このコマンドを使ってBash-it自体を最新の状態に更新したり、Bash-itが持つコレクションの中から、欲しい機能(コンポーネント)を有効にすることができます。Bash-itでは、機能を以下の4つに分類しています。
- 1. alias
- 2. completion
- 3. plugins
- 4. theme
この内、themeを除く3つは、bash-itコマンドから有効・無効を切り替えて使用します。alias、completionはそのままですが、pluginsはカスタム関数のほか環境変数などその他色々なものを提供しています。
まずはサブコマンドを簡単に紹介します。
サブコマンド | 説明 |
---|---|
update | Bash-it自身を最新の状態に更新します。バグ修正やエイリアスや補完などが最新化されるので定期的に実行しましょう。 |
help | 「bash-it」コマンドのヘルプを表示します。使い方がわからなくなったら実行して確認しましょう。 |
search | キーワードを指定してコンポーネントを検索する |
enable [alias | completion | plugin] [COMPONENT] | コンポーネントを指定して機能を有効にする(コンポーネントを指定する前に、「alias」などのコンポーネントの種類を指定する必要があります)。 |
disable [alias | completion | plugin ] [COMPONENT] | コンポーネントを指定して機能を無効にする(コンポーネントを指定する前に、「alias」などのコンポーネントの種類を指定する必要があります)。 |
では、早速使ってみましょう!
今回はgit関連の機能を追加してみます。まずは検索してみましょう!
$ bash-it search git aliases: git gitsvn plugins: autojump fasd git git-subrepo completions: git git_flow git_flow_avh
gitに関連するコンポーネントが表示されました。この中から、aliasを有効にしてみましょう。
$ bash-it enable alias git git enabled.
有効になったようです。aliasを確認してみます。
$ alias | grep git
おや、何も表示されませんね。実は設定の変更はコマンドを実行後にリロードする必要があります。忘れないように注意してください。
リロード用のエイリアスも用意されています。その名も「reload」です。覚えやすいですね。
$ reload $ alias | grep git | head -5 alias g='git' alias ga='git add' alias gall='git add -A' alias gap='git add -p' alias gb='git branch'
gitのエイリアスがいろいろ追加されています。続いてgitの補完も有効にしてみましょう。
$ bash-it enable completion git git enabled. $ reload # git sta まで入力してTABキーを押して補完候補を表示させてみる $ git sta stage stash status
無事に補完を有効にすることができました。この調子で好みのコンポーネントを有効にしていけば、作業効率アップを狙えます。
テーマを変更してイケイケな見た目にする
Bash-itインストール直後でも腕時計の絵文字が出てくるほどにはオシャレな見た目にできましたが、たくさんのテーマが用意されています。設定ファイル(~/.bash_profile or ~/.bashrc) 内の、「export BASH_IT_THEME='bobby'」の「bobby」の箇所を好きなテーマに変更すれば別のテーマが使えるようになります。テーマの一覧は、Bash-itのWiki(https://github.com/Bash-it/bash-it/wiki/Themes)で確認することができますが、おすすめは以下のコマンドを実行してプレビューを表示することです。
$ BASH_PREVIEW=true reload

テーマの一覧を実際に適用したらどんな見た目になるかをチェックすることができます。
好みのテーマが見つかったら、設定ファイルを変更してシェルを再起動しましょう。
独自のカスタムを追加する
さらに独自にカスタムを追加したい場合は、「~/.bash_it」ディレクトリ内の以下のファイルを作成すれば反映されるようになっています。
- ● aliases/custom.aliases.bash
- ● completion/custom.completion.bash
- ● lib/custom.bash
- ● plugins/custom.plugins.bash
カスタムのテーマを作成したい場合は、「custom/themes/<custom theme name>/<custom theme name>.theme.bash」というルールになっています。例えば、「mytheme」というテーマを作る場合は、「custom/themes/mytheme/mytheme.theme.bash」というファイルを作成します。既存のテーマを参考に自分好みのテーマを作ると良いでしょう。
まとめ
-
やばいっス。俺生産性100倍ぐらいアップできてるっス。
-
どんだけ上がったんじゃ。まあそれは大変素晴らしいな。ところで頼んでおいたタスクはそろそろ期限じゃけど大丈夫か?
-
やばいっス。シェルの設定をいじってたせいでまだ進捗ゼロっスね。
-
嘘じゃろ。というかそれ生産性0倍なんでは…?シェルのカスタマイズをして生産性向上したのはいいんじゃが、ちゃんと時間も考えるんじゃぞ。
どうやらBash-Itを導入することでタミ夫くんもBashのカスタマイズに目覚めてしまったようです。しかしシェルのカスタマイズはあくまで普段の作業効率の向上が目的です。特に業務においてはタミ夫くんのように目的を見失ってカスタマイズに必要以上に時間を取られすぎないように注意しましょう。
さて、次回はいったん基本に立ち戻ってシェルでのファイル検索テクニックについて紹介したいと思います。お楽しみに!