Làm thế nào để một phụ lục vào thanh ghi clipboard trong vim?


21

Tôi đã biết rằng bạn có thể sao chép một cái gì đó vào một thanh ghi bằng cách sử dụng: (cộng với lệnh yank, xóa, v.v.)

"a

Tôi cũng hiểu rằng bạn có thể nối vào sổ đăng ký bằng cách sử dụng:

"A

Ngoài ra, tôi hiểu làm thế nào để sao chép một cái gì đó vào thanh ghi clipboard bằng cách sử dụng:

"+

Tôi gõ gì để nối vào thanh ghi clipboard?

Phiên bản vim của tôi:

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

Câu trả lời:


10

Không có lệnh chế độ bình thường cho điều đó nhưng bạn chỉ cần thêm vào một thanh ghi khác và :letthanh ghi clipboard vào nội dung của thanh ghi đó:

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

1
Tôi có thể đặt nó trong tập tin .vimrc không?
Jason Basan 04/07/2015

3
Xin lưu ý rằng let @+ = @Aloại bỏ các loại đăng ký a. Cách chính xác để sao chép các thanh ghi là như thế này : call setreg('+', getreg('a', 1, 1), getregtype('a')).
Sato Katsura

//, Điều này thực sự nối thêm mặc dù?
Nathan Basanese

//, Tại sao bạn liệt kê ba "Aylệnh?
Nathan Basanese

Nó có thể là bốn hoặc mười hai. Chỉ là một ví dụ.
romainl

7

Bạn có thể gọi setreg('+', lines, 'a'), nhưng theo như tôi có thể nói thì không có cách nào để làm điều đó với các lệnh chế độ thông thường. Bạn phải sử dụng một trong các thanh ghi chữ hoa cho việc đó.


Chỉ sử dụng :let @+ .= 'XXX'dường như để làm việc?
Martin Tournoij

7
@Carpetsmoker Có và không. Đã có một cuộc thảo luận gần đây về nó trên vim_dev và rõ ràng bạn không cần phải làm điều đó, mặc dù nó có thể hoạt động trong một số điều kiện. Tôi đoán nó phải làm với các nội dung đăng ký có một loại (ký tự / dòng / khối) và nối chuỗi không thực hiện việc ghi sổ cần thiết. Dù sao nó cũng không tạo ra sự khác biệt nào, nó vẫn không phải là một lệnh chế độ bình thường.
lcd047
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.