linuxのvimでクリップボード
[tag:]
先日コンパイルしたlinuxのvimを使っていて、
他のアプリケーションからコピーした内容はpできるのに
vimでヤンクした内容がペーストできないと思っていたら、
どうやら"*レジスタの他に"+レジスタがあるらしい。
:help x11-selectionによれば、
X11のglobal storeにはselectionとcut-buffersの2種類があるらしく、
selectionはアプリケーション毎に保持されるのに対し、
cut-buffersはXサーバ自体に保持される点のみが異なるようだ。
selectionの中身はペースト側のアプリケーションからの要求が
あったときにのみ渡され、
cut-buffersの中身は即座にXサーバからアクセス可能になるらしい。
さらに、:help quoteplusを読む。
X selectionsにはPRIMARY、SECONDARY、CLIPBOARDの
3種類があり、PRIMARYはvimではヴィジュアルモードに相当し、
CLIPBOARDはカット、コピー、ペースト操作用とのこと。
vimでは、PRIMARYには"*レジスタを、CLIPBOARDには"+レジスタを
使っているようだ(SECONDARYはill-definedであり、vimでは
使っていないとのことである)。
この項のExamples:を読むと、次のことがわかる。
・vimのヴィジュアルモードで選択したテキストは、
他アプリケーションにおいて中ボタンで貼り付け可能
・他アプリケーションで選択したテキストは、
vimにおいて中ボタンで貼り付け可能
・vimで"+レジスタに入れたテキストは、
他アプリケーションのペースト機能で貼り付け可能
(このとき、テキストを選択していた場合は上書き可能であり、
PRIMARYとCLIPBOARDの内容が影響し合わないことがわかる)
ようやく把握した。