Ich habe das folgende Problem: Wenn ich 'Cx rt' (Zeichenfolge-Rechteck) verwende, werde ich aufgefordert, eine Zeichenfolge einzugeben, um das ausgewählte Rechteck zu ersetzen. Sagen wir, ich tippe ";;" (um das Rechteck auszukommentieren). Dies funktioniert einwandfrei, aber wenn ich das nächste Mal die gleiche Funktion aufrufe und durch nichts ersetzen möchte (leere Zeichenfolge), kann ich das nicht tun, weil es "default" string "gibt ;;" das ich vorher benutzt habe, und wenn ich nur drücke, gebe den Befehl ein und benutze das ";;" Zeichenfolge anstelle einer leeren. Wie setze ich es auf leere Zeichenfolge?
Ähnliches Problem hatte ich mit einigen Suchen / Ersetzen-Funktionen. Wie kann ich eine leere Zeichenfolge "eingeben", wenn sie sich an die zuletzt verwendete Zeichenfolge erinnert und diese auf den Standardwert setzt?
EDIT:
Kill-Rectangle, das von YoungFrog erwähnt wurde, löst das spezifische Problem, aber ich hatte ein anderes Problem im Sinn: Grundsätzlich merkt sich Emacs in jeder Funktion den zuletzt eingegebenen Wert und verwendet ihn als "Standard", wenn Sie einfach die Eingabetaste drücken in der Lage, diese "Standardeinstellung" auf die tatsächliche Standardeinstellung zurückzusetzen, bevor Sie die Funktion zum ersten Mal verwendeten. Hier ist ein weiteres Beispiel:
Wenn Sie im dired-Modus "Mx rgrep" wählen, werden Sie nach 3 Eingaben gefragt:
1) Nach was zu suchen ist: was auch immer Sie hier eingeben, wird als Standard verwendet, wenn Sie das nächste Mal rgrep verwenden. Wie bereits erwähnt, macht es keinen Sinn, nach einer leeren Zeichenfolge zu suchen. Das Löschen dieses "Standard" -Werts ist also vermutlich nie erforderlich.
2) Als nächstes wird gefragt, nach welchen Dateien gesucht werden soll. Die Standardeinstellung ist "alle" Dateien. Wenn ich * .txt eingebe und das nächste Mal suche, wenn ich rgrep verwende, wird * .txt als "Standard" verwendet. Jetzt möchte ich dieses "default" * .txt löschen und zu seinem ursprünglichen Standard "all" zurückkehren, so wie ich ";" "default" in der Zeichenfolge-Rechteck-Funktion ist eine echte leere Standardzeichenfolge.
Natürlich könnte dieses spezifische Problem für alle Dateien möglicherweise durch Eingabe von * gelöst werden. Dieses allgemeine Problem besteht jedoch weiterhin bei anderen Befehlen, die sich an den zuletzt verwendeten Wert erinnern.
3) Als nächstes wird nach dem Basisverzeichnis gefragt, hier kein Problem.
So wie ich es sehe, sollte es eine Möglichkeit geben, den verwendeten Wert zu löschen, als ob ich ihn nie benutzt hätte, wenn Emacs versucht, mir zu helfen, indem er sich an meinen zuletzt verwendeten Wert in einem Befehl erinnert (der mir die meiste Zeit sehr hilfreich ist) Befehl vor.
PS Ich bin noch neu in Emacs, und möglicherweise wird die von mir benötigte Funktionalität nicht benötigt, da es immer einen Workaround gibt.
clear rectangle
.
comment-dwim
? Auch die Eingabe einer "leeren" Zeichenfolge für die Suche ist nicht sinnvoll, Sie können jedoch eine leere Zeichenfolge für das Ersetzungselement eingeben. Ich bin gespannt auf weitere Beispiele, bei denen ein Benutzer möglicherweise eine leere Zeichenfolge eingeben muss.
string-rectangle
. Wann immer eine leere Zeichenfolge als mögliche Eingabe sinnvoll ist, sollte es eine Möglichkeit geben, sie einzugeben, im Gegensatz zur Annahme eines Standardwerts. Schauen Sie sich das Dokument für den Befehl genau an (und den Quellcode, falls Sie damit vertraut sind), um festzustellen, ob hier tatsächlich ein Konstruktionsfehler vorliegt. Wenn Sie denken , da ist, dann melden Sie es bitte: M-x report-emacs-bug
.
2)
das können Sie buchstäblich eingeben all
, was sich geringfügig unterscheidet von *
: es passt .*
auch.
delete-rectangle
ist eine Option.