Oft kopiere ich einen Codeausschnitt aus dem Internet in die Zwischenablage meines Betriebssystems. Dann mache ich die folgenden einfachen Schritte:
- Wechseln Sie zu meinem Emacs-Fenster
- Suchen Sie die Stelle, an der der Code eingefügt werden soll
- Verwenden Sie
C-y
(yank
), um den kopierten Text einzufügen.
Manchmal stelle ich jedoch (zu meiner großen Enttäuschung) fest, dass ich versehentlich einen Kill-Befehl (wie kill-word
oder kill-line
) verwendet habe, während ich in Schritt 2 war. In solchen Fällen gelangt der kopierte Text aus der "Zwischenablage" niemals in den Kill Ring.
Kann ich sicherstellen, dass kopierter Text aus anderen Anwendungen immer in meinen Kill Ring gelangt?
Ich arbeite am häufigsten unter Linux, benutze aber auch regelmäßig Emacs unter Windows und Mac OS X, daher ist eine OS-unabhängige Antwort vorzuziehen.
copy-paste
clipboard
Nispio
quelle
quelle
Antworten:
Sie müssen sich anpassen
save-interprogram-paste-before-kill
ant
. Dies wird Ihre Zwischenablage auf den Killring schieben, falls Sie etwas in Emacs töten, bevor Sie die Zwischenablage einfügen. Eine verwandte Anpassung ist,yank-pop-change-selection
die Ihren aktuellen Ruck in Emacs in die Zwischenablage schiebt. Damit beide funktionieren, müssen Siex-select-enable-clipboard
(ersetzt durchgui-select-enable-clipboard
in Emacs 25.1)t
die Standardeinstellung sein.Dies ist standardmäßig deaktiviert, um zu verhindern, dass versehentlich große Datenmengen auf den Killring übertragen werden, der im Gegensatz zur Zwischenablage, die leicht ersetzt werden kann, während der gesamten Sitzung bestehen bleibt.
quelle
save-interprogram-paste-before-kill
scheint genau das zu tun was ich will!gui-select-enable-clipboard
heißt ebenselect-enable-clipboard
.Eine andere Lösung ist, wenn möglich, nur das CLI-Tool zu verwenden.
pbcopy / pbpaste auf dem Mac
getclip / putclip auf Cygwin
Der Vorteil dieser Lösung ist, dass die Zwischenablage immer verwendbar ist (zum Beispiel, wenn Sie Remote-ssh verwenden).
Meine Antwort besteht aus zwei Teilen. teil eins stellt einige nützliche werkzeuge zum manipulieren der zwischenablage vor. Teil zwei beantwortet Ihre ursprüngliche Frage (Zwischenablage in Kill Ring speichern).
TEIL EINS
Füge den folgenden Code in deine ~ / .emacs ein:
ZWEITER TEIL
Füge den folgenden Code in deinen ~ / .emacs ein und benutze von nun an "Mx paste-from-clipboard-and-cc-kill-ring", um Folgendes einzufügen:
quelle