37
18

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

【zsh】tmuxでキーボード操作でコピペする方法【コピーモード】

Last updated at Posted at 2017-10-25

itermやターミナルで複数窓を開いてて、隣の窓のとある部分をコピーしてこっちに貼り付けたい。
ということは結構あります。
しかしその度マウスやトラックパッドまで手を伸ばしてコピーするのは少々煩わしいです。

そう思っていたらtmuxにはコピーモードというものがあることを知ったので早速使ってみたのです。

環境

  • Mac
  • iterm
  • zsh
  • tmux (version2.5)

と、書きましたが要はtmuxさえ動く環境であればなんでもいいはずです。
ただ、brewでとあるものをインストールしているのでこの手順はmac前提です。なにをいっているんでしょうかね僕は。

手順

brew install reattach-to-user-namespace

でreattach-to-user-namespaceをインストールします。
これはtmuxのコピーモードでコピーした内容をmacのクリップボードに移すために必要なパッケージです。

次に~/.tmux.confを作成し以下を記述します。

set-option -g default-command "exec reattach-to-user-namespace -l $SHELL"
setw -g mode-keys vi
bind-key    -T copy-mode-vi v     send-keys -X begin-selection
bind-key    -T copy-mode-vi y     send-keys -X copy-pipe-and-cancel "reattach-to-user-namespace pbcopy"
bind-key    -T copy-mode-vi Enter send-keys -X copy-pipe-and-cancel "reattach-to-user-namespace pbcopy"

※tmux2.4以前では、vi-copyだったのですが、以降はcopy-modeという項目に変わっているので注意。
古い記事にはvi-copyと書かれていることが多いのでここでハマってしまわないように。まあ僕ですが。

上記のconfを作成したら、tmuxを再起動させます。

tmux source ~/.tmux.conf
上記コマンドで反映されます。(tmuxから抜ける必要はありません)

これで、

control + b 押してから、 [
を押すとコピーモードに移り、

v or space でコピー開始
カーソルを動かして範囲を選択
y or enter でクリップボードに保存

ができます。

地味にコピーモード中に、
control + v
で矩形選択できるものもうれしいです。

もちろんshift + vで行選択もいけます。

そんな感じです。

※ちなみに僕はこれに加えて、BetterTouchToolsを使って、
【controlキーを素早く2回押す】の動作を【control + b】に割り当ているため、
【controlキーを素早く2回押す】→【[】
でコピーモードに移れるようにしています。

37
18
0

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
18

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?