Sobald ich einen Text ausgewählt habe Alt-w
, kopiere ich die Region und ctrl-y
füge sie ein. Gibt es eine Möglichkeit, etwas einzufügen, das ich Alt-w
vor meiner letzten Einfügung ausgewählt und kopiert habe?
copy-paste
Vass
quelle
quelle
C-y M-y
und wiederholen SieM-y
so oft Sie müssen.undo-tree
Modus.Antworten:
Drücken Sie nach dem Ziehen mit
C-y
,M-y
um den Befehl auszuführenyank-pop
. Wiederholtes Drücken durchläuft diekill-ring
.Zum Beispiel, wenn Sie haben:
und du tötest
Hello
undworld
(du bist, !
gegangen), dann gehst du zur nächsten Zeile und drückst:C-y
world
M-y
Hello
SPCC-y
Hello Hello
C--M-y
Hello world
quelle
M-y
, heißt es, dass der vorherige Befehl kein Ruck waryank
(C-y
) ausführen und dann drücken,M-y
um durchzugehen .C-y
führt den Befehl ausyank
, der dem Konzept des "Einfügens" entspricht. Jedes Mal, wenn Sie Text beenden oder mitC-w
(kill-ring-save
) kopieren , wird er in den Text verschobenkill-ring
. Wenn SieC-y
drücken, wird das erste Element vonkill-ring
eingeblendet und in den Puffer eingefügt. Durch nachfolgendes Drücken vonM-y
(kill-ring-pop
) werden die imkill-ring
.M-w
. Der Befehl ist jedoch richtig.@nanny hat dir die Antwort gegeben. Und wenn Sie
M-y
sagen, dass der vorherige Befehl kein Ruck war, haben Sie wahrscheinlich vergessen, diesC-y
zuerst zu tun . IOW, du machstC-y
zuerst den letzten Kill, was du nicht willst. Dann müssen SieM-y
stattdessen die vorherige herunterladen. Sie können wiederholen,M-y
um rückwärts zu fahren.Allgemeine Informationen zum Kopieren und Einfügen finden Sie im Emacs-Handbuch, Knoten Yanking
kill-ring
.Jedenfalls wollte ich die sekundäre Auswahl erwähnen . Insbesondere kann es sehr praktisch sein, wenn Sie es andernfalls verwenden möchten
C-y M-y
.Die sekundäre Auswahl ist genau das, was sie sagt: eine zweite Auswahl, die nichts mit der Auswahl in der Region in Emacs zu tun hat. Es bleibt verfügbar, unabhängig davon, ob die Region aktiv ist, und ihre Position wird nicht durch Punkt oder Markierung beeinflusst.
Wenn Sie die Bibliothek verwenden, erhalten
second-sel.el
Sie viele der Vorteile derkill-ring
(für die Region) auch für die sekundäre Auswahl. Es fügt die sekundäre Auswahl einem zweiten Auswahlring hinzusecondary-selection-ring
, der dem ähnlich, aber von diesem getrennt istkill-ring
. Außerdem wird verhindert, dass die sekundäre Auswahl zum hinzugefügt wirdkill-ring
, sodass Sie jetzt zwei separate Auswahlverlaufsringe haben.M-y
Anschließend werden Elemente aus dem entsprechenden Ring zyklisch ausgeführt, je nachdem, ob sie einem Ruck der primären (Region) oder dem Einfügen der sekundären Auswahl folgen.quelle
M-w
(Alt-w, wenn Sie so wollen) zum Kopieren verwenden. Wenn Sie dies tun, werdenC-h k M-w
Sie sehen, dass dies anM-w
gebunden istkill-ring-save
, und Sie werden sehen, was dieser Befehl bewirkt - er kopiert die Region in diekill-ring
. Die Textteile, die sich inkill-ring
befinden, werden als "Kills" bezeichnet, unabhängig davon, ob sie durch Töten von Text oder Kopieren von Text (zM-w
. B. Verwenden von ) dort angekommen sind .Die beste Lösung, die ich gefunden habe, ist
helm-show-kill-ring
. Ich habe Helm eine ganze Weile benutzt, bevor mir überhaupt klar wurde, dass es ihn gibt. Ich habe es gebundenM-y
. Es macht es sehr schnell und einfach, vorhandene Einträge zu sehen, sie einzugrenzen und den gewünschten auszuwählen.quelle
Ersetzt nach dem Einfügen
M-y
den eingefügten Text durch zuvor kopierten Text.Wenn Sie
M-y
mehrmals drücken , können Sie den gesamten zuvor kopierten (oder ausgeschnittenen / getöteten) Text durchlaufenquelle
Wenn Sie zuvor kopierte und getötete Textteile leicht sehen und ein oder mehrere solcher Teile auswählen möchten, können diese helfen:
Kill Ring
kill-ring
durchsuchen- Durchsuchen Sie den, um einen Kill zum Ziehen zu wählen. Diese Seite zeigt mehrere alternative Bibliotheken, die dieses Verhalten auf unterschiedliche Weise anbieten. Der wichtigste istbrowse-kill-ring.el
.Eiszapfen -
M-y
: Ziehen Sie entweder vomkill-ring
oder vomsecondary-selection-ring
, je nach dem letzten Typ (Sie benötigen eine Bibliotheksecond-sel.el
für die zweite Alternative). Wenn der letzte Befehl kein Ruck war, ist dies derselbe wieC-- C-y
(siehe weiter).C-- C-y
(C-y
mit einem negativen Präfix arg): Hier können Sie eine beliebige Anzahl von Kills auswählen, die nach Abschluss eingefügt werden sollen. Während der Fertigstellung können Sie verwenden:C-,
die Kandidaten zu sortieren, um auf verschiedene Weise zu ziehen (wiederholen)S-delete
um einen Kandidateneintrag aus dem Auswahlring zu entfernenC-S-return
um einen Kandidaten in den anderen Auswahlring zu kopierenHelm - Siehe @ bluejays Antwort auf dieser Seite.
quelle