W jaki sposób można dołączyć do schowka rejestrację w vimie?


21

Wiem już, że możesz skopiować coś do rejestru za pomocą: (plus polecenie szarpnięcia, usunięcia itp.)

"a

Rozumiem również, że możesz dołączyć do rejestru, używając:

"A

Ponadto rozumiem, jak skopiować coś do rejestru schowka, używając:

"+

Co mam wpisać, aby dołączyć do rejestru schowka?

Moja wersja vima:

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

Odpowiedzi:


10

Nie ma do tego polecenia trybu normalnego, ale można po prostu dołączyć do innego rejestru, a :letrejestr schowka do zawartości tego rejestru:

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

1
Czy umieściłbym to w moim pliku .vimrc?
Jason Basanese

3
Należy pamiętać, że let @+ = @Aodrzuca typ rejestru a. Prawidłowy sposób skopiować rejestrów jest coś takiego: call setreg('+', getreg('a', 1, 1), getregtype('a')).
Sato Katsura,

//, Czy to się jednak rzeczywiście zgadza ?
Nathan Basanese

//, dlaczego wymieniasz trzy "Aypolecenia?
Nathan Basanese

To mogło być cztery albo dwanaście. Tylko przykład.
romainl

7

Możesz zadzwonić setreg('+', lines, 'a'), ale o ile wiem, nie można tego zrobić za pomocą poleceń w trybie normalnym. W tym celu musisz użyć jednego z rejestrów wielkich liter.


Samo używanie :let @+ .= 'XXX'wydaje się działać?
Martin Tournoij,

7
@Carpetsmoker Tak i nie. Niedawno odbyła się dyskusja na ten temat na vim_dev i najwyraźniej nie powinieneś tego robić, nawet jeśli może się wydawać, że działa w pewnych warunkach. Zakładam, że ma to związek z zawartością rejestru mającego typ (znak / wiersz / blok) i łączeniem łańcuchów, które nie wykonują niezbędnej księgowości. To i tak nie robi żadnej różnicy, nadal nie jest poleceniem w trybie normalnym.
lcd047,
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.