powerlevel10kとfzf-tmux
zshのプロンプトをpureからpowerlevel10kに移行しようとしたところ、fzf-tmuxと食い合わせが悪いことがわかった。 以下のような関数で再現する。
func() { var=$(fzf-tmux); print -z $var }
例えばREADME.mdを選択すると、
❯ README.md
となってほしいところ、何故か表示上では
❯ README.mdREADME.md
となってしまう。なお表示がおかしいだけで、実際のコマンドライン内容には問題ない。
デフォルトオプションのfzf-tmux -d
だとほぼ確実に起こり、fzf-tmux -r
だとまず起こらない。fzf-tmux -u
だと起こったり起こらなかったり。
原因はおそらく、tmuxでウインドウのリサイズが走るため。 https://github.com/romkatv/powerlevel10k/blob/master/README.md#horrific-mess-when-resizing-terminal-window 公式ドキュメントにもリサイズはおかしくなると書いてあるので、Issue等は作成していない。
対処法としてはfzf単体を使うか、fzf-tmux -r
などとして横分割にするか。
横分割は画面の描画が崩れてしまい辛いので、私はとりあえずfzf単体で使ってみることにした。