ziguzagu.org

zaw で tmux の pane 内の文字列から補完

zaw がよいそうなので使い始めてみた。

基本的なところ設定したあと、とりあえずこれがないと始まらないということで、tmux の現在の pane 内に表示されてる文字列を補完対象にするやつだけ追加で書いた。

function zaw-src-tmux-pane-strings() {
    candidates=($(tmux capture-pane\; show-buffer \; delete-buffer | sed '/^$/d' | sed '$ d'))
    actions=("zaw-callback-append-to-buffer")
    act_descriptions=("append to edit buffer")
    return 0
}
zaw-register-src -n tmux-pane-strings zaw-src-tmux-pane-strings
bindkey '^x^o' zaw-tmux-pane-strings

zsh + tmux で同じことやってはいてこれはこれで便利だったけど、先頭一致しないと絞りこまれないのが不便だった(zsh レベルが低いだけでうまいことやる方法知らないだけか?)。それがzaw により部分一致できるようになったのでだいぶ具合がよくなった。