viで現在の位置から行末にコピーする方法


101

Windowsではgvimを使用しています。viで現在の位置から行末までテキストをコピーし、viで開いた別のファイルに貼り付ける方法。私はそれをググりましたが、これに対する解決策を見つけることができません。これに関するどんな助けにも感謝します。ありがとうございました。

回答:


154

行末に移動する通常モードのコマンドは$です。

で行の終わりまでコピーし、y$で貼り付けることができますp

異なるインスタンス間でコピー/貼り付けするには、*レジスタを選択してシステムクリップボードを使用できます。これにより、コマンド"*y$はコピーおよび"*p貼り付け用になります。

$ 改行に移動

$

y$ yank-to-linebreak

y$

"*y$ clipboard-register yank-to-linebreakを選択します

"*y$

"*p クリップボード登録貼り付けを選択

"*p

詳細:h registersを確認してください。


ありがとう。しかし、viで開いた「別のファイル」に内容を貼り付けたいです。これは同じファイルでのみ機能します。
javalearner '14年

4
同じインスタンス内で開いているファイルに対して機能します。*(または+)レジスタを選択すると、システムクリップボードにコピーできます。
Don Reba、2011年

なぜシステム・レジスタが動作しないことができる...私はコンテキストをコピーすることはできませんfile1file2。それでもマウスを使用する必要があります。おそらくその理由は何でしょうか?
Alston、2015年

8
私は通常D、現在の位置から最後まで切り取りp、元のデータを貼り付け(復元)してから、どこかに移動して、ヤンクしたデータを貼り付けます。単にタイプするDよりもはるかに簡単だからですy$
neevek 2015年

1
@PhilipRego、それはy$セミコロンなしです。
Don Reba

45

ヤンクに改行を含めたくない場合は、を使用できますyg_。(またはあなたの場合、"*yg_

基本的に、$とのg_動きには違いがあることを認識してください。それは私を何度も助けてくれました。


3
とにかく交換することはg_あり$ますか?改行をモーションに含める必要がある場合、私はめったに自分を見つけません。
Jonathan Dumaine 2013

1
はい!余分な改行は私を夢中にさせています。これは必要な情報です。
javadba 2015

6
@JonathanDumaineの$MYVIMRC追加行nmap $ g_
thedanotto

@thedanottoあなたの美しい人
Jonathan Dumaine


3

別の解決策:Dpで貼り付けpます。実際、これは最初に行の終わりまで削除し、同じ場所に再度貼り付けます。それをどこかに貼り付けますp


1
どうしてDuとファイルを変更しないままにしないのですか?(注:これには新しい行が含まれます)
遺伝子
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.