Kopieren Sie von einem Register in ein anderes

91

Wie kopiere ich den Inhalt eines Registers in ein anderes, ohne ihn in die Zwischenablage einzufügen? Ich hatte einen Text gerissen und er wurde in das Standardregister gerissen ". Jetzt möchte ich einen anderen Text kopieren, ohne das "Register zu löschen / zu überschreiben . Ich möchte also den Inhalt des "Registers verschieben, um etwas zu sagen, aoder bmich registrieren, damit ich den neuen Text darin kopieren kann ". Wie macht man das?

bluegenetisch
quelle

Antworten:

114

Um Werte zwischen Registern zu kopieren oder auszutauschen, können Sie den Befehl : let verwenden , um beispielsweise den Inhalt des bRegisters zu kopieren a:

:let @a=@b

Oder kopieren Sie den Inhalt des "Registers nach a:

:let @a=@"

In diesem Vim-Tipp finden Sie einige gute Vorschläge für die Schlüsselzuordnung:

CMS
quelle
1
Irgendwie kann ich das nicht zum Laufen bringen. Ich habe ein ziemlich minimales Vim auf diesem Mcahine. Hier sind einige meiner Einstellungen. VIM - Vi IMproved 7.0 (2006, 7. Mai, kompiliert am 5. März 2011, 21:36:07 Uhr) Enthaltene Patches: 1, 3-4, 7-9, 11, 13-17, 19-26, 29-31, 34-44 , 47, 50-56, 58-64, 66-73, 75, 77-92, 94-107, 109, 202, 34-237 Zusammengestellt von <[email protected]> Winzige Version ohne GUI.
Paul
1
@Paul, soweit ich mich erinnere, unterstützen die kleinen und winzigen Funktionssätze von Vim den :letBefehl nicht.
CMS
Können Sie erklären, was @tut?
Gqqnbig
@ist die Art und Weise, mit Registern als Variablen zu arbeiten. Siehe :help let-registerfür Details. Sie können sich das einfach als @adie Variable vorstellen, in der das Register agespeichert ist.
Cincodenada
7

Sie können so etwas tun:

let @a = getreg('"')

Dadurch wird das "Register in das aRegister kopiert .

derobert
quelle