web-dev-qa-db-ja.com

マウスを使用してtmuxでスクロールするにはどうすればよいですか?

Terminal.appのMacOS X1.9.3でAppleマジックマウスを使用してtmux1.8を使用しています。oh-my-zshも使用しています。

Tmuxの実行中は、マウスでまったくスクロールできません。ターミナルウィンドウ全体を上にスクロールするだけで、tmuxの出力を超えます。

Tmux.confファイルでこれらの設定を試しましたが、何も機能しません。

set -g mode-mouse on
setw -g mode-mouse on
set -g terminal-overrides 'xterm*:smcup@:rmcup@' 

念のため、tmux.confをリロードし、セッションを強制終了して新しいセッションを作成しました。そして、それはまだ機能しません。

助けてください。これが私のtmux.conf全体です

set -g default-terminal "xterm-256color"
set -g history-limit 10000
set -g status-interval 60

# status config
set -g status-utf8 on
set -g status-position top
set -g status-fg colour15
set -g status-bg colour24


# status line left side
set -g status-left-length 40
set -g status-left "#[fg=colour214,bold] #S #[fg=colour45] "

# status line right side
set -g status-right "#(~/.dotfiles/bin/tmux_battery_status) | %I:%M %p | %D "

# no more machine counting
set -g base-index 1
setw -g pane-base-index 1

# enable activity alerts
setw -g monitor-activity on
set -g visual-activity on

# window list colors
setw -g window-status-fg colour250
setw -g window-status-bg default
setw -g window-status-format " #I #W "
setw -g window-status-current-format "  #W "
setw -g window-status-current-fg colour118
setw -g window-status-current-bg default
setw -g window-status-activity-attr underscore,bold

# center the window list
set -g status-justify left

# pane colors
set -g pane-border-fg colour24
set -g pane-border-bg default
set -g pane-active-border-fg colour15
set -g pane-active-border-bg colour15

# command / message line colors
set -g message-fg colour15
set -g message-bg black
set -g message-attr bright

# rebind clear screen with Ctrl-l
bind C-l send-keys 'C-l'

# reload tmux conf
bind r source-file ~/.tmux.conf \; display "Reloaded tmux.conf!"

# setup reattach-to-user-namespace for copy and paste
set-option -g default-command "reattach-to-user-namespace -l $Shell"

# use vim keybindings in copy mode
setw -g mode-keys vi

setw -g mode-mouse on
setw -g mouse-utf8 on
setw -g mouse-select-pane on
setw -g mouse-select-window on
setw -g mouse-resize-pane on

# setup 'v' to begin selection as in vim
bind -t vi-copy v begin-selection
bind -t vi-copy y copy-pipe "reattach-to-user-namespace pbcopy"

# update default binding of 'enter' to also use copy-pipe
unbind -t vi-copy Enter
bind -t vi-copy enter copy-pipe "reattach-to-user-namespace pbcopy"

# splitting panes
bind | split-window -h
bind - split-window -v

# fast resizing (-r for repeatable)
bind -r h resize-pane -L 5
bind -r j resize-pane -D 5
bind -r k resize-pane -U 5
bind -r l resize-pane -R 5

# tmux navigator with vim (-n allows binding without tmux prefix)
bind -n C-h run "(tmux display-message -p '#{pane_current_command}' | grep -iqE '(^|\/)vim(diff)?$' && tmux send-keys C-h) || tmux select-pane -L"
bind -n C-j run "(tmux display-message -p '#{pane_current_command}' | grep -iqE '(^|\/)vim(diff)?$' && tmux send-keys C-j) || tmux select-pane -D"
bind -n C-k run "(tmux display-message -p '#{pane_current_command}' | grep -iqE '(^|\/)vim(diff)?$' && tmux send-keys C-k) || tmux select-pane -U"
bind -n C-l run "(tmux display-message -p '#{pane_current_command}' | grep -iqE '(^|\/)vim(diff)?$' && tmux send-keys C-l) || tmux select-pane -R"
bind -n C-\ run "(tmux display-message -p '#{pane_current_command}' | grep -iqE '(^|\/)vim(diff)?$' && tmux send-keys 'C-\\') || tmux select-pane -l"
19
RantriX

私は問題を理解しました。デフォルトのTerminal.appを使用する場合、マウスイベントはターミナル内で実行されているアプリケーションに渡されません。この問題を修正するには、MouseTermをインストールする必要があります。これには、SIMBLがインストールされている必要があります。ここですべての手順を見つけることができます:

https://bitheap.org/mouseterm/

Mac OS X 10.9を使用している場合、MouseTermのインストールスクリプトを実行しようとすると、ファイルが破損していると表示されることに注意してください。この問題を解決するには、バンドルファイルをSIMBLプラグインフォルダーに手動でコピーし、Terminal.appを再起動して機能させます。 SIMBLプラグインフォルダは次のパスにあります。

/ライブラリ/アプリケーションサポート/ SIMBL /プラグイン

14
RantriX

OS X 10.11(ベータ版)El Capitanの時点では、SIMBLもMouseTermも必要ありません。

私は同じ質問をしましたが、あなたはOPでそれに答えました:

set -g mode-mouse on
setw -g mode-mouse on
set -g terminal-overrides 'xterm*:smcup@:rmcup@'

terminal.appを使用して10.11で必要なのはこれだけです。他のターミナルエミュレーターでもSIMBLが必要な場合があることに注意してください。これはターミナルのアップデートであり、OS X自体がアップデートされているためではなく、不要になったようです。

11
OJFord

Tmux2.1にはいくつかの変更があります

  • マウスモードが書き直されました。次のオプションはなくなりました。

    • マウスのサイズ変更ペイン
    • マウス選択ペイン
    • マウス選択ウィンドウ
    • モードマウス

    代わりに、オプションが1つだけあります。それは、マウスのサポートを完全にオンにする「mouse」です。

set -g mouse onだと思います

7
daniel

設定なしでスクロールを行う簡単で簡単な方法は、Ctrl-Bを押してからPageUp/Downを押すことです。

1
coderek