ble.shとbash-itでbash環境を強化する
この記事は
ターミナルでbashを使う際の補完機能を強化する方法です。
ble.shとbash-itをインストールすると、bashの操作性が大幅に向上します。シンタックスハイライト、高度な補完機能、便利なエイリアス、テーマなどが利用できるようになります。
私には上記2つと以前こちらに書いた履歴強化ツールのatuinを組み合わせて使っています。
ble.shとbash-itについて
ble.shとは
ble.shは、bashにシンタックスハイライト、高度な補完機能、履歴検索などを提供するbash拡張です。
以下のような特徴があります。
- リアルタイムシンタックスハイライト
- 高度な補完機能
- 履歴検索の強化
- コマンドラインの編集強化
bash-itとは
bash-itは、bashの補完機能強化やエイリアス、テーマなどを提供するbashフレームワークです。
以下のような特徴があります。
- プラグイン
- エイリアス
- 自動補完の拡張
ble.sh
設定とインストール
手順1: ble.shをインストール
以下のコマンドでble.shをインストールします。
git clone --recursive --depth 1 --shallow-submodules https://github.com/akinomyoga/ble.sh.git
make -C ble.sh install PREFIX=~/.local
手順2: 設定ファイルの編集
~/.bashrc
にble.shの読み込み設定を追加します。
echo 'source ~/.local/share/blesh/ble.sh' >> ~/.bashrc
手順3: 動作確認
ターミナルを再起動するか、以下のコマンドで設定を反映します。
source ~/.bashrc
ble.shが正常に読み込まれると、コマンドラインでシンタックスハイライトが有効になります。
シンタックスハイライト
ble.shによってコマンドラインでシンタックスハイライトが有効になります。
- 正しいコマンド: 緑色で表示
- 存在しないコマンド: 赤色で表示
- 文字列: 特定の色で表示
- パス補完: 候補が色分けされて表示
コマンドラインの補完
Terminalにコマンドラインを入力し始めると、過去の履歴からコマンドラインを補完してくれます。
履歴検索の使い方
Ctrl+R
で履歴検索を開始します。通常bashでは↑や↓キーで全ての履歴を移動しますが、Ctrl + Rを打った後にgit
などのキーワードを入力すると、そのキーワードを含む履歴のみを表示するようになります。
私の場合はatuinを使っているのでこの機能は使いませんが・・・
ble.shのカスタマイズ
~/.blerc
ファイルを作成してble.shの設定をカスタマイズできます。
# 履歴の重複を削除
bleopt history_erasedups=1
# 自動補完の遅延時間を設定
bleopt complete_auto_delay=500
# シンタックスハイライトの色設定
ble-color-setface command_builtin fg=green,bold
デフォルトではコマンドラインの自動補完が一瞬で出るのですが、私的には意図しないものが表示されて鬱陶しい場合があるので500msから1000msくらいの遅延を入れるといいんじゃないかと思ってます。
bash-it
設定とインストール
手順1: bash-itをインストール
以下のコマンドでbash-itをCloneしてインストールします。
git clone --depth=1 https://github.com/Bash-it/bash-it.git ~/.bash_it
~/.bash_it/install.sh
設定を反映するためにターミナルを再起動するか、以下のコマンドを実行します。
source ~/.bashrc
手順2: エイリアスの設定
コマンドラインからbash-it enable alias
と打ってからTABキーを押すと、利用可能なエイリアスの一覧が表示されます。
ここから必要なエイリアスを選択して有効化できます。
bash-itで有効化されるエイリアスの例。
# 一般的なエイリアス
ll # ls -alF
la # ls -A
l # ls -CF
# Gitエイリアス
gs # git status
ga # git add
gc # git commit
gp # git push
# Dockerエイリアス
dps # docker ps
dexec # docker exec -it
dlog # docker logs
正直私は不要なのでこの機能は使ってません。
手順3: プラグインの有効化
プラグインも同様にbash-it enable plugin
コマンドで有効化できます。以下のような感じです。
bash-it enable plugin git
bash-it enable plugin docker
bash-it enable plugin ssh
bash-it enable plugin history
ただ、プラグインの説明が見つからず、しょうがないのでgitリポジトリのソースコードを確認しましょう。
例えば、gitのプラグインを入れてgit_info
と打つと、以下のように現在いるディレクトリのGit情報を表示してくれます。
手順4: Completionの設定
補完機能を有効化します。私としてはこの機能が一番有用です。
bash-it enable completion
これも同様にbash-it enable completion
コマンドで有効化できます。以下がcompletionのリストです。
例えばgitを有効にした場合、git
と打ってからTab
キーを押すと、以下のように補完候補が表示されます。
また、rakeを有効にした場合、rake
と打ってからTab
キーを押すと、以下のようにそのRailsプロジェクトのrakeタスクの補完候補が表示されます。ちゃんとRake -Tで有効なタスクを取得しているようです。
注意点
パフォーマンスについて
ble.shとbash-itの両方を有効にするとターミナル起動速度が若干低下することがあります。
パフォーマンスが気になる場合は以下を検討してください。
- 不要なプラグインを無効化する
- テーマをシンプルなものに変更する
- ble.shの設定を調整する
まとめ
ble.shとbash-itの導入により、bashの使い勝手が大幅に向上します。
主な改善点。
- シンタックスハイライトによる視認性向上
- 強化された補完機能
- エイリアスとプラグイン
日常的にbashを使用するなら、これらのツールの導入を強くおすすめします。
Discussion