マウスのコピーと貼り付けにtmuxを使用する方法

マウスのコピーと貼り付けにtmuxを使用する方法

私はtmuxOSXを使用しています。端末からコピーして貼り付けるときは、テキストをtmux長押しして選択できますOption。しかし、テキストをウィンドウ内に残すことはできません。したがって、テキストをコピーするには、ウィンドウを一番左に循環させるか、以下のようにウィンドウのサイズを変更する必要があります。

キーを押し続ける必要がある以外にもOption痛いです。私はビジュアルモードに行き、vim moveを使ってそこに行くことができることを知っていますが、マウスを使用する方が良いでしょう。誰もが解決策を見つけましたか?

ここに画像の説明を入力してください。 ここに画像の説明を入力してください。

答え1

このコードブロックを~/.tmux.conf

set -g mouse on
bind -n WheelUpPane if-shell -F -t = "#{mouse_any_flag}" "send-keys -M" "if -Ft= '#{pane_in_mode}' 'send-keys -M' 'select-pane -t=; copy-mode -e; send-keys -M'"
bind -n WheelDownPane select-pane -t= \; send-keys -M
bind -n C-WheelUpPane select-pane -t= \; copy-mode -e \; send-keys -M
bind -t vi-copy    C-WheelUpPane   halfpage-up
bind -t vi-copy    C-WheelDownPane halfpage-down
bind -t emacs-copy C-WheelUpPane   halfpage-up
bind -t emacs-copy C-WheelDownPane halfpage-down

# To copy, drag to highlight text in yellow, press Enter and then release mouse
# Use vim keybindings in copy mode
setw -g mode-keys vi
# Update default binding of `Enter` to also use copy-pipe
unbind -t vi-copy Enter
bind-key -t vi-copy Enter copy-pipe "pbcopy"

その後、tmux セッションを再開します。マウスを使用していくつかのテキストを強調表示しますが、マウスを離さないでください。テキストが強調表示され、マウスを押しながらEnterキーを押します。強調表示されたテキストが消えてクリップボードにコピーされます。今マウスを放します。

これに加えて、上下にスクロール、アクティブウィンドウの選択など、いくつかの素晴らしい操作をマウスで実行することもできます。

使用する場合最新バージョンのtmuxmacOSでは、上記の代わりに次のことを試してください。

# macOS only
set -g mouse on
bind -n WheelUpPane if-shell -F -t = "#{mouse_any_flag}" "send-keys -M" "if -Ft= '#{pane_in_mode}' 'send-keys -M' 'select-pane -t=; copy-mode -e; send-keys -M'"
bind -n WheelDownPane select-pane -t= \; send-keys -M
bind -n C-WheelUpPane select-pane -t= \; copy-mode -e \; send-keys -M
bind -T copy-mode-vi    C-WheelUpPane   send-keys -X halfpage-up
bind -T copy-mode-vi    C-WheelDownPane send-keys -X halfpage-down
bind -T copy-mode-emacs C-WheelUpPane   send-keys -X halfpage-up
bind -T copy-mode-emacs C-WheelDownPane send-keys -X halfpage-down

# To copy, left click and drag to highlight text in yellow, 
# once you release left click yellow text will disappear and will automatically be available in clibboard
# # Use vim keybindings in copy mode
setw -g mode-keys vi
# Update default binding of `Enter` to also use copy-pipe
unbind -T copy-mode-vi Enter
bind-key -T copy-mode-vi Enter send-keys -X copy-pipe-and-cancel "pbcopy"
bind-key -T copy-mode-vi MouseDragEnd1Pane send-keys -X copy-pipe-and-cancel "pbcopy"

macOSでiTermを使用している場合は、iTerm2>基本設定>一般タブに移動し、選択セクションで「ターミナルのアプリケーションがクリップボードにアクセスできる」を確認してください。

使用する場合Linux最新バージョンのtmuxをインストールしてから

# Linux only
set -g mouse on
bind -n WheelUpPane if-shell -F -t = "#{mouse_any_flag}" "send-keys -M" "if -Ft= '#{pane_in_mode}' 'send-keys -M' 'select-pane -t=; copy-mode -e; send-keys -M'"
bind -n WheelDownPane select-pane -t= \; send-keys -M
bind -n C-WheelUpPane select-pane -t= \; copy-mode -e \; send-keys -M
bind -T copy-mode-vi    C-WheelUpPane   send-keys -X halfpage-up
bind -T copy-mode-vi    C-WheelDownPane send-keys -X halfpage-down
bind -T copy-mode-emacs C-WheelUpPane   send-keys -X halfpage-up
bind -T copy-mode-emacs C-WheelDownPane send-keys -X halfpage-down

# To copy, left click and drag to highlight text in yellow, 
# once you release left click yellow text will disappear and will automatically be available in clibboard
# # Use vim keybindings in copy mode
setw -g mode-keys vi
# Update default binding of `Enter` to also use copy-pipe
unbind -T copy-mode-vi Enter
bind-key -T copy-mode-vi Enter send-keys -X copy-pipe-and-cancel "xclip -selection c"
bind-key -T copy-mode-vi MouseDragEnd1Pane send-keys -X copy-pipe-and-cancel "xclip -in -selection clipboard"

DebianとDebianベースのディストリビューション(Ubuntu、Kali)では、以下をインストールする必要がありますxclip

sudo apt-get install -y xclip

(あなたも見ることができますhttps://github.com/gpakosz/.tmux他の多くのtmuxオプションの場合。 )

答え2

~/.tmux.conf に次の 2 行を追加します。

set -g @plugin 'tmux-plugins/tmux-yank'
set -g mouse on

それから私に合ったプラグインをインストールしてください。

https://github.com/tmux-plugins/tmux-yank

答え3

Ubuntu 20.04で私に合うものは何ですか?

  • マウスモードをオンにしました
  • Shiftカーソルがあるテキストを選択するには+を押します。
  • Shiftテキストを選択してマウスを離します。
  • テキストのコピーCtrl++Shiftc
  • 任意の場所に貼り付け(自己外部tmuxCtrl+vこれにより、テキストがシステムクリップボードにコピーされます。

答え4

FreeBSDで:-)に設定すると、選択yしたテキストでマウスの左ボタンを押しながらキー(viスタイル)を使用して選択したテキストをコピーできます。mouse on~/tmux.conf

set -g mouse on
bind -T copy-mode-vi y send-keys -X copy-pipe-and-cancel 'xclip -in -selection clipboard'

xclip次のコマンドを使用してパッケージをrootとしてインストールすることを忘れないでくださいpkg install xclip。 :-)

より便利なヒント:

  • set -g repeat-time 0あるウィンドウにエディタがあり、別のウィンドウにシェルまたは他のカーソルとして動作するアプリケーションがある場合は、次のtmuxコマンドキーを使用して無効にします。通常、カーソルキーを押すとしばらくウィンドウが切り替わります。これは、切り替えたウィンドウでカーソルをすばやく使用したい場合は、状況によって気を散らして迷惑にすることがあります。
  • set -g status-style fg=white,bg=green異なるリモートコンピュータの異なるセッションを簡単に区別するために使用されます。マシンごとに異なる値を設定すると、bg使用したいマシンをすばやく識別するのに役立ちます。

関連情報