eww如何将指定链接(a标签)在默认浏览器中打开

生成好的a标签排列好,要搜索后打开很多个(上百),在浏览器里,我是ctrl-f搜索后用鼠标点。一次只能打开一个,然后按ctrl+shift+tab回到刚才的页面,继续点下一个。而Ctrl-Shift-Tab这个组合键在用单手频繁按的情况下体验很糟糕。

我决定还是用eww, swiper搜索更方便,打开链接也可以全键盘操作不需要鼠标,然而我需要的是光标移到链接上(a标签)时打开是在默认浏览器里(eww也打不开,因为要验证)

我按 “&”但这个是把当前页面在默认浏览器中打开,而不是光标处的链接在默认浏览器中打开。找了一下没找到,不知道eww有没有把当前光标所在处的链接在默认浏览器中打开而当前页面保持不变的命令

M ret 试试

m-ret,eww-open-in-new-buffer,这个新建一个buffer中用eww打开,也不是在默认浏览器中打开

那你自己实现一个吧,也不复杂。之前写过一个 get-url 的函数,你应该可以直接用

(defun my/get-url (&optional read-prompt)
  (if-let ((u (or (thing-at-point 'url t)
                  (get-text-property (point) 'shr-url)
                  (get-text-property (point) 'image-url)
                  (cadr (get-text-property (point) 'htmlize-link)) ;; org link
                  (pcase major-mode
                    ('eww-mode (plist-get eww-data :url))
                    ('elfeed-show-mode (elfeed-entry-link elfeed-show-entry))
                    ('elfeed-search-mode (elfeed-entry-link (car (elfeed-search-selected))))
                    ('mode nil)))))
      (if read-prompt
          (read-string (format "URL (%s): " u) nil nil u)
        u)
    (when read-prompt
      (read-string "URL: "))))

(defun my/open-url-in-external (url)
  (interactive (list (my/get-url)))
  (eww-browse-with-external-browser url))