web-dev-qa-db-ja.com

vimからMacクリップボードにコピーするにはどうすればよいですか?

あるターミナルウィンドウのvimから別のターミナルウィンドウのvimに貼り付けることはできますが、vimの外部に貼り付けることはできません。私はこの主題に関する多くの投稿を読みましたが、私が見つけたものは何も役に立ちませんでした。 MacVimからのコピー/貼り付けは機能しますが、私はVIMを使用することを好みます。

MacPorts経由でインストールされたOSX10.7.5とVim7.4を使用しています。

vim --version 

+ clipboard、+ x11、+ xterm_clipboardを示しています。

「+ y」、「* y」を視覚的選択と範囲選択の両方と組み合わせて試しました。

私の~/.vimrc 、 私が持っている

set clipboard=unnamedplus,unnamed,autoselect

編集:

解決策が見つかりました!これで、y、yyなどが完全に機能します。 Vimでヤンクしたものは何でも、外に貼り付けることができ、外でコマンドを実行したものは何でも、Vimでpできます。

解決策:FDinofの提案に従って、x11を使用せずにMacPorts経由で再インストールしました。

Sudo -v port install vim + huge

記録のために、私はまだ持っています

set clipboard = unnamedplus、unnamed、autoselect

私の〜/ .vimrcで

ご協力ありがとうございました!

6
Reefersleep

macはx11を使用しないため、クリップボードへのコピーにはx11は必要ありません。 x11なしでvimを再コンパイルします。私の推測では、Mac側からアクセスする方法がわからないx11クリップボードにコピーしていると思います。

MacPortsでは、クリップボードのサポートを機能させるには、巨大なバリアントを使用するだけで十分です。

port install vim +huge
1
FDinoff

Vimのメモリから、他の外部コマンドと同じようにpbcopyとpbpasteを使用できます。現在の行をクリップボードタイプにコピーするには:

:.!pbcopy

1行目から50行目をコピーします

:1,50!pbcopy

クリップボードの内容を現在のvimbuferにコピーするには、次のようにします。

:r !pbpaste
6
Antony

http://vim.wikia.com/wiki/In_line_copy_and_paste_to_system_clipboard

以下の設定をvimrcに入れてください:

vnoremap \y y:call system("pbcopy", getreg("\""))<CR>
nnoremap \p :call setreg("\"", system("pbpaste"))<CR>p

noremap YY "+y<CR>
noremap P "+gP<CR>
noremap XX "+x<CR>

ビジュアルモードでデータをコピーし、通常モードでデータを貼り付けます。

0
hustljian

クリップボードを使用するようにvimを構成するのに多くの問題があり、client-serverオプションなしでhomebrewを介して再インストールするまで、それを機能させることができませんでした。

0
Jason Axelson