VIエディタでファイルからクリップボードにすべての行をコピーする方法はありますか? *yG
SO の以前の投稿から、+yG
、"+yG
およびを試し:%y+
ましたが、OS X では何も機能しません。
3 に答える
Mac OS X に同梱されているデフォルトの Vim/usr/bin/vi[m]
は、クリップボード サポート付きでコンパイルされていません。
次の 3 つのオプションがあります。
pbcopy
Vimを使わずにコマンドラインから使う$ cat filename | pbcopy
pbcopy
Vim から使用する:%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