web-dev-qa-db-ja.com

Vim:選択をOS Xクリップボードにコピー

Vimで選択された領域があるとします。どうすればOS Xクリップボードにコピーできますか?

(ヒント:/usr/bin/pbcopyへのパイプを介してOS Xクリップボードに書き込むことができます)

220
ʞɔıu

使用しているvimのバージョンに応じて、+レジスタを使用してクリップボードにアクセスできます。

http://vim.wikia.com/wiki/Mac_OS_X_clipboard_sharing にもあなたに役立つアイデアがあります。

77
Chris AtLee

MacVim およびWindows Gvimの場合、次を~/.vimrcに追加するだけです。

set clipboard=unnamed

これで、yyD、およびPなどのすべての操作がクリップボードで機能するようになりました。 "*または"+をプレフィックスとして付ける必要はありません。

235

クリップボードが有効になっている場合、"*yを押すと、選択した領域をクリップボードにコピーできます

有効かどうかを確認するには、vim --versionで+clipboardまたは-clipboardを探します。たとえば、10.5.6ボックスではデフォルトで有効になっていません。

%which vim 
/usr/bin/vim 
%vim --version 
 VIM-Vi IMproved 7.2(2008 8月9日、2008年11月11日17:20:43コンパイル)
含まれるパッチ:1-22 
 _ [email protected] 
 GUIなしの通常バージョンでコンパイル。 機能が含まれる(+)または含まれない(-):...
-クライアントサーバー -クリップボード + cmdline_compl + cmdline_hist + cmdline_info + comments 
...

+clipboardでコンパイルされていた場合、"*レジスタを使用してシステムクリップボードにアクセスできます。

7.2 source をダウンロードしてコンパイルし(tar xjf vim-7.2.tar.bz && cd vim72 && ./configure && make && Sudo make installとして簡単)、クリップボードが有効になりました:

%which vim 
/usr/local/bin/vim 
%vim --version 
 VIM-Vi IMproved 7.2(2008 8月9日、2009年3月24日17:31:52コンパイル)
 compiled by [email protected] 
 GTK2 GUIを使用した通常バージョン。 機能が含まれる(+)または含まれない(-):...
 + clientserver +クリップボード + cmdline_compl + cmdline_hist + cmdline_info + comments 
...

ただし、コンパイルした後でも、Terminal.appでvimを実行している場合、X11.appでのみクリップボードにコピーできませんでした。

134
rampion

テキストを視覚的に選択して、:w !pbcopy<CR>と入力できます

または、以下のキーマッピングを~/.vimrcファイルに含めることができます。テキストを視覚モードでオペレーティングシステムのクリップボードに切り取り/コピーします。

vmap <C-x> :!pbcopy<CR>  
vmap <C-c> :w !pbcopy<CR><CR> 

ソース: http://drydevelopment.com/blog/vim-pbcopy-on-os-x

94
user242065

二重引用符のアスタリスク("*)yankコマンドが結果をコピーバッファーにヤンクする前に。これはWindowsとLinuxでも機能します。

36
Paul Tomblin

Macos 10.8では、vimは-clipboardでコンパイルされるため、"*yを使用するには再コンパイルが必要です。幸運にもbrew install vimは新しいバージョンを簡単にコンパイルし、+clipboardになります。

25
nikola

テキストを視覚的に選択して入力します。

ggVG
!tee >(pbcopy)

私が見つけたもの:

ggVG
:w !pbcopy

プロンプトが表示されないため、「Enterキーを押すか、コマンドを入力して続行します」

17
James Scriven

MacPortsを使用している場合は、VIMをアップグレードして、クリップボードサポートを含めることができます。

port install vim + x + x11

ここで、「+レジスタ」を使用して、テキストをMacクリップボードに直接ヤンクします。魅力のように機能します。

11
Matt Hughes

私の場合、私はただやらなければなりませんでした:

:set mouse=v

superuser.comの元のソリューションをご覧ください

11
Telmo Dias

MacOS Xを使用している場合:

$ brew install vim
$ vim --version
VIM - Vi IMproved 7.4 [...]

次に、.vimrcに追加します。

set clipboard=unnamed

これで、すべてのコンテンツをクリップボードにコピーするには、vim:%yを実行するだけです。

8
Jose Alban

Homebrew's vim:brew install vimを使用します

Mac(10.10.3 Yosemite以降)には、clipboardフラグが有効になっているnotがないシステムvimが事前にインストールされています。

Vimを自分用にコンパイルしてそのフラグを有効にするか、適切にセットアップされたHomebrewのvimを使用することができます。

これを自分で確認するには、/usr/bin/vim --versionを使用してストックシステムvimをチェックしてください。

次のようなものが表示されます。

$ /usr/bin/vim --version

VIM - Vi IMproved 7.3 (2010 Aug 15, compiled Nov  5 2014 21:00:28)
Compiled by [email protected]
Normal version without GUI.  Features included (+) or not (-):
... -clientserver -clipboard +cmdline_compl ...

-clipboardに注意してください

Homebrewのvimでは、代わりに

$ /usr/local/bin/vim --version

VIM - Vi IMproved 7.4 (2013 Aug 10, compiled May 10 2015 14:04:42)
MacOS X (unix) version
Included patches: 1-712
Compiled by Homebrew
Huge version without GUI.  Features included (+) or not (-):
... +clipboard ...

+clipboardに注意してください

5
Evan

私はちょうど試しました

map <C-x> :!pbcopy<CR>
vmap <C-c> :w !pbcopy<CR><CR>

本当にうまくいきました。

4
user3133576

Vimがクリップボードでコンパイルされていない場合、行全体ではなく選択したテキストをコピーしたい場合、macvimまたは他のGUIをインストールしたくない場合、最も簡単な解決策はこの行を.vimrcに追加することです:

map <C-c> y:e ~/clipsongzboard<CR>P:w !pbcopy<CR><CR>:bdelete!<CR>

使用するには、コピーするテキストを視覚的に選択してから、Control-Cを押します。この行の完全な説明が必要な場合は、 こちらをご覧ください

4
songz

VIMインストールに+ clipboardオプションがあり(:versionで確認できます)、ビジュアルモードで実行できる場合"+ yこれは選択をヤンクしますbuffer +クリップボードです。

次のマップをvimrcに追加しましたが、正常に機能します。

vmap y "+ yこれでできることリーダーキー従うyビジュアルモードでクリップボードにコピーする

nmap p "+ pこれにより、リーダーキーに続くpを使用して、通常モードでクリップボードから貼り付けることができます。

PD:Ubuntuでは、vim-gtkをインストールして+ clipboardオプションを取得する必要がありました。

2
Andrés Hazard

command-C?これは、少なくとも、マウスで選択されたテキストのTerminal.app内から起動されたvimで機能します。

2
mouviciel

Fakeclip は、ネイティブでサポートされていない場合、+および*バッファーを実装します。

2
redacted

私の主な問題は、VIMのデフォルトのosxバージョンでした。 homebrewでインストールすると、ビルドに+clipboardが追加されました。

確認する

vim --version

-clipboardまたは+clipboardと表示されている場合

2
frbl

Macで MacVim を使用すると、標準のOSキーを使用してクリップボードに簡単にアクセスできます。

また、通常のVimとの完全な下位互換性があるため、別の.vimrcを用意する必要さえありません。

2
matpie

私の.vimrcでうまくいったこと

set clipboard=unnamed
if has("unnamedplus") " X11 support
    set clipboard+=unnamedplus
endif
0
maged

Shift cmd c –コピーモードの設定マウスをドラッグ、テキストを選択、cmd cで選択したテキストをコピーCmd vで貼り付け

0
user518066

macで他の何かが動作しているように見える場合-マウスで選択し、右クリックしてコピーを選択します。うん

0
tom

Macの場合-optionキーを押した後、ctrl Vを押しながらテキストを選択するとうまくいきました。

0
markroxor

私は現在OS X 10.9を使用していますが、vimを+ xterm_clipboardでコンパイルしようとしても何ももたらされませんでした。したがって、現在の解決策は、〜/ .vimrcファイルで ターミナルモードのMacVim オプションset clipboard=unnamedを使用することです。私に最適です。

0

私は同じ問題に遭遇しましたが、インストール後macvimはまだ機能していません。最終的に解決する方法を見つけました:

最初にすべてのvimをアンインストールしてください。

brew uninstall macvim

brew uninstall --force vim

そしてmacvimを再インストールします

brew install macvim --with-override-system-vim

次に、"*yまたは"+yを使用できます。set clipboard=unnamedは不要です

0
Bruce

Ubuntuユーザーの場合、クリップボードを使用するために取得するパッケージはvim-fullです。他のパッケージ(vim-tiny、vim)にはクリップボード機能が含まれていません。

0
plowman