2017-05-09 10 views
0

clipboard=unnamedplusを使用してシステムクリップボードにコピーできます。しかし、ddciwのようなコマンドを使用している場合は、テキストをシステムクリップボードにコピーします。たとえば、テキストをコピーしてciwを使用した場合、置換対象のテキストがシステムクリップボードにコピーされ、元のテキストを再度コピーして貼り付ける必要があります。yankedテキストのみをvimのシステムクリップボードにコピーする

私が望むのは、(y)選択をヤンクした場合、またはyy,yiwなどのコマンドを使用した場合にのみ、システムクリップボードにコピーすることです。

答えて

1

ソリューションは、私の.vimrcでこれを置くことです。

" Use system clipboard by default 
set clipboard=unnamedplus 

" Remap 'c', 'C', 'd', 'D', 'x' and 'X' to save text in a custom register 
nnoremap c "cc 
vnoremap c "cc 
nnoremap C "cC 
vnoremap C "cC 

nnoremap d "dd 
vnoremap d "dd 
nnoremap D "dD 
vnoremap D "dD 

nnoremap x "xx 
vnoremap x "xx 
nnoremap X "xX 
vnoremap X "xX 

私はここで解決策を発見した:これは本当に助けにはならない

1

特定の状況でのみシステムクリップボードにコピーする場合は、clipboardをグローバルに設定する代わりに"*レジスタを使用できます。たとえば、"*yyです。

また、コマンドがシステムクリップボードに送られないようにするには、別のレジスタまたはブラックホールレジスタ"_を使用することができます。

レジスタの詳細については:

+0

を。私は手動でレジスタを使用できることを知っています。私が探しているのは、 'y'コマンドを何とかオーバーライドして毎回' '*'を書く必要なしにクリップボードにコピーすることです。 –

関連する問題