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?

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:


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 <bugzilla@redhat.com> 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 .

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.