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
2
Help us understand the problem. What is going on with this article?
@shimmer22

tmux(2.6以降)のコピーモードについてまとめた(for vimmer)

tmuxのコピーモードについていろいろwebに情報が散逸しているので、自分用にまとめる。

なおキーバインドの設定はvim使い向けです

※2020/10/21追記 一部キーバインドの設定が間違っていたので修正

環境

  • Mac OSX 10.14.5
  • tmux 3.1b

コピー時の流れ

この記事に書いてある設定をすると、以下のような流れでコピーを行える

  1. prefixキー + [ でコピーモードに入る
  2. コピー開始したい位置に移動(hjklなどviキーバインド)
  3. vで選択開始(Vで行ごと選択開始)
    1. コピーしたい場合:yまたはEnterを押してコピー(Macのクリップボードにもコピーされてる🎉)
    2. 矩形選択との切り替えをしたい場合:Ctrl+vを押す
    3. 選択解除したい場合:Escを押す
    4. コピーモード自体を終了したい場合:qを押す

.tmux.confの設定

viキーバインドの設定

set-window-option -g mode-keys vi

tmuxの操作をviキーバインドでできるように。
今回に関係するところだと、コピーの選択範囲を指定するときに、hjklで移動したりやCtrl+vで矩形選択が使えるようになる。

選択開始キーの設定

bind -T copy-mode-vi v send-keys -X begin-selection

vimライクに「v」でコピーしたい範囲の選択を開始する

クリップボードへのコピー

bind -T copy-mode-vi y send-keys -X copy-pipe-and-cancel "pbcopy"
bind -T copy-mode-vi Enter send-keys -X copy-pipe-and-cancel "pbcopy"

bind-keyでコピーをするキーバインドを指定。Enterの他に、vimライクに、yでコピーする設定をする人が多いみたい。

send-keys -X copy-pipe-and-cancel "pbcopyが、クリップボードへのコピーを行う設定
ネットで調べるとreattach-to-user-namespace pbcopyを指定する的な内容が出てくることがあるが、tmux 2.6以降では不要なようです。参考:https://github.com/ChrisJohnsen/tmux-MacOSX-pasteboard/issues/66

※pbcopyはターミナルの出力をクリップボードにコピーしてくれるもの

矩形選択の切り替え設定

bind -T copy-mode-vi C-v send-keys -X rectangle-toggle

あくまで選択方法の切り替えを行うだけなので、コピーモードに入ってすぐ「Ctrl+v」を押してもvimのようにすぐ選択開始はされないので注意。(あくまで選択開始できるのは「v」)

Vで行ごと選択

bind -T copy-mode-vi V send-keys -X select-line

これは矩形選択と違って、Vで行ごと選択開始される。

Escで選択範囲を解除させる設定

bind -T copy-mode-vi Esc send-keys -X clear-selection

vimライクに、Escで選択範囲解除

参考

2
Help us understand the problem. What is going on with this article?
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
shimmer22
Play Framework(Scala)とAngularでWeb開発しています。
nextbeat
「人口減少社会への価値貢献」をミッションとする創業5年のベンチャー企業です。子育て支援を中心としたライフイベント領域、インバウンド領域、地方創生領域を軸に全9事業を展開中!

Comments

No comments
Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account Login
2
Help us understand the problem. What is going on with this article?