
作者改用 Emacs 内置浏览器 EWW 上网,称可满足 85-90% 日常需求
来源标题:Emacs Is My Browser
一位 Emacs 用户尝试用内置文本浏览器 EWW 作为日常上网工具,使用几天后发现它能覆盖约 85-90% 的使用场景,即便面对大量依赖 JavaScript 的网站。他认为现代浏览器容易让人分心、陷入信息兔子洞,而 EWW 这类终端浏览器能有效减少干扰。他还主张摆脱 Discord 等封闭平台对网络讨论的限制。
以下正文由 AI 翻译自 Hacker News 最新(原文版权归原站所有),可能存在偏差,重要内容请以原文为准。
在我日益渴望将 Emacs 作为唯一计算环境的过程中,我开始更加认真地对待在它里面浏览网页这件事。以前我认为 EWW 不过是个花哨的小玩意儿,远谈不上好用,但用了几天之后,它似乎能满足大约 85-90% 的使用场景——即便是在那个满是 JavaScript 的互联网泥潭里也是如此。
从我自己使用现代浏览器(chromium/firefox)的经验来看,人太容易分心了——太容易偏离正轨,掉进占据我一整天的兔子洞。无穷无尽的推荐告诉我该如何打发时间,数不清的诱人玩意儿让我把目光从真正宝贵的东西——创造力与深度——上移开。而用 EWW(或者任何终端浏览器,非 Emacs 用户可以用 lynx 或 browsh),这一点被极大地抑制了。
除此之外,我认为我们应该努力摆脱互联网的第 8 层——那些限制性的社交平台前端,以及网络上被锁起来的、限制真正交流的角落(Discord,说的就是你)。我们向大型科技平台让渡了太多,换回来的却毫无价值,以至于现在很多人都觉得互联网正在死去。
互联网只是一种传输机制,而对于看清它本质的人来说,互联网从未如此充满生机。我真心推荐大家像 1999 年那样使用互联网。
甚至在我的手机上,我也已经不再使用 JavaScript 前端,而是拥抱在 Emacs(运行于 termux)里用 eww,只有大约 5-10% 的场景才会退回 fennec:
我发现这种上网方式的信噪比远高于任何其他方法,让我能够查资料、读文档,产出更多。
给不了解的人说明一下,Emacs 自带 EWW(Emacs Web Wowser),让你可以直接在 Emacs 里浏览网页,支持图片和 gif(gif 是什么时候消亡的?如今我几乎见不到它们了!)。
我设置了一些合理的默认值以便使用,比如用 B 后退、用 U 复制所在位置的 URL,以及一些内置函数。
按 R 会调用 eww readable,类似于 firefox 的阅读模式,会去掉页眉页脚,专注于页面上的正文。很有用。
你可以用 & 把页面发送到默认浏览器。如果某个页面渲染效果不佳,这是个不错的兜底方案。
D 会把图片下载到本地,b 返回上一页,a 会保存书签。这一切让在 eww 中浏览变得真正愉快。
我还设置了用 Emacs 打开 .pdf,用 mpv 打开 .mp4 以及 youtube/视频托管链接,用 elpher 打开 gopher/gemini 链接。Elpher 之于 gopher 和 gemini 协议,就像 EWW 之于网页——那是全是信号、没有噪音的 smolweb。
EWW 使用 Shr 来渲染 HTML,所以你会在我下面的配置中看到一些对它的调用:
以下是我在 Emacs 配置中设置 EWW 的方式: (setq eww-search-prefix "https://searx.labrynth.org/search?q=") (setq eww-download-directory (expand-file-name "~/Downloads/")) (defun my-browse-url-mpv (url &rest _args) "Open URL in mpv." (start-process "mpv" nil "mpv" url)) (defun my-browse-url-pdf (url &rest _args) "Fetch remote PDF and open in pdf-tools within Emacs." (let ((tmp (make-temp-file "emacs-pdf-" nil ".pdf"))) (url-copy-file url tmp t) (find-file-other-window tmp) (pdf-view-mode))) (setq browse-url-handlers '(("\(youtube\.com\|youtu\.be\|vimeo\.com\|twitch\.tv\)" . my-browse-url-mpv) ("\.mp4$" . my-browse-url-mpv) ("\.pdf$" . my-browse-url-pdf) ("^gemini://" . elpher-browse-url-elpher) ("^gopher://" . elpher-browse-url-elpher) ("." . eww-browse-url))) ;; Keep your fallback setting (setq browse-url-secondary-browser-function 'browse-url-generic browse-url-generic-program "chromium") (with-eval-after-load 'eww (define-key eww-mode-map (kbd "=") #'text-scale-increase) (define-key eww-mode-map (kbd "-") #'text-scale-decrease) (define-key eww-mode-map (kbd "0") #'text-scale-adjust)) (setq shr-width 100) (setq shr-max-width 120) (setq shr-indentation 4) (setq shr-use-fonts nil) (setq shr-max-image-size '(800 . 600)) (setq shr-image-animate t) (defun my/eww-download-image-at-point () "Download image at point to `eww-download-directory'." (interactive) (let ((url (or (get-text-property (point) 'image-url) (get-text-property (point) 'shr-url)))) (if (not url) (message "No image at point") (let* ((filename (file-name-nondirectory (url-filename (url-generic-parse-url url)))) (dest (expand-file-name filename eww-download-directory))) (url-copy-file url dest t) (message "Saved: %s" dest))))) ;; Keybinds (with-eval-after-load 'eww (define-key eww-mode-map (kbd "b") #'eww-back-url) (define-key eww-mode-map (kbd "a") #'eww-add-bookmark) (define-key eww-mode-map (kbd "U") #'shr-copy-url) (define-key eww-mode-map (kbd "D") #'my/eww-download-image-at-point)) (provide 'browser)
我的默认搜索引擎是我自己的 Searx 实例,这是一个尊重隐私的前端,聚合了所有其他搜索引擎。
你不会用它看 youtube 视频或读推文(x.com 对不支持 JS 的浏览器很不友好)。你不会用它使用社交媒体,也不会登录任何平台。你不会用它做网上银行、填写政府表格或查看客户门户。
它的用途是快速网页搜索、查阅文档,以及一般性的读博客。再说一次,在任何网页上按 & 都会调出你的默认浏览器,当你确实遇到在 EWW 中运行不佳的页面时,可以在 chromium 或 firefox 中继续你的会话。
我已经把我所有的 url 函数都改回默认在 EWW 中浏览,所以任何网页交互都必须先经过 EWW。这促使我首先深入思考自己在网上做什么,然后才在需要时退回现代浏览器。我惊喜地发现,在 Emacs 里我能做这么多事情,并且继续朝着永远把它作为我的计算环境这一目标前进。
一如既往,上帝保佑,下次再见。
(原文较长,此处译出前 6000 字,完整内容请点「打开原文」。)
正文由 探How 从来源站点 RSS 同步,内容未经改写;遇到排版缺失或需要图片、视频时请以原文为准。