ファイル全体をヤンク


126

私はしばしばgVimで何かを書き、それを別のアプリケーションにコピーして貼り付ける必要があります。

ファイル全体をヤンクする簡単な方法はありますか?私は通常このようなことをします

ggVG"+y

(上に移動、視線モード、下に移動、ヤンク)

しかし、私が見逃しているより良い方法はありますか?

回答:


201

次の手順を使用します。 :%y+


6
+は何をしますか?
VoY

5
クリップボードに関するレジスタです。OPが彼の質問で使用したのと同じもの。=> :h :y:h registers
Luc Hermitte

5
@VoY:この「+クリップボード」を機能させるには、クリップボードのプロパティをVimにコンパイルする必要があります。これは、「external-clipboard-in-some-window-managerのすべての機能」を意味します。このプロパティはデファクトではありませんが、gVimなどのデファクトであるように見えるグラフィックvimが付属しています。私が間違っている場合は修正してください(Windows gVimでyankを使用する必要があるときにこのことに気付いたので、もちろん完全に確信が持てませんが、これはプロパティだと思います)。
HHH

8
+レジスタがubuntu 11.04+で機能しない場合は、gVimをインストールしてみてください(apt-get install vim-gnome)。+ clipboardプロパティをvimのターミナルバージョンにも提供します
adharris

3
以前はそうgg"+YGでしたが、元のラインを失っていたので好きではありませんでした。これは完璧です!
2016

56

ggyG (最初の行に移動し、最後の行にヤンクします)

編集:ああ、システムクリップボード。指から離れるわけではありませんが:gg"+yG


1
:%y +ではなく、これでうまくいきます。しかし、それをリモートからローカルホストに貼り付けるにはどうすればよいですか?:)
2011

1
したがって、基本的にこのコマンドはドキュメントの上部に移動し、ドキュメントの下部にヤンクしますか?「ここで何をしますか?
geoyws '09 / 09/17

1
@Geoyws "は、レジスタを操作したいと言っています。"+システムのクリップボードに関連付けられているレジスターです。"+yGファイルの最後まですべてをこのレジスターにヤンクします。:help "+
Annika Backstrom 2014

15

古いviで機能するソリューション:r filenameは新しいファイルにあります。


5
これは質問に対する答えではありませんが、の答えでした。ありがとうございました。

2
私は、ファイルの開始時に、それを貼り付けるためにゼロを追加する必要があります:0r filename
Akkerデンステファン・バン



6

次の手順を使用します:%y


...ウィンドウマネージャーの別のウィンドウではありません。+最後に、それを外部クリップボードにヤンクします(どうやらオペレーションが試みていることです)
hhh



3

OSXの場合:

ggVG
!tee >(pbcopy)

私はそれよりも良いと思います:

ggVG
:w !pbcopy

プロンプトが表示されないため: " Press ENTER or type command to continue"


1

:%yなし+、システム全体にわたる作品あなたが使用している場合はネオVIM(nvimを)。

これにより、指を伸ばすことを避けることができます+-実際には、このショートカットの方が優れていggyGます。


0

実行頻度に応じて、このキーをマップし、オプションでvimrcに追加します

:nnoremap <F5> :%y

または

:nnoremap <leader><whatever> :%y

または、安全で最速であることがわかっているキーをすべてマッピングソースに追加します。これよりも優れている点ggyGは、カーソルが移動しない(速い)ことと、カーソル位置を維持するために、<Ctrl-o><Ctrl-o>

vimrc内でない限り、コマンドはセッションベースであることを忘れがちです。多くのことをいつ行うかをよく知っていますが、デフォルトとしてそれを必要とせず、:[mode]remap <whatever> <whatever>

必要に応じて、vimを閉じて再度開くことができます。

場合は<Ctrl-A><Ctrl-C>あなたのための作品は、あなたがあなたの元にmswin.vimを使用し、増分のパワーに負けている<Ctrl-a>とデクリメント<Ctrl-x>(とりわけ)操作。私はWindowsで起動し、mswin.vimの使用をやめました。私は個人的には、Vimを正しい方法で握ってから、本当に必要な松葉杖を追加するのが最善だと感じています:P


2
Stackoverflowへようこそ。エディターはフォーマットをサポートしているため、コード例(使用したコマンドなど)をバッククォート(`)またはコードブロックで囲むことを検討してください。
JanKundrát

-1

ダーティですが、Shiftキーを使用する必要はなく、3つの異なるキーだけを使用する方が高速です。

gg1111yy

(ファイルが1111行より短いと仮定)


-2

Windowsでは、CTRL-A、CTRL-Cを実行してすべてをWindowsのクリップボードにコピーすることがよくあります...それ以上のことはできません!

私はウェブサイトから標準のgvim 7.1を使用しています...

(ところで:MacVimを搭載した私のMacでも動作し、その面白いmac-key + A、mac-key + C)


1
Windows gvimは、他のバージョンにはないいくつかの追加のショートカットを追加して、Windowsユーザーにうまく適合するようにします。ctrl + a、ctrl + cはそれらの2つの例です。
davr 2009年

9
うーん、ctrl-cは端末ユーザーにとってまったく異なる意味を持っています。
熊Chiamiov

確かに、しかしウィンドウの場合はウィンドウと同じようにしてください:)ただ言うと、gvimとMacVimはプラットフォームの標準のクリップボードショートカットを尊重します-それらの使用にも問題はありません....
Daren Thomas

4
このようなショートカットを使用する場合は、vimをまったく使用しないこともできます。
VOY

1
CTRL-Aは、カーソルの下の数値を増やします。
Alexcp 2013
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.