アルパカログ

Webエンジニア兼マネージャーがプログラミングやマネジメント、読んだ本のまとめを中心に書いてます。

shell よく使うコマンドを履歴から素早く入力するfzfのインストール方法と使い方

f:id:otoyo0122:20201026193347p:plain:w300

テストを走らせたり、スクリプトを実行したり、よく使うshellのコマンドは素早く入力できればできるほど開発が効率良くなります。

fzfを使うと過去に使ったコマンドを履歴からインクリメンタルサーチすることができ、とても便利です。

f:id:otoyo0122:20201026181044p:plain:w400
gitを入力したところ

そこでこのエントリでは、よく使うコマンドを履歴から素早く入力できるfzfのインストール方法と使い方を紹介します。

インストール方法

fzfはHomebrewで簡単にインストールできます。

$ brew install fzf

インストールが完了すると、キーバインディングと補完をインストールするコマンドが表示されます。

To install useful keybindings and fuzzy completion:
  /usr/local/opt/fzf/install

指示に従ってコマンドを入力し実行します。

$ /usr/local/opt/fzf/install

自動補完を有効にするか、キーバインディングを有効にするか、shellの設定をアップデートするかを順に聞かれるのでyを押していきます。

Downloading bin/fzf ...
  - Already exists
  - Checking fzf executable ... 0.23.1
Do you want to enable fuzzy auto-completion? ([y]/n) y
Do you want to enable key bindings? ([y]/n) y

Generate /Users/xxx/.fzf.bash ... OK
Generate /Users/xxx/.fzf.zsh ... OK

Do you want to update your shell configuration files? ([y]/n) y

完了したら指示通りshellに合わせて ~/.bashrc もしくは ~/.zshrc を再読み込みします。

$ source ~/.zshrc

これで準備は完了です。簡単ですね。

試してみる

早速試してみます。Ctrl+Rキーを押してgitなどよく使うコマンドを入力してみます。

f:id:otoyo0122:20201026181044p:plain:w400
履歴からインクリメンタルサーチできた

上下矢印キーで選んでエンターを押すとコマンドが入力された状態になります。

他にもCtrl+Tキーを押すとカレントディレクトリからファイルを検索することができます。

tmuxなどにCtrl+Tキーを割り当てている場合は、tmuxのプリフィクスかfzfのキーバインドを変更する必要があります。

fzfのキーバインドを変更したい場合は、~/.zshrc などで下記のように書きます。

# fzf
[ -f ~/.fzf.zsh ] && source ~/.fzf.zsh
# Remap Ctrl-T to Ctrl-F
bindkey '^F' fzf-file-widget
bindkey '^T' transpose-chars

他のシェルについては下記のIssueをご覧ください。

以上です。

このエントリでは、よく使うコマンドを履歴から素早く入力できるfzfのインストール方法と使い方を紹介しました。