M-x eww
fordert zur Eingabe von URLs oder Schlüsselwörtern auf und öffnet einen neuen *eww*
Puffer. In eww-mode
, G
ist gebunden an eww
, was den Inhalt des einzelnen eww-Puffers ersetzt.
Um mehrere Puffer für verschiedene Webseiten zu erstellen, habe ich einen neuen Puffer erstellt, eww-mode
manuell eingestellt und dann G
(oder M-x eww
) gedrückt , um eine URL aufzurufen.
Ich kann leicht eine Funktion schreiben, die all dies für mich erledigt, aber ich bin überrascht, dass diese Funktionalität nicht nur integriert ist. Vermisse ich es nur?
eww
mit einem Präfixargument. siehe meine Antwort unten.Antworten:
Sie haben Recht, dass
eww
nicht automatisch neue Puffer für Sie erstellt werden. Aber ich habe diesen Trick von ergoemacs.org benutzt und er funktioniert großartig!Mit der folgenden Bewertung wird jedes Mal, wenn Sie dies
M-x eww
aus einem Nicht-Eww- Puffer heraus tun , ein eindeutiger Eww-Puffer erstellt.Wenn Sie einen neuen eww-Puffer erzeugen möchten, während Sie sich in einem eww-Puffer befinden, überprüfen Sie die folgenden Hinweise (Sie müssen die obigen Hinweise noch bewerten, damit neuen
eww
Puffern eindeutige Namen zugewiesen werden).quelle
rename-uniquely
, die effektiv ist, wenn icheww
aus einem Nicht-EwW-Puffer aktiviere . Wenn ich mich jedoch in einem eww-Puffer befinde, wird der Hook nicht ausgelöst, da sich der Modus nicht ändert. Zumindest denke ich, dass das passiert.M-x eww
aus einem Nicht-Eww-Puffer tun . Es war nicht klar, ob Sie beabsichtigten, einen neuen Eww-Puffer in einem Eww-Puffer zu erzeugen. Ich werde die Lösung aktualisieren, wenn mir etwas einfällt. Ich bin auch auf dem neuesten Stand von Master.eww
Funktion im Quellcode zu sehen :(pop-to-buffer-same-window (if (eq major-mode 'eww-mode) (current-buffer) (get-buffer-create "*eww*")))
.Es scheint darauf
eww
ausgelegt zu sein, dieses Verhalten zu vermeiden. Diese Funktioneww-new
kann aufgerufen werden, wenn ein neuer eww-Puffer gewünscht wird:quelle
Aktualisieren
Dieses Verhalten wurde in Fehler # 34374 besprochen und am 15.02.2019 zusammengeführt .
Wenn Sie in Emacs 27
eww
mit einem Präfixargument aufrufen , wird ein neuer Puffer verwendet, anstatt den Standardpuffer*eww*
wiederzuverwenden.Ja und nein. In Emacs 26 wurde eine ähnliche Funktionalität hinzugefügt wie der Befehl
eww-open-in-new-buffer
, an den M-RETstandardmäßig in EWW-Puffern gebunden ist :Das einzige Problem ist, dass dieser Befehl zum Zeitpunkt des Schreibens nur in EWW-Puffern ausgeführt werden kann. Insbesondere wird ein
user-error
Punkt ausgelöst, wenn an der Stelle kein aussagekräftiger Link gefunden wird, wie durch die Benutzeroption festgelegteww-suggest-uris
:Eine weitere Einschränkung des Befehls besteht darin, dass der Benutzer nicht wie im Befehl nach einer URL oder Suchbegriffen gefragt wird
eww
.Hier ist ein einfaches Beispiel, wie Sie diese Unterschiede zwischen
eww
und überbrücken könneneww-open-in-new-buffer
:Was dies bedeutet ist erster Aufruf der
interactive
Spezifikation voneww
, die Eingabeaufforderungen für URLs oder Begriffe wie gewohnt suchen. Anschließend wirdeww-open-in-new-buffer
mit den zuvor eingegebenen URLs oder Suchbegriffen als einziger vorgeschlagener URI aufgerufen, sodass der Befehl keinen Wutanfall auslöst.Dieser Befehl funktioniert sowohl innerhalb als auch außerhalb von EWW-Puffern, sodass er als Ersatz für die Standardeinstellung dienen kann
eww-open-in-new-buffer
, wenn Sie Folgendes bevorzugen:In beiden Fällen können Sie es von überall aus aufrufen M-x
my-eww-new-buffer
REToder global an einen bequemeren Schlüssel binden.quelle
Ich habe ein bisschen RP Dillon Snippet erweitert. Was es zu einem guten Kandidaten macht, Alias wie zu erstellen
(defalias 'w #'af/eww)
und eww mit der folgenden Funktion zu öffnen. Der einzige Unterschied besteht in der bedingten Überprüfung, ob der*eww*
Puffer bereits vorhanden ist. Dann wird ein neuer erstellt, wenn nicht der nativeeww
aufgerufen wird.quelle
Ich benutze Emacs 25.1 und die
eww-open-in-new-buffer
Funktion ist nicht da. Daher muss ich den eww-Puffer, in dem ich mich befinde, umbenennen, normalerweise mit einem einfachen Titel über die Seite, in der ich micheww
befinde , und erneut aus einem anderen in Emacs geöffneten Puffer aufrufen (z. B. aus dem Puffer im Puffermodus oder aus dired-Puffern). Von Grund auf neu bringt mich ein anderes Dokument zu einem anderen eww-Puffer. Zum Schluss gehe ichS
zur eww Pufferliste, um dort auszuwählen. Seltsam, aber es funktioniert und mit wenigen Schritten. Ich frage mich, warumeww-new
nicht von Anfang an eingebaut wurde. Natürlich ist es mit dem obigen Code sauberer, ich werde es versuchen. Ich bin froh zu sehen, dass die Funktion in Emacs 26 hinzugefügt wurde.quelle
eww
mit einem Präfixargument jetzt ein neuer EWW-Puffer erstellt. siehe meine Antwort oben.M-x rename-uniquely
.