EmacsTalk

使用 EWW 阅读技术文章

  tags: eww

文章目录

EWW 是 Emacs 内置的 Web 浏览器,虽然比起 Firefox 之类的主流浏览器来说,EWW 显得有些“简陋”,但少就是多,在阅读技术文章,或其他有深度的文字时,EWW 有它无与伦比的优势:

  1. 干净、纯粹,不容易分心
  2. 方便调整字体
  3. 无法执行 JS,无隐私泄漏问题

第二点非常重要,有些网页的设计实在是不方便沉浸式阅读,要不就是文字太小,要不就是背景色太亮,而在 EWW 中,这些问题都能解决,就是一般的 buffer 设置而已。

(defun my/set-font (fontconfig)
  (interactive "sFontconfig(Charter-18): ")
  (let ((font (if (string-empty-p fontconfig)
                  "Charter-18"
                fontconfig)))
    (set-face-attribute 'variable-pitch (selected-frame) :font font)))

这是我用来改变字体的辅助命令,下面是 Hacker News 帖子的效果对比

https://img.alicdn.com/imgextra/i3/581166664/O1CN015SMPFF1z6A7Zgl8UZ_!!581166664.png
在 Firefox 中的 UI
https://img.alicdn.com/imgextra/i1/581166664/O1CN01ucA9mR1z6A7SOMpdT_!!581166664.png
在 EWW 中的 UI

唯一比较遗憾的是 EWW 的历史记录没有持久化,重启就没有了,书签可以解决部分问题。

常用快捷键

在 EWW 中,我主要使用如下几个快捷键:

快捷键含义
w拷贝当前页面 URL
g刷新当前页面
l后退,我绑定到 [
r前进,我绑定到 ]
v查看网页源码
b添加当前网页到书签
B查看书签
R开启阅读模式
&用外部浏览器打开当前页面
n/p自动跳转到下一页/上一页
M-RET在新 buffer 内打开链接

n/p 是通过寻找页面中含有 next 标记的链接,比如 MySQL 的文档就支持上下页跳转。更令人惊喜的是,默认就有『阅读模式』,它可以去掉网页中乱七八糟的元素,更容易专注于内容阅读。看了下提交记录,是 Lars 在 2014-11 月提交的,感谢大神的贡献。

为了方便浏览国外技术网站,需要让 EWW 走代理,可以参考:url-retrieve 使用 curl 作为后端实现。可以通过 browse-url-browser-function 设置超链接打开的默认浏览器,这是全局的配置,也可以通过正则表达式来给指定 URL 配置打开方式:

;; 28.1 新引入的配置项
(setq browse-url-handlers '(("baidu\\|kaiyanapp\\.com" . browse-url-default-browser)
                            ("github\\|google\\|twitter\\.com" . browse-url-firefox)))

上面配置的含义是:

  • 百度、开眼视频的链接用默认浏览器
  • GitHub、Google、Twitter 使用 Firefox 浏览器打开

收听方式

反馈