moz-controller: 在 Emacs 中控制 Firefox

: 本文是 moz-controller 的中文 README (commit 7e3d05f). moz-controller 是我写的第一个 Emacs 插件, github 地址: https://github.com/RenWenshan/emacs-moz-controller.

边看网页(比如文档或教程)边写代码的时候, 需要不停地在文本编辑器和浏览器之间切换, 比较麻烦. moz-controller 可以让你在 Emacs 中控制 Firefox 进行翻页, 刷新, 缩放, 关闭标签页和切换标签页等操作.

视频演示

1 功能和快捷键

功能 命令 快捷键
刷新 moz-controller-page-refresh C-c m R
向下翻页 moz-controller-page-down C-c m n
向上翻页 moz-controller-page-up C-c m p
放大 moz-controller-zoom-in C-c m +
缩小 moz-controller-zoom-out C-c m -
复原 moz-controller-zoom-reset C-c m 0
上一个标签页 moz-controller-tab-previous C-c m b
下一个标签页 moz-controller-tab-next C-c m f
关闭标签页 moz-controller-tab-close C-c m k

2 安装

2.1 Firefox 插件

在 Firefox 中安装 MozRepl.

2.2 手动安装

先在 Emacs 中安装 moz.el (这个也可以通过 el-get 之类的 Emacs 扩展管理系统来安装)

然后安装 moz-controller:

git clone git@github.com:RenWenshan/emacs-moz-controller.git

然后在你的 .emacs 或者 init.el 里加入:

(add-to-list 'load-path "/path/to/emacs-moz-controller")
(require 'moz-controller)

2.3 包管理系统安装

moz-controller 可以从 melpa 安装:

  • 确保 melpa 在 package-archives 这个 list 中:
    (require 'package)
    (add-to-list 'package-archives
                 '("melpa" . "http://melpa.milkbox.net/packages/") t)
    (when (< emacs-major-version 24)
      ;; For important compatibility libraries like cl-lib
      (add-to-list 'package-archives '("gnu" . "http://elpa.gnu.org/packages/")))
    (package-initialize)
    
  • M-x package-list-packages 获取 Emacs 插件列表.
  • 找到 moz-controller 并安装.

3 使用 moz-controller

安装 moz-controller 之后, 按 M-x moz-controller-mode 在当前 buffer 中开启/关闭 moz-controller-mode.

M-x moz-controller-global-mode 在所有 buffer 中(以及未来开启的 buffer 中) 开启/关闭 moz-controller-mode.

如果想默认在所有 buffer 中开启 moz-controller-mode, 可以在自己的 .emacs 或着 init.el 中加入:

(moz-controller-global-mode t)

4 定义新命令

moz-controller 里定义了一个 macro: defun-moz-controller-command

你可以利用它定义自己需要的命令, 比如:

(defun-moz-controller-command moz-controller-zoom-in ()
  "Zoom in."
  (concat "gBrowser.selectedBrowser.markupDocumentViewer.fullZoom += "
          (number-to-string moz-controller-zoom-step) ";")
  )

其中 moz-controller-zoom-in 是函数名, “Zoom in.” 是命令的说明, (concat …) 一句是要执行的命令, 是个字符串, 其包含的命令必须能在 MozRepl 中执行.

5 感谢

6 协议

见同目录下的 LICENSE 文件

7 版权

(C) 2014 任文山 (Ren Wenshan) All rights reserved.
renws1990 at gmail.com

8 贡献者

Leave a Reply