タイトルで述べたように、vimからシステムクリップボードにコピーすることはできません。 Viceversaは動作します。外部のvimからコピーし、p
で貼り付けても問題ありません。
クリップボードサポートをインストールしました。vimバージョンは7.3.429です。
$ vim --version | grep clip
+clientserver +clipboard +cmdline_compl +cmdline_hist +cmdline_info +comments
+xsmp_interact +xterm_clipboard -xterm_save
私は持っています:
set clipboard=unnamedplus
私の.vimrc
で、それは私がするときに設定されます:
set clipboard?
または
:echo has('clipboard')
Ubuntu 12.04 LTS、およびgnome-terminal
内のvimを使用しています(GVimにも同じ問題があります)。何か案が?
ありがとう
これは私のために働くものです(Ubuntu 13.10):
Vimをvim-gtkとして再インストールします。
Sudo apt-get install vim-gtk
マウスを使用して必要なものを選択し、と入力してクリップボードにコピーします:
"+y
クリップボードからvimに貼り付けるにはタイプ:
"+p
理由はわかりませんが、vim --version
の出力を比較すると、通常のvimインストールはvim-gtkと比較してかなり制限されていることがわかります。 vimをvim-gtkに置き換えても、プラグには影響しませんでした。
さらに詳しい情報:
この質問を検索する他の人にとって重要である可能性があるため、元の答えを以下に残します。
要するに、すべての答えに適合するサイズではないようですが、「set clipboard = unnamedplus」を使用すると、「* p」または「+ p」のいずれかが「システム」クリップボードから機能するはずです。
「* p」はほぼ間違いなくあなたが望むものです。 ( ここから )
vimはcliプログラムです。 gnome-terminal(または任意のターミナルエミュレーター)内で使用する場合、crtl + c(または任意のキーの組み合わせ)は最初にターミナルエミュレーター、次にシェル、最後にプログラム(この場合はvim)によって処理されます。 ctrl + cは実行中のタスクにSIGINTシグナルを送信するため、vimとctrl + cはほとんど確実に機能しません。 vimはSIGINTを使用して、挿入モードの中止や検索機能の停止など、他のことを停止します。
言い換えると。 Ctrl + Cが実際にVIMに渡されることはありません。 SIGINTはVIMに渡されます。 SIGINTにはvimの他の用途があるため、コピーに使用することはおそらく機能しません(そして、たとえそれを強制することができても、良い考えではありません)。
代わりに、Ctrl + Shift + CおよびCtrl + Shift + Vを使用してみてください(他にもありますが、システムクリップボードにテキストを入れると思います)
公平を期すために、私はgvimについてあまり知りません。
Vimrcで使用します。
set mouse=a
マウスで手動で選択してコピーできるようになります。
受け入れられた答え に加えて、SSH経由でリモートで作業している場合(たとえば、コピーするtmux
プロセスが異なる複数のペインでvim
を使用している場合) vim
がxterm-clipboard
を使用して異なるプロセス間をインターフェースするため、Xディスプレイをエクスポートします。 Xディスプレイを設定するには、次を実行します
export DISPLAY=:0.0
これは、実行する必要がありますbeforevim
を起動し、他のシェルの下で実行します。
Ubuntu 16.04でvim-gui-common
が機能するためには、"+y
がインストールされている必要があります。