もた日記

くだらないことを真面目にやる

Zshメモ : zsh-autosuggestionsで履歴からコマンド候補を表示

github.com

zsh-autosuggestionsを使うと図のように入力中の文字に応じて履歴からコマンド候補を提示してくれるようになる。

f:id:wonder-wall:20160625214955p:plain

f:id:wonder-wall:20160625215124p:plain

インストール : oh-my-zshの場合


oh-my-zshの場合は以下の手順でインストール。

1. oh-my-zshpluginsディレクトリにgit cloneする。

$ git clone git://github.com/zsh-users/zsh-autosuggestions $ZSH_CUSTOM/plugins/zsh-autosuggestions

2. ~/.zshrcpluginsを編集してプラグインを有効化。

plugins=( [plugins...] zsh-autosuggestions)

3. ~/.zshrcを再読み込み。

$ source ~/.zshrc


使い方


インストールが完了すれば入力中の文字に応じて灰色の文字でコマンド候補を表示してくれるようになる。
コマンド候補が希望のものであればC-fC-eを押せば確定される。

設定


設定可能な項目は下記ページに書いてある。
zsh-autosuggestions/config.zsh at master · zsh-users/zsh-autosuggestions · GitHub

コマンド候補のハイライト色を変更する場合。数字を変更すれば色が変わる。

ZSH_AUTOSUGGEST_HIGHLIGHT_STYLE='fg=8'



サジェストの方式を変更する場合

ZSH_AUTOSUGGEST_STRATEGY=default
または
ZSH_AUTOSUGGEST_STRATEGY=match_prev_cmd
  • default: Chooses the most recent match.
  • match_prev_cmd: Chooses the most recent match whose preceding history item matches the most recently executed command



キーバインドを設定する場合

bindkey '^ ' autosuggest-accept

設定可能なキーバインド

  1. autosuggest-accept: サジェストを確定
  2. autosuggest-execute: サジェストを確定して実行
  3. autosuggest-clear: サジェストをクリア