Bagaimana cara menambahkan daftar clipboard di vim?

21

Saya sudah tahu bahwa Anda dapat menyalin sesuatu ke register menggunakan: (ditambah perintah menarik, hapus, dll.)

"a

Saya juga mengerti bahwa Anda dapat menambahkan ke register menggunakan:

"A

Selain itu saya mengerti cara menyalin sesuatu ke register clipboard menggunakan:

"+

Apa yang saya ketik untuk ditambahkan ke register clipboard?

Versi vim saya:

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

Jawaban:

10

Tidak ada perintah mode normal untuk itu tetapi Anda bisa menambahkan ke register lain dan :letregister clipboard ke konten register itu:

"Ay
"Ay
"Ay
:let @+ = @A
romainl
sumber
1
Apakah saya akan memasukkannya ke dalam file .vimrc saya?
Jason Basanese
3
Harap dicatat bahwa let @+ = @Amembuang jenis register a. Cara yang benar untuk menyalin register adalah sesuatu seperti ini: call setreg('+', getreg('a', 1, 1), getregtype('a')).
Sato Katsura
//, apakah ini sebenarnya ditambahkan ?
Nathan Basanese
//, Mengapa kamu mendaftar tiga "Ayperintah?
Nathan Basanese
Bisa jadi empat atau dua belas. Contoh saja.
romainl
7

Anda dapat menelepon setreg('+', lines, 'a'), tetapi sejauh yang saya tahu tidak ada cara untuk melakukannya dengan perintah mode normal. Anda harus menggunakan salah satu register huruf besar untuk itu.

lcd047
sumber
Hanya menggunakan :let @+ .= 'XXX'tampaknya berhasil?
Martin Tournoij
7
@Carpetsmoker Ya dan tidak. Telah ada diskusi baru-baru ini tentang hal itu di vim_dev dan tampaknya Anda tidak seharusnya melakukan itu, meskipun mungkin terlihat berfungsi dalam beberapa kondisi. Saya kira itu ada hubungannya dengan isi register yang memiliki tipe (karakter / baris / blok), dan rangkaian string tidak melakukan pembukuan yang diperlukan. Lagipula itu tidak ada bedanya, itu masih bukan perintah mode normal.
lcd047