Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
Help us understand the problem. What is going on with this article?

tmux 2.1 以降でもマウスを有効にする方法

More than 3 years have passed since last update.

tmux/CHANGES@310f0a9 によると、

CHANGES FROM 2.0 to 2.1 18 October 2015

Incompatible Changes
====================

* Mouse-mode has been rewritten.  There's now no longer options for:
    - mouse-resize-pane
    - mouse-select-pane
    - mouse-select-window
    - mode-mouse

  Instead there is just one option:  'mouse' which turns on mouse support
  entirely.

とのことです。そういうわけで、.tmux.conf とかに

set-window-option -g mode-mouse on
set-option -g mouse-select-pane on
set-option -g mouse-resize-pane on
set-option -g mouse-select-window on

みたいに書いてあったであろう奴らが一切動かなくなっています。これを直すには、

.tmux.conf
set-option -g mouse on

bind -n WheelUpPane   select-pane -t= \; copy-mode -e \; send-keys -M
bind -n WheelDownPane select-pane -t= \;                 send-keys -M

というのをそのあたりに書けばオッケーです (下2行は https://bbs.archlinux.org/viewtopic.php?pid=1572476#p1572476 から引用)。

複数マシン間で .tmux.conf を共有していると、これらのうちどっちを書けばいいんやみたいな感じになりますが、両方書いておくと使えない方のエラーが起動時に毎回表示されるだけで動くことには動きます。

きちんとバージョンごとに動作を切り分けたい場合は、if-shell を使って

.tmux.conf
if-shell 'test $(echo "$(tmux -V | awk \{print\ \$2\}) > 2.0" | bc) -ne 0' \
  'source-file ~/.tmux.d/mouse-after-2.1.conf' \
  'source-file ~/.tmux.d/mouse-before-2.0.conf'
~/.tmux.d/mouse-after-2.1.conf
set -g mouse on
bind -n WheelUpPane   select-pane -t= \; copy-mode -e \; send-keys -M
bind -n WheelDownPane select-pane -t= \;                 send-keys -M
~/.tmux.d/mouse-before-2.0.conf
set-window-option -g mode-mouse on
set-option -g mouse-select-pane on
set -g mouse-resize-pane on
set -g mouse-select-window on

このようなことをやればよいです。if-shell で分岐した先で必ず source-file を使わないといけないわけではないですが、使わないと死ぬほど見難い感じになります、、

polamjag
記事中のコード片は、注記なきものと引用したものとを除き Public Domain (CC0) または MIT/X11 License とします
https://about.polamjag.info/
hatena-corp
「知る」「つながる」「表現する」で新しい体験を提供し、人の生活を豊かにする
https://hatenacorp.jp/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away