web-dev-qa-db-ja.com

終了時にvimがクリップボードをクリアしないようにする

Vimからxtermクリップボードにテキストをコピーすると、vimを終了するとテキストがクリアされます。

これを防ぐにはどうすればよいですか?

8
Clark Gaebel

私は最近、.vimrcのこの1行でこの問題を解決しました(ユーティリティxselが必要です):

autocmd VimLeave * call system("echo -n $'" . escape(getreg(), "'") . "' | xsel -ib")

現在のレジストリテキストをクリップボードバッファに保存します。

7
sgtpep

xclipを使用してこれを行います:

autocmd VimLeave * call system("xclip -o | xclip -selection c")

4
Gris Ge

かなり簡単です。

  1. Gnomeの場合はParcelliteまたはグリッパー、KDEの場合はklipperをインストールします
  2. システムを再起動するか、手動で実行します

詳細とオプションについては、 このページ を参照してください。

1
Soli

代わりに、Shiftキーを押しながら選択してみてください。これは(通常)、マウスイベントをVimに送信する代わりに、テキストを直接コピーするようにターミナルエミュレータに指示します。この方法でVimを終了しても、コピーバッファーの内容が破壊されることはなく、別のアプリケーションを中クリックすると、選択したテキストが貼り付けられます。

これはgVimでは役に立ちません。ただし、+レジスタを使用していることに注意してください。つまり、 すべき クリップボードにアクセスしている。クリップボードは、最後に「書き込んだ」アプリケーションの終了時に破棄されません。このレジスタは ない マウスで中クリックして貼り付けました。 control-v(そのホットキーを使用したクリップボードからの貼り付けをサポートするアプリケーションの場合)を使用するか、右クリックして[貼り付け]を選択します。

0
Heptite

良い答えがなく、Xを実行しているシステムにアクセスして実験することもできませんが、このトピックについては、Vimリファレンスマニュアルで説明しています。

:help x11-selection

テキストをクリップボードにコピーする方法については述べていませんが、*レジスタを使用した場合は、代わりに+レジスタを使用すると役立つ場合があります。

0
garyjohn