【Vim】【Mac】Vimのヤンクでクリップボードにコピーする
・普段Vimを使っていて、異なるセッションで起動しているVim同士でコピペしたい時
・Vimから、どこか別のウィンドウにコピペしたい時
対応策として、
- 毎回コマンドで頑張る
- プラグインを入れる
- vimrcに設定する
があります。
Hack #126: クリップボードを利用する(http://vim-users.jp/2010/02/hack126/)
vimエディタからクリップボードを利用する(http://nanasi.jp/articles/howto/editing/clipboard.html)
ふつうのテキストエディタであれば クリップボードにあるテキストがペーストされ、 コピーしたテキストはクリップボードに保存されます。
しかしVimではコピー/ペーストされるテキストは レジスタと呼ばれるVim内部の領域から読み書きされるため、 そのようにはなっていません。
1.毎回コマンドで頑張る
yでヤンクをするまえに"*を追加してヤンクすることで、クリップボードにコピーできます
2.プラグインを入れる
いれた後に、キーマッピングを変更すると、選択した状態でsyをするとコピー
別のセッションなどでspするとペーストすることができます。
ただ、これはあくまでVim間のみのようなので注意が必要です
このプラグインについての説明などのサイト
3.vimrcに設定する
set clipboard=unnamed,autoselect
をvimrcに追記しておけば、ヤンクしたときに自動でクリップボードにコピーされます。
詳しくは参考サイトのHack #216から。unnamedとautoselectの違いも載っています。
ここで注意
このset clipboardが使えるのは
vim --version | grep clipboard
をしたときに
-clientserver +clipboard +cmdline_compl +cmdline_hist +cmdline_info +comments -xterm_clipboard -xterm_save
のように+clipboardになっていないと使えません。
GVimだとデフォルトで大丈夫らしいのですが、私のVimだと-になっていました。
対応策
リビルドして+clipboardにします。
参考サイトは
vimをruby用にビルドしなおしてvim-rubyを使う(http://d.hatena.ne.jp/mirakui/20090506/vimruby)
実は、vim-rubyに対応するために、+rubyにしようとリビルドしたら、+clipboardになっていました。
sudo port deactivate vim sudo port install vim +multibyte +ruby
sudo port deactive vimをしたらエラーが出たので、とりあえずsudo port install vim +multibyte +ruby
結構時間がかかるので注意です。
リビルド後、vim --versionで確認して+clipboardになっていたら成功です!
ヤンクしたものが、Vim以外のところでも貼りつけられるようになっています。