VIエディタでファイルからクリップボードにすべての行をコピーする方法はありますか? *yGSO の以前の投稿から、+yG、"+yGおよびを試し:%y+ましたが、OS X では何も機能しません。
3 に答える
Mac OS X に同梱されているデフォルトの Vim/usr/bin/vi[m]は、クリップボード サポート付きでコンパイルされていません。
次の 3 つのオプションがあります。
pbcopyVimを使わずにコマンドラインから使う$ cat filename | pbcopypbcopyVim から使用する:%w !pbcopyクリップボードをサポートする独自の Vim を入手する
MacPortsまたはHomebrewを介して、 MacVimをダウンロードするか、ソースからビルドすることで、これを行うことができます。
また、特定のレジスタを使用する正しい方法yは です"{register}y。
$ man pbcopyターミナルと Vim で参照し:help clipboardて:help !ください。
G単に「ファイルの最後に移動する」ことを意味し、前に引用符が必要である*か+、クリップボードレジスタとして有効にする必要があります。あなたはもっと似たものを探していますgg"*yG:
gg- ファイルの先頭に移動
"*-*レジスターを使用する
y- ヤンクを開始
G- ファイルの最後に移動
:!cat % | pbcopyまたは、romainl が提供する優れたソリューションと変わらないものを使用することもできます。
vim --バージョン | grep clipboard で「-clipboard」と表示されていれば、それはできません。あなたのvimはそれをサポートしていません。ソースコードを再コンパイルする必要があります。</p>
コンパイル
$./configure \ --enable-gui=auto --with-features=huge --with-x
$ make && sudo make install