🔦

fzf でマッチ部分のハイライトを設定したら見やすくなった

2025/02/04に公開

fzf-lua の最近のアップデートで、 Grep の結果を絞り込んだ時にマッチした単語がハイライトされるようになりました。これにより、 Grep の結果と fzf の絞り込みを区別しやすくなり、視認性が大いに上がりました。

せっかくなので、 Grep 結果だけではなく、全ての fzf 絞り込みUIでハイライト方式を導入したいと思い調べたところ、 --color オプションを指定することで可能でした。

# config.fish
set -gx FZF_DEFAULT_OPTS "--layout reverse --color='hl:-1:reverse,hl+:-1:reverse'"

# .zshrc
export FZF_DEFAULT_OPTS=--color='hl:-1:reverse,hl+:-1:reverse'

Before

fzf-lua リポジトリで git ls-files | fzf --query vim した例です。

デフォルトではこういう見た目になっていると思います。

After

--color='hl:-1:reverse,hl+:-1:reverse を指定するとこうなります。無骨ですね。

好みの差はあると思いますが、個人的にはこっちの方が見やすくて好きでした。特に、絞り込んだ結果があいまいマッチなのか完全マッチなのかが一目で分かり、効果を実感しています。

fzf-lua での設定

fzf_lua.setup({
  keymap = {
    fzf = {
      "--color=hl:-1:reverse,hl+:-1:reverse",
    },
  },
})

上記のように設定しておくと、 fzf-lua の全ての絞り込みがハイライト方式になります。 git-files の実行画面はこちら。

Discussion