vimのクリップボードレジスタにどのように追加しますか?


21

以下を使用して、何かをレジスタにコピーできることをすでに知っています:(さらにヤンク、削除などのコマンド)

"a

また、次のものを使用してレジスタに追加できることも理解しています。

"A

さらに、以下を使用してクリップボードレジスタに何かをコピーする方法を理解しています。

"+

クリップボードレジスタに追加するには、何を入力しますか?

私のvimバージョン:

VIM - Vi IMproved 7.4 (2013 Aug 10, compiled Jan 2 2014 19:39:59) Huge version with GTK2 GUI.

回答:


10

そのための通常モードのコマンドはありませんが、別のレジスタに追加するだけで:let、クリップボードレジスタをそのレジスタの内容に追加できます。

"Ay
"Ay
"Ay
:let @+ = @A

1
そのletを.vimrcファイルに入れますか?
ジェイソンバサニーズ

3
let @+ = @Aレジスタのタイプを破棄することに注意してくださいa。レジスタをコピーする正しい方法は次のようなものですcall setreg('+', getreg('a', 1, 1), getregtype('a'))
佐藤桂

//、これは実際に追加されますか?
ネイサンバサニーズ

//、なぜ3つの"Ayコマンドをリストするのですか?
ネイサンバサネーゼ

それは4または12だったかもしれません。ほんの一例です。
ロメインル

7

を呼び出すことができますがsetreg('+', lines, 'a')、私が知る限り、通常モードのコマンドでそれを行う方法はありません。そのためには、大文字のレジスタのいずれかを使用する必要があります。


使用:let @+ .= 'XXX'するだけで動作するようです?
マーティントゥルノイ

7
@Carpetsmokerはい、いいえ。最近、vim_devで議論されており、ある条件下では機能しているように見えるかもしれませんが、明らかにそうする必要はないようです。タイプ(文字/行/ブロック)を持つレジスターの内容と、必要なブックキーピングを行わない文字列の連結に関係していると思います。とにかく違いはありません、それはまだ通常モードのコマンドではありません。
lcd047
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.