LoginSignup
9
9

More than 5 years have passed since last update.

tmuxとMacVimでOS Xのクリップボードと連携

Posted at

概要

MacVimでコピーした文字列が自動的にクリップボードに入るようにしたい(:set clipboard=unnamed) - 結城浩のはてな日記tmuxでOSXのクリップボードと連携 - Qiitaを見て、これは便利と両方設定したらtmux上のvimでコピーしてもクリップボードに入らないことに気づきました。

で、ググってみると
Sharipov Ruslan : tmux 1.8 + vim/MacVim: easy OSX clipboard integrationというページを見つけました。

alias vim="reattach-to-user-namespace vim"

とエイリアスを定義しておけば良いとのことです。

セットアップ

reattach-to-user-namespaceはhomebrewでインストールします。

$ brew install reattach-to-user-namespace

tmux.confの設定は以下のようにします。tmuxのプリフィクスをC-zに変更しています。

~/.tmux.conf
# Set prefix to C-z
unbind C-b
set-option -g prefix C-z
bind C-z send-prefix

# Use vim keybindings in copy mode
setw -g mode-keys vi

# Setup 'v' to begin selection as in Vim
bind-key -t vi-copy v begin-selection
bind-key -t vi-copy y copy-pipe "reattach-to-user-namespace pbcopy"

# Update default binding of `Enter` to also use copy-pipe
unbind -t vi-copy Enter
bind-key -t vi-copy Enter copy-pipe "reattach-to-user-namespace pbcopy"

~/.vimrcには以下のように設定します。

~/.vimrc
set clipboard=unnamed,autoselect

~/.bashrcには以下のように設定します。

~/.bashrc
alias vim='reattach-to-user-namespace /Applications/MacVim.app/Contents/MacOS/Vim'

コピーの操作方法

  • tmuxでコピー
    • 範囲の選択開始: C-z [ Space
    • 範囲選択: hjkl0$など
    • コピー実行: Enter
  • vimでコピー
    • 範囲の選択開始: v
    • 範囲選択: hjkl0$など
    • コピー実行: y
9
9
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
9
9