Wie kann ich ausgeschnittenen Text an die Zwischenablage/den Puffer von Nano/Vi anhängen, anstatt den dort vorhandenen Text zu ersetzen?

Wie kann ich ausgeschnittenen Text an die Zwischenablage/den Puffer von Nano/Vi anhängen, anstatt den dort vorhandenen Text zu ersetzen?

Ich organisiere derzeit die Liste der ArchLinux Pacman-Mirrors neu, um alle US-Server an den Anfang zu bringen, aber das geht extrem langsam. Für jeden einzelnen Server scrolle ich nach unten zum nächsten US-Server auf der Liste, schneide ihn aus, gehe zurück zum Anfang, füge ihn ein und so weiter.

Ich habe das Gefühl, dass es für mich eine Möglichkeit geben sollte, von unten zu beginnen und jeden US-Server, den ich sehe, in einen kumulativen Puffer zu schneiden, bevor ich alles auf einmal oben in die Datei einfüge.

Ich weiß, dass Sie bei Nano den Befehl „Cut“ mehrmals verwenden können, um dem Cutbuffer mehrere Male etwas hinzuzufügen, aber das gilt nur für Zeilen, die direkt nebeneinander liegen.

Antwort1

In Vim können Sie verwenden:globalZu:movealle passenden Zeilen nach oben:

:global/United States/move 0

Beachten Sie jedoch, dass dadurch die Reihenfolge der verschobenen Zeilen umgekehrt wird.


Ein anderer Ansatz, der eher Ihrer Frage entspricht, ist das Schneiden der Linien in einebenanntes Register(:help quote_alpha). Die Großbuchstabenvarianten hängen Deletionen an und akkumulieren sie daher:

:let @a = "" | global/United States/delete A

Anschließend kannst du das Register oben einfügen (diesmal in der Originalreihenfolge):

:0put a

verwandte Informationen