zsh のコマンドラインで tmux の現在のペイン内の文字列から dabbrev できるようにする設定。screen の hardcopy でやってたやつの tmux 版。
function _dabbrev_from_pane() {
local sources
sources=($(tmux capture-pane \; show-buffer \; delete-buffer | sed '/^$/d' | sed '$ d'))
compadd - "${sources[@]%[*/=@|]}"
}
zle -C dabbrev-from-pane menu-complete _dabbrev_from_pane
bindkey '^o' dabbrev-from-pane
去年末の仕事納めで screen も使い納めて、tmux に移行してたけどこれだけできてないまま放置してたのでやっつけた。
あと、
- Cent OS 5 のリモートホストに ssh すると terminfo 的なアレがアレしてるせいか vi が使えない
- 代替案:tramp ちゃんと使う
- bash だと表示がなんか崩れてたりする(PS1 の設定のせい?)
- 代替案:全サバに zsh いれる(・∀・)
とかの未解決問題はまだ若干あるけど、概ね個人環境に追いついた。