過去に実行したあのコマンド、もう一度使いたいけれど、なかなか見つからない。そんな経験はありませんか? シェル履歴を遡る手間や、あいまいな記憶で探すストレスは、開発作業を中断させる一因です。
今回は、この課題を解決するシンプルなCLIツール「kage-sh」を紹介します。GitHub Trendingでも注目を集めるこのツールは、シェル履歴の検索と実行を劇的に改善します。今日からあなたのターミナル操作を快適に変える、kage-shの導入と活用方法を詳しく見ていきましょう。
過去のコマンド、見つけるのに苦労していませんか?
私たちは日々、ターミナルで多くのコマンドを実行します。しかし、数日前に使った複雑なコマンドや、引数を忘れてしまったコマンドを再び使う時、効率的に見つけ出すのは簡単ではありません。historyコマンドで一覧表示し、grepで絞り込む。この作業は、コマンドが大量にあるほど時間と労力を消費します。
kage-shは、このような手間をなくすために開発されたツールです。これは、fzfのようなインタラクティブなインターフェースで、シェル履歴を瞬時に検索し、選択したコマンドを実行できます。手打ちで履歴を遡る必要はもうありません。思考を途切れさせず、スムーズに作業を進めるための強力な味方となるでしょう。
kage-shを導入しよう:スムーズなセットアップ
kage-shの導入は非常に簡単です。以下のいずれかの方法でインストールできます。
Homebrewでのインストール
macOSやLinux環境でHomebrewを使っている場合、次のコマンドでインストールが完了します。
brew install b4b4r07/tap/kage-sh
このコマンドを実行すると、kage-shのバイナリが自動的にダウンロードされ、パスが通った場所に配置されます。インストールは数分で終わります。
Goでのインストール
Go言語がインストールされている環境では、go installコマンドで導入できます。
go install github.com/b4b4r07/kage-sh@latest
go installコマンドは、ソースコードからkage-shをビルドし、GOPATH/binディレクトリに実行可能ファイルを配置します。このパスがシェルに設定されていることを確認してください。
初期設定(zsh/bash)
kage-shをインストールしたら、シェルがkage-shを使うように設定する必要があります。~/.zshrcまたは~/.bashrcファイルに次の設定を追加してください。
# zshの場合
eval "$(kage-sh init zsh)"
# bashの場合
eval "$(kage-sh init bash)"
この設定は、kage-shがシェルと連携し、履歴機能を置き換えるために必要です。設定を記述したら、シェルを再起動するか、source ~/.zshrc(または~/.bashrc)を実行して変更を適用します。
シェル履歴を瞬時に検索:基本の操作方法
kage-shの最も基本的な使い方は、単にコマンドを実行することです。ターミナルでkage-shと入力し、Enterキーを押します。
kage-sh
すると、画面いっぱいに過去のシェル履歴がインタラクティブに表示されます。これは、fzfユーザーには馴染み深いインターフェースです。
- 上下矢印キー: 表示された履歴を上下に移動し、選択できます。
- Enterキー: 選択したコマンドをすぐに実行します。
- Ctrl+C または Escキー: kage-shを終了し、プロンプトに戻ります。
このシンプルな操作だけで、目的のコマンドを簡単に見つけて再実行できるでしょう。例えば、git commitと入力し忘れた時に、履歴から素早く選んで実行できます。これにより、コマンドを打ち直す時間を節約できます。
あいまい検索で効率アップ:コマンドを素早く見つけるコツ
kage-shの真価は、強力なあいまい検索機能にあります。表示された履歴の中から、特定のキーワードを含むコマンドを絞り込むことが可能です。
kage-shを実行し、検索プロンプトにキーワードを入力してみましょう。
kage-sh
(表示された履歴の中から)git と入力すると、gitを含む履歴だけが表示されます。config と入力すると、configを含む履歴だけが残ります。
複数のキーワードで絞り込むことも可能です。例えば、「git」「config」とスペース区切りで入力すると、両方のキーワードを含むコマンドだけが抽出されます。
> git config
このあいまい検索(ファジー検索)は、キーワードが正確でなくても機能します。例えば、「gc」と入力するだけで「git commit」が候補に挙がることもあります。この機能は、コマンドの一部しか覚えていない時に特に役立ちます。過去のコマンドを記憶から呼び出す手間が約80%減るでしょう。
さらに、kage-shはfzfと連携して動作します。fzfがインストールされていれば、その高度な検索機能やカスタマイズオプションを活かせます。fzfの強力なフィルタリング能力をそのまま利用できるため、より快適な検索体験が得られます。
さらに快適に:kage-shをカスタマイズする
kage-shは、設定ファイルを使って細かく挙動をカスタマイズできます。自分に合った環境を構築することで、さらに快適なターミナル操作を実現できるでしょう。
設定ファイルの場所
kage-shの設定ファイルはTOML形式で記述します。デフォルトの場所は以下の通りです。
~/.config/kage-sh/config.toml
このファイルが存在しない場合でも、kage-shはデフォルト設定で動作します。自分で作成し、カスタマイズを始めましょう。
簡単なカスタマイズ例
例えば、kage-shが内部でfzfを使用する際のオプションを変更できます。config.tomlに次の設定を追加します。
[fzf]
options = "--ansi --no-sort --height=40%"
この設定は、fzfの表示をカラフルにし、ソートを無効にし、画面の高さの40%に固定します。これにより、ターミナル全体を覆うことなく、他の情報を確認しながら履歴を検索できます。
他にも、履歴の表示形式や、特定のコマンドを除外する設定なども可能です。公式ドキュメントには、さらに多くのカスタマイズオプションが掲載されています。
つまずきやすいポイント
カスタマイズでつまずきやすいのは、設定ファイルのパスやTOMLの記述ミスです。設定を変更しても反映されない場合、以下の点を確認してください。
- ファイルパス:
~/.config/kage-sh/config.tomlが正しいか。 - TOML構文: 記述に誤りがないか。エディタのシンタックスハイライト機能を使うと良いでしょう。
- シェル再起動: 設定変更後、
sourceコマンドでシェル設定を再読み込みするか、ターミナルを再起動しましたか?
これらの点を確認すれば、ほとんどの問題は解決するはずです。
kage-shは、あなたのシェル操作を次のレベルへと引き上げるツールです。導入は簡単、しかしその効果は絶大でしょう。今日からkage-shを導入し、コマンド検索のストレスから解放された快適な開発体験を始めてみてください。
参考文献
まとめ・次のステップ
この記事が役に立ったら、ブログのメールマガジンへ登録してください。 AI活用・個人開発・副業に関する最新情報を週1回お届けします。
このブログでは、会社員をしながら副業でSaaSを開発する過程をリアルに発信しています。使用スタック: Next.js / Supabase / Claude API / Vercel