Ist es möglich zu verhindern, dass kill-ring
Leerzeichen / Leerzeilen gespeichert werden? Gerade jetzt, nachdem ich ein paar Änderungen vorgenommen und dann zu gegangen browse-kill-ring
bin, sehe ich oft so etwas:
-------
-------
merchant_uuid: "some_uuid"
-------
it "creates a webhook" do
-------
-------
-------
Gibt es eine Möglichkeit, Kill-Ring zu zwingen, nur sinnvolle Inhalte anzuhängen?
helm-show-kill-ring
und es scheint leere Kill-Ring-Einträge herauszufiltern. Ich kann immer noch ein paar Leerzeichen ziehen, also +1 für die Frage.kill-do-not-save-duplicates
, das verhindert, dasskill-new
zweimal hintereinander dasselbe zum Kill Ring hinzugefügt wird.Antworten:
Hier ist ein Ansatz für den Umgang mit leeren (dh nur Leerzeichen) Kills. Anstatt sie vollständig herauszufiltern, wird höchstens ein leerer Eintrag im Kill Ring zugelassen. Jeder neue Kill überprüft den Kopf des Kill-Rings und ersetzt ihn, wenn er leer ist.
Beachten Sie, dass ich hier den Emacs 24.4+ -Ratgebermechanismus verwende, um die Argumente zu filtern, an die schließlich übergeben wird
kill-new
.Der Effekt ist, dass Sie immer noch eine Reihe von Leerzeichen töten und ziehen können. Wenn Sie jedoch einige Leerzeichen töten und dann etwas anderes töten, wird der Leerzeicheneintrag verworfen.
quelle
kill
,kill-ring-save
usw. Wenn Sie Befehle, die ohne Aufruf zum Kill - Ring hinzufügtkill-new
dann wird es nicht funktionieren, natürlich.Ein Problem ist, dass jeder Befehl das ändern kann,
kill-ring
so dass der einzige Haken, der dazu mächtig genug ist, der istpost-command-hook
. Dies ist ineffizient, aber AFAIK ist der einzige Weg, dies mit Strenge zu tun. Wenn das für Sie gut klingt, können Sie dies tun:Aus Gründen der Effizienz gehe ich davon aus, dass alle Befehle an das angehängt
kill-ring
werden. Dies ist wahrscheinlich sicher. Beachten Sie jedoch, dass eine Funktion Text an einer beliebigen Stelle in das Feld einfügen kannkill-ring
. Dies ist jedoch selten und ich bin sicher, dass Sie nicht bei jedem Befehl den gesamten Kill-Ring durchlaufen möchten.quelle