Ubuntu18.04で、Ubuntu16.04で使っていたtmux.confを流用したら、エラーを吐いたのでトラブルシューティングした。
環境
Ubuntu18.04 Desktop
エラー
エラーメッセージ
従来と同じtmux.confをダウンロードしてtmuxを起動したら、下記のエラーメッセージが出力された。
/home/kome/.tmux.conf:62: usage: bind-key [-cnr] [-T key-table] key command [arguments]
なにやらbind-key周辺で悲しいことになっているらしい。
62行目の確認とtmuxのバージョン
エラーメッセージを見るに62行目でエラーしていた。62行目は下記のとおりである。
bind -t vi-copy Enter copy-pipe "cat | xsel -i --clipboard"
多分コピー周りのエラーだと目星をつけて、次にバージョンの確認をする。
ちなみにUbuntu16.04ではtmuxのバージョンは2.1だった。
$ tmux -V tmux 2.6
めっちゃ進化してた。。
間違いなく原因はこいつらだと見定め、引き続き調査した。
原因
いくつか同様のエラーを回避している人がいた。
簡単に言うと、コピーモードの記法をviライクにしたいときに用いていたvi-copyというコマンドが、copy-mode-viという記法に置き換わったかららしい。
対策
下記のように62行目を書き換えるとうまくいく
bind-key -T copy-mode-vi Enter send-keys -X copy-pipe-and-cancel "cat | xsel -i --clipboard"
まとめ
改悪かな?という感じ。ちなみにcopy-mode-viをcopy-modeにすると、emacsライクなキーバインドになるらしい。
参考にしたサイト
tmux2.4からvi-copyがcopy-modeに変わっていた
Upgrade to tmux 2.6 bind-key error messages · Issue #25 · salcode/ironcode-tmux · GitHub