web-dev-qa-db-ja.com

マウスを使用して、tmuxで古いコピーペーストの動作を取り戻す

これは、tmuxでコピーアンドペーストするために使用していたことです(マウスを使用すると、キーボードの動作が異なり、私が興味を持っていることではありません)。

  1. マウスでテキストを選択し、左ボタンを押します
  2. 中央のボタンでテキストを貼り付け

OSをアップグレードしましたが、これにより新しいtmuxバージョンが取得されました。 .tmux.conf構成ファイルを変更していません。

これは、最新バージョンのtmux1.6(最新のcrunchbang linuxにあらかじめパッケージ化されています)でやらなければならないことです:

  1. マウスでテキストを選択し、左ボタンを押してand shift キー
  2. 中央のボタンでテキストを貼り付け
  3. ターミナルがブロックされ、リッテ情報エリアに現在のペインの右上にいくつかの数字が表示されます(つまり、[0/24]、おそらくペーストされた文字数に関連するもの)。 want(編集:copy-modeがここに自動的に入力されるようです)
  4. 私は押さなければなりません q 機能端末を再度取得するためのキー。

これは私が1日に何十回もやるには面倒です。古いメカニズムを再び機能させる方法は?

96
dangonfast

デフォルトのコピー/貼り付け構成を復元するには、tmux内でマウスサポートを(少なくとも一時的に)オフにする必要があります。

prefix : set -g mouse off

prefixはtmuxアクセスキー(Ctrl+B 再マップしない限り、デフォルトで)。 : コマンドモードを開始し、set -gパラメータをグローバルに設定します。

マウスモードをオフにすると、オペレーティングシステムが提供する標準のコピー/貼り付け機能が期待どおりに機能します。

他にしたいことは、現在のペインを「最大化」することです。そのため、複数の行を簡単にコピーできます。


古い(2.1より前の)バージョンのtmuxを使用している場合、代わりに以下を使用する必要があります。

prefix : set -g mode-mouse off

これを自動化するための詳細と便利なキーバインディングがここにあります。

http://tangledhelix.com/blog/2012/07/16/tmux-and-mouse-mode/

上記にリンクされている記事の主な目的は、.tmux.confからの次の抜粋です。

# disable mouse control by default - change 'off' to 'on' to enable by default.
setw -g mode-mouse off
set-option -g mouse-resize-pane off
set-option -g mouse-select-pane off
set-option -g mouse-select-window off
# toggle mouse mode to allow mouse copy/paste
# set mouse on with prefix m
bind m \
    set -g mode-mouse on \;\
    set -g mouse-resize-pane on \;\
    set -g mouse-select-pane on \;\
    set -g mouse-select-window on \;\
    display 'Mouse: ON'
# set mouse off with prefix M
bind M \
    set -g mode-mouse off \;\
    set -g mouse-resize-pane off \;\
    set -g mouse-select-pane off \;\
    set -g mouse-select-window off \;\
    display 'Mouse: OFF'
# zoom this pane to full screen
bind + \
    new-window -d -n tmux-zoom 'clear && echo TMUX ZOOM && read' \;\
    swap-pane -s tmux-zoom.0 \;\
    select-window -t tmux-zoom
# restore this pane
bind - \
    last-window \;\
    swap-pane -s tmux-zoom.0 \;\
    kill-window -t tmux-zoom
68
dr-jan
  1. テキストをコピーします。テキストを選択し、マウスleft-buttonを押しながらshiftキーも押します。
  2. テキストをshiftキー+ middle-buttonで貼り付けます
214
Yves Blusseau

「set -g mode-mouse on」の場合、次のトリックを実行できます。

Macでは、「fn」ボタンを押してからテキストを選択し、マウスの右クリックまたはキーボードcmd + cでコピーします。

30
fluder

クリスチャンの例をTmux 2で動作させるのに問題がありました。動作するように以下を取得し、少し読みやすく、グローバルモードとウィンドウモードの両方を設定します。誰か。新しいユーザーとtmuxは素晴らしいです!

bind m run "\
    tmux show-options -g | grep -q "mouse\\s*on"; \
    if [ \$? = 0 ]; \
    then  \
        toggle=off;  \
    else  \
        toggle=on;  \
    fi;  \
    tmux display-message \"mouse is now: \$toggle\";  \
    tmux set-option -w mouse \$toggle; \
    tmux set-option -g mouse \$toggle; \
    "
6
Neil McGill

<prefix>+mを使用して、マウスモードをオンまたはオフに切り替えます

bind m run "if [[ `tmux show-option -w | grep mode-mouse.*on` ]]; then toggle=off; else toggle=on; fi; tmux display-message \"mouse tmux: \$toggle\"; tmux set-option -w mode-mouse \$toggle &> /dev/null; for cmd in mouse-select-pane mouse-resize-pane mouse-select-window; do tmux set-option -g \$cmd \$toggle &> /dev/null; done;"
6
Kaixuan Wang

Mac + iTerm2 + tmux(version> 2.1)のユーザー向け:

マウスモードがtmux構成で設定されていることを確認します(〜/ .tmux.confにset -g mode-mouse onを追加するだけです)。次に、ペイン内のテキストをコピーするには:

  1. option + commandを押し、マウスカーソルを使用してコピーするテキストを選択します。写真を切り抜くようなものです。
  2. 選択したテキストは自動的にコピーされます(command + cは必要ありません)。通常の方法で貼り付けてください。
5
Umashankar

here からの変更-元のxclipの代わりにxselを使用します。

bind -T root MouseDown2Pane run -b "xclip -o | tmux load-buffer - && tmux paste-buffer -s ' '"

これはtmux 2.5-rc2で私のために楽しく働いています

4
Andy

これは、Tmux 2.1と互換性のある Kaixuanの答え の修正バージョンです。

`bind m run "if [[ `tmux show-options -w | grep mouse.*on` ]]; then toggle=off; else toggle=on; fi; tmux display-message \"mouse tmux: \$toggle\"; tmux set-option -w mouse \$toggle &> /dev/null;`"

すべてのmode-mouseオプションが1つのmouseオプションに結合され、show-optionshow-optionsに置き換える必要がありました

~/.tmux.conf

set -g mouse off

bind r source-file ~/.tmux.confを持つことも有用であるため、ctrl-d rを実行して、たとえば設定を再読み込みできます。

0
localhostdotdev