Vimで選択された領域があるとします。どうすればOS Xクリップボードにコピーできますか?
(ヒント:/usr/bin/pbcopy
へのパイプを介してOS Xクリップボードに書き込むことができます)
使用しているvimのバージョンに応じて、+レジスタを使用してクリップボードにアクセスできます。
http://vim.wikia.com/wiki/Mac_OS_X_clipboard_sharing にもあなたに役立つアイデアがあります。
MacVim およびWindows Gvimの場合、次を~/.vimrc
に追加するだけです。
set clipboard=unnamed
これで、yy
、D
、およびP
などのすべての操作がクリップボードで機能するようになりました。 "*
または"+
をプレフィックスとして付ける必要はありません。
クリップボードが有効になっている場合、"*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でのみクリップボードにコピーできませんでした。
テキストを視覚的に選択して、:w !pbcopy<CR>
と入力できます
または、以下のキーマッピングを~/.vimrc
ファイルに含めることができます。テキストを視覚モードでオペレーティングシステムのクリップボードに切り取り/コピーします。
vmap <C-x> :!pbcopy<CR>
vmap <C-c> :w !pbcopy<CR><CR>
二重引用符のアスタリスク("*)yankコマンドが結果をコピーバッファーにヤンクする前に。これはWindowsとLinuxでも機能します。
Macos 10.8では、vimは-clipboard
でコンパイルされるため、"*y
を使用するには再コンパイルが必要です。幸運にもbrew install vim
は新しいバージョンを簡単にコンパイルし、+clipboard
になります。
テキストを視覚的に選択して入力します。
ggVG
!tee >(pbcopy)
私が見つけたもの:
ggVG
:w !pbcopy
プロンプトが表示されないため、「Enterキーを押すか、コマンドを入力して続行します」
MacPortsを使用している場合は、VIMをアップグレードして、クリップボードサポートを含めることができます。
port install vim + x + x11
ここで、「+レジスタ」を使用して、テキストをMacクリップボードに直接ヤンクします。魅力のように機能します。
MacOS Xを使用している場合:
$ brew install vim
$ vim --version
VIM - Vi IMproved 7.4 [...]
次に、.vimrcに追加します。
set clipboard=unnamed
これで、すべてのコンテンツをクリップボードにコピーするには、vimで:%y
を実行するだけです。
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
に注意してください
私はちょうど試しました
map <C-x> :!pbcopy<CR>
vmap <C-c> :w !pbcopy<CR><CR>
本当にうまくいきました。
Vimがクリップボードでコンパイルされていない場合、行全体ではなく選択したテキストをコピーしたい場合、macvimまたは他のGUIをインストールしたくない場合、最も簡単な解決策はこの行を.vimrcに追加することです:
map <C-c> y:e ~/clipsongzboard<CR>P:w !pbcopy<CR><CR>:bdelete!<CR>
使用するには、コピーするテキストを視覚的に選択してから、Control-Cを押します。この行の完全な説明が必要な場合は、 こちらをご覧ください
VIMインストールに+ clipboardオプションがあり(:versionで確認できます)、ビジュアルモードで実行できる場合"+ yこれは選択をヤンクしますbuffer +クリップボードです。
次のマップをvimrcに追加しましたが、正常に機能します。
vmap y "+ yこれでできることリーダーキー従うyビジュアルモードでクリップボードにコピーする
nmap p "+ pこれにより、リーダーキーに続くpを使用して、通常モードでクリップボードから貼り付けることができます。
PD:Ubuntuでは、vim-gtkをインストールして+ clipboardオプションを取得する必要がありました。
command-C?これは、少なくとも、マウスで選択されたテキストのTerminal.app内から起動されたvimで機能します。
Fakeclip は、ネイティブでサポートされていない場合、+および*バッファーを実装します。
私の主な問題は、VIMのデフォルトのosxバージョンでした。 homebrewでインストールすると、ビルドに+clipboard
が追加されました。
確認する
vim --version
-clipboard
または+clipboard
と表示されている場合
Macで MacVim を使用すると、標準のOSキーを使用してクリップボードに簡単にアクセスできます。
また、通常のVimとの完全な下位互換性があるため、別の.vimrc
を用意する必要さえありません。
私の.vimrc
でうまくいったこと
set clipboard=unnamed
if has("unnamedplus") " X11 support
set clipboard+=unnamedplus
endif
Shift cmd c –コピーモードの設定マウスをドラッグ、テキストを選択、cmd cで選択したテキストをコピーCmd vで貼り付け
macで他の何かが動作しているように見える場合-マウスで選択し、右クリックしてコピーを選択します。うん
Macの場合-option
キーを押した後、ctrl V
を押しながらテキストを選択するとうまくいきました。
私は現在OS X 10.9を使用していますが、vimを+ xterm_clipboardでコンパイルしようとしても何ももたらされませんでした。したがって、現在の解決策は、〜/ .vimrcファイルで ターミナルモードのMacVim オプションset clipboard=unnamed
を使用することです。私に最適です。
私は同じ問題に遭遇しましたが、インストール後macvim
はまだ機能していません。最終的に解決する方法を見つけました:
最初にすべてのvimをアンインストールしてください。
brew uninstall macvim
brew uninstall --force vim
そしてmacvimを再インストールします
brew install macvim --with-override-system-vim
次に、"*y
または"+y
を使用できます。set clipboard=unnamed
は不要です
Ubuntuユーザーの場合、クリップボードを使用するために取得するパッケージはvim-fullです。他のパッケージ(vim-tiny、vim)にはクリップボード機能が含まれていません。