Güncelleme
Bu davranış, hata # 34374'te tartışıldı ve 2019-02-15'te birleştirildi .
Emacs 27'de, eww
bir önek argümanı ile çağrılması , ona varsayılan *eww*
arabelleği yeniden kullanmak yerine yeni bir tampon kullanmasını söyler .
Bu işlevin sadece yerleşik olmadığı için şaşırdım. Sadece özlüyor muyum?
Evet ve hayır. Emacs 26'da EWW arabelleklerinde varsayılan olarak bağlı olan komut olarak benzer işlevler eklendi :eww-open-in-new-buffer
M-RET
eww-open-in-new-buffer is an interactive compiled Lisp function in
‘eww.el’.
It is bound to M-RET, <menu-bar> <Eww> <Follow URL in new buffer>.
(eww-open-in-new-buffer)
Fetch link at point in a new EWW buffer.
Tek sorun, yazma sırasında bu komutun yalnızca EWW arabellekleriyle çalışmakla sınırlı olmasıdır. Özellikle, user-error
kullanıcı seçeneği tarafından belirlenen noktada anlamlı bir bağlantı bulunmazsa atar eww-suggest-uris
:
eww-suggest-uris is a variable defined in ‘eww.el’.
Its value is
(eww-links-at-point url-get-url-at-point eww-current-url)
Documentation:
List of functions called to form the list of default URIs for ‘eww’.
Each of the elements is a function returning either a string or a list
of strings. The results will be joined into a single list with
duplicate entries (if any) removed.
You can customize this variable.
This variable was introduced, or its default value was changed, in
version 25.1 of Emacs.
Komutun diğer bir sınırlaması, komutun yaptığı gibi kullanıcıdan bir URL veya arama terimleri eww
istememesidir.
Aşağıda eww
ve arasındaki bu farkları nasıl köprüleyebileceğinize dair basit bir örnek eww-open-in-new-buffer
:
(defun my-eww-new-buffer (url)
"Like `eww', but fetch URL in a new EWW buffer."
(interactive (advice-eval-interactive-spec (cadr (interactive-form 'eww))))
(let ((eww-suggest-uris (list (lambda () url))))
(eww-open-in-new-buffer)))
Ne yapar ilk görüşme olduğunu interactive
Spec ait eww
her zamanki gibi arama terimlerini URL'ler için istemleri veya. Daha sonra eww-open-in-new-buffer
, daha önce girilen URL'lerle veya arama terimleriyle önerilen tek URI olarak çağırır , böylece komut bir öfke nöbeti atmaz.
Bu komut hem EWW arabellekleri içinde hem de olmadan çalışacaktır, böylece eww-open-in-new-buffer
isterseniz varsayılan için bir yedek değiştirme görevi görebilir :
(with-eval-after-load 'eww
(define-key eww-mode-map [remap eww-open-in-new-buffer] #'my-eww-new-buffer))
Her iki durumda da, herhangi bir yerden herhangi bir yerden başlatabilir M-xmy-eww-new-buffer
RETveya daha uygun bir anahtara global olarak bağlayabilirsiniz.
eww
bir önek argümanı ile çağrı için destek ekliyor ; cevabımı aşağıda görebilirsiniz.