Top-ads

Powered by Blogger.

Mac標準のvimでクリップボードが簡単に使えるように設定した

By | 火曜日, 4月 10, 2012 Leave a Comment
Macのターミナルで vim --version | grep clipboard するとわかるのですが、Mac標準のvimは -clipboard になっているので、.vimrcに set clipboard=unnamed,autoselect を書いてもクリップボードは使えません。

別途クリップボードを有効にしたvimを入れてもいいのですが、先日Homebrewに移行してから、こういうのはできれば標準のまま使いたい気持ちが強くなったので、何かいい方法がないかと思ったら、OS X固有のコマンドにクリップボードとのデータの受け渡しをするpbcopyとpbpasteがあることがわかりました。

早速これを使えるように .vimrc に以下の設定を追加しました。


if has("unix")
    let s:uname = system("uname")
    if s:uname == "Darwin\n"
        let s:ismac = 1
    else
        let s:ismac = 0
    endif
endif


let s:is_mac = !s:is_win && (has('mac') || has('macunix') || has('gui_macvim') || system('uname') =~? '^darwin')

if s:ismac
    vmap <C-c> y:call system("pbcopy", getreg("\""))<CR>
    nmap <Space><C-v> :call setreg("\"",system("pbpaste"))<CR>p
endif


  • (更新 2012.04.10)neocomplcacheのソースにあった判別方法が1行でよさげだったので、パクってそちらに替えました。
  • (更新 2012.04.10)ノーマルモードからの短形ヴィジュアルモードが通常どおり使えるように、<Space><C-v>に変更しました。

これで、Macで普通にコピー&ペーストするように、ヴィジュアルモードでテキストを選択しているときにCTRL+Cでクリップボードへコピー、スペースを押した後にCTRL+Vでテキストのペーストができるようになります。

次の投稿 前の投稿 ホーム