【tmuxの設定】ローカルのファイルを端末にドラッグアンドドロップでリモートにコピー

既にそこかしこで設定が晒されているので、今回は他であまり見なかった設定について説明します。

末尾のローカルのファイルをリモートに貼り付ける設定が便利です。 設定は以下です。

#ローカルのファイルをリモートに張り付ける
bind-key i   command-prompt -p "(load-and-paste) file?" "load-buffer %%" \; paste-buffer
bind-key I   command-prompt -p "(load-buffer) file?" "load-buffer %%"

ファイルを端末にドラッグアンドドロップすると、内容を貼り付けることができます。 いちいちコピーしたいファイルを開いてコピペしていた手間が無くなり便利です。

参考までに全体の設定

$ cat ~/.tmux.conf

# prefixキーをC-aに変更する
set -g prefix C-t
#
# # C-bのキーバインドを解除する
unbind C-b
# キーストロークのディレイを減らす
set -sg escape-time 1
#
# # ウィンドウのインデックスを1から始める
set -g base-index 1
#
# # ペインのインデックスを1から始める
setw -g pane-base-index 1
#
# # 設定ファイルをリロードする
bind r source-file ~/.tmux.conf \; display "Reloaded!"
#
# # 256色端末を使用する
set -g default-terminal "screen-256color"
#
# # ステータスバーの色を設定する
set -g status-fg white
set -g status-bg black
#
# # ウィンドウリストの色を設定する
setw -g window-status-fg cyan
setw -g window-status-bg default
set -g pane-border-bg black
# # アクティブなペインを目立たせる
set -g pane-active-border-fg white
set -g pane-active-border-bg yellow
#
# # コマンドラインの色を設定する
set -g message-fg white
set -g message-bg black
set -g message-attr bright
#
# # ステータスバーを設定する
# ## 右パネルを設定する
set -g status-right "#[fg=cyan][%Y-%m-%d(%a) %H:%M]"
# ## ステータスバーのUTF-8サポートを有効にする
set -g status-utf8 on
# ## リフレッシュの間隔を設定する(デフォルト 15秒)
set -g status-interval 60
# ## ヴィジュアルノーティフィケーションを有効にする
setw -g monitor-activity on
set -g visual-activity on
#
# # コピーモードを設定する
# ## viのキーバインドを使用する
setw -g mode-keys vi
# ## コピーモードの操作をvi風に設定する
bind-key -t vi-copy v begin-selection
bind-key -t vi-copy y copy-pipe "reattach-to-user-namespace pbcopy"
unbind -t vi-copy Enter
bind-key -t vi-copy Enter copy-pipe "reattach-to-user-namespace pbcopy"

#ローカルのファイルをリモートに張り付ける
bind-key i   command-prompt -p "(load-and-paste) file?" "load-buffer %%" \; paste-buffer
bind-key I   command-prompt -p "(load-buffer) file?" "load-buffer %%"