Vim Tips @001 [ Vimでクリップボードを利用する3つの方法]
vimのclipboard設定
Vimではregisterとして[0-9a-z".=*+]がレジスタとして使える。 うちシステムのクリップボードと共通のレジスタがある.
"*(primary) と"+(clipboard) である。(:h clipboard) 難しい話は割愛.
2つの違いは, (X11環境下のみ, Windowsでは下記の役割が反転)
ぐらいの認識で大体構わないと思う. 詳細は(:h "*)
記事の目的としては他のアプリケーションでコピペしたものをvimでも使いたいというのが本筋。 3つぐらい手法がある。
1. コマンドからレジスタを指定して貼り付ける.
ノーマルモードの操作で行う.(yank, paste, deleteのコマンドでレジスタを指定)
"+yy "+dd "+p "*yy "*dd "*p
2. ショートカットキーを利用する
Shift + Insで貼り付け可能. (ただし, insertモードで行うこと) autoindent等が設定されていると、インデントが崩れることがある. そんな時はpasteオプションを利用する(:h paste)
set pastetoggle
でpasteモードに移れる.
3. clipboard オプションを利用する( +clipboard が 必要)
よくunnamedとかautoselectionしている人が多数の模様. Windows環境とUnix[X11]環境でいろいろと設定がややこしいことになっている.
なので下記を.vimrcに書き込む.
if has('unnamedplus') && !(has("win32") || has("win64")) set clipboard=unnamedplus,autoselectplus else set clipboard=unnamed endif