LoginSignup
37
19

More than 5 years have passed since last update.

tmux 2.4にアップデートしたら"invalid or unknown command"エラーがでるようになった

Last updated at Posted at 2017-04-21

問題

tmux2.3から2.4にアップデートしたところ,コピーモードに関するキーバインドで"invalid or unknown command"というエラーを吐くようになってしまいました...(泣
備忘録として解決策をここに記しておきます。
詳しい解決方法は解決への3ステップを御覧ください。

解決策

私は.tmux.confに次のようなコピーモードに関するキーバインドを記述しています。同じような設定をしている人も多いのではないでしょうか。

.tmux.conf
# 範囲選択後 prefix + y でコピー&コピーモード終了
bind-key -t vi-copy y copy-pipe "reattach-to-user-namespace pbcopy"

tmux2.4ではvi-copyコマンドが使えなくなっています。また,copy-pipeだけではコピー後にコピーモードを終了してくれなくなっています。
次のように変更することでエラーを吐かなくなりました。

.tmux.conf
# 変更後
bind-key -T copy-mode-vi y send -X copy-pipe-and-cancel "reattach-to-user-namespace pbcopy"

emacs派の人は-t vi-copyのところが-t emacs-copyになっていると思います。当てはまる方は-T copy-mode-viのところを-T copy-modeにするといいみたいです。

原因

tmuxバージョン2.4ではkey tableに区別がなくなり,これまで使えていたコマンドがリネームされたり削除されているっぽい。そのせいでバージョン2.3まで使えていたコマンドが使えなくなったみたいです。

key table名前変更による問題を解決する詳しい方法(追記 2017/5/2)

コメントで@revivreさんに教えていただいた詳しい解決方法を追記します。@revivreさん,ありがとうございました。

解決への3ステップ

  1. フラグ-t-Tに変更する
  2. vi-<name><name>-mode-viに変更する
  3. 実行するコマンドの前にsend -Xもしくはsend-keys -Xを追加する

<name>にはcopy, edit, chooseなどのtableが入ります。
確かに解決策で行ってることは,この3ステップですね。

37
19
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
37
19