总览 (SYNOPSIS)

emacs [ command-line switches ] [ files ... ]

描述 (DESCRIPTION)

GNU EmacsEmacs 的 一个 版本, 是由 最早的
(PDP-10) Emacs 的 作者 Richard Stallman 写的.
GNU Emacs 的 主要 文档 都 在 GNU
Emacs 手册 里, 可以 通过 Info (Emacs 的 一个子系统) 在线 浏览. 请 在那儿 寻找 完整的 最新的 文档. 自愿者们 不定时 的 更新
这个文档; 而 Emacs 的 维护者们 就可以 抽出 更多的 时间 来 用在 其它 更有用的 项目上.
对 用户 来讲, 其它 Emacs
提供的 功能 GNU Emacs 都有, 而且 因为 它的 命令 是 用 Lisp 写的, 所以 扩展性 很好.

Emacs 拥有 一个 可扩展的 交互式的 帮助 功能, 但 这 要求 你 知道 怎么 操纵 Emacs 窗口 和 缓冲区.
CTRL-h (backspace 或者 CTRL-h) 进入 帮助 系统. 帮助 教程 (CTRL-h t) 是 一个交互式的 教程, 可以 在 很短 的
时间内 教会 初学者 Emacs 的 基本 操作. 帮助 Apropos (CTRL-h a) 帮助 你 根据 其 功能 找到 命令, 帮助 字符
(CTRL-h c) 描述 一个 指定 的 字符 的 作用, 帮助 功能 (CTRL-h f) 描述 一个 由名称 指定 的 Lisp 函数.

Emacs 的 能够 撤销 你的 缓冲区 的 很多 层 修改, 所以 它 很 容易 从 编辑 错误 中 恢复.

GNU Emacs 的 很多 专门 的 包 能够 收发 邮件 (RMail/Mail), 大纲 编辑 (Outline), 编译
(Compile), 在 Emacs 窗口 中 运行 子 shell (Shell), 执行 Lisp 读-估值-显示
(read-eval-print) 循环 (Lisp-Interaction-Mode), 以及 自动 心理 疗法 (Doctor).

这有 一个 可扩展 的 参考 手册, 但是 就算 其它 Emacs 的 用户 没有 这个 手册, 也能 很快 适应 的. 刚 开始 使用
Emacs 的 用户 也 能够 通过 它的 自包含 的 文档 功能 学习 教程, 很快 就能 使用 其基本 的 特性.

Emacs Options

以下 是 常用 的 选项:

file
编辑 file.
+number
跳到 number 指定 的 行 (不要 在 "+" 和 number 间 加个 空格).
-q
不 装载 初始化 文件.
-u user
装载 user 的 初始化 文件.
-t file
把 指定 的 file 作为 终端, 而 不是 stdin/stdout. 这 必须 是 命令行 的 第一个 参数.

下面 的 选项 是 面向 lisp 的(这些 选项 根据 先后 顺序 处理):

-f function
执行 lisp 函数 function.
-l file
装载 文件 file 里面 的 lisp 代码.

下面 的 选项 在 把 Emacs 作为 批处理 编辑器 时 很有用:

-batch
当 批处理 模式 编辑. 编辑器 会 把 消息 发送 至 stderr. 这个 选项 必须 是 参数列表 中 的 第一个. 你 必须 用 -l 和 -f
来 指定 执行 的 文件 和 调用 的 函数.
-kill
在 批处理 模式 时 退出 Emacs.

在 X 下 用 Emacs

Emacs 已经 被 修改 为 在 X 窗口 系统 下 能 很好的 运行. 如果 你在 X 下 运行 Emacs, 它会 创建
它 自己 的 窗口 来 显示. 也许 你想 把 编辑器 作为 后台 进程 运行, 这样 你 仍然 可以 用 你原来 的 窗口.

启动 Emacs 可以 用 下面 的 X 选项:

-name name
指定 初始 Emacs 窗口 的 名字. 这个 选项 不仅 控制 窗口 标题 也 控制 X 资源 的 查找.
-title name
指定 初始 X 窗口 的 标题.
-r
用 翻转 影像(reverse video) 显示 Emacs 窗口.
-i
当 图标化 Emacs 窗口 时 用 "kitchen sink" 位图 图标.
-font font, -fn font
Emacs 窗口 的 字体 设置 成 font 指定 的 字体. 你会在
/usr/lib/X11/fonts 目录 下 找到 许多 X 字体. 注意 Emacs 只 接受 固定 宽度 字体.
根据 X11R4 字体 命名 规定, 所有 字体名 第 7 字段 是 "m" 或者 "c" 的 字体 都是固定 宽度 字体. 还有, 字体名 是
widthxheight 形式 的 字体 一般 也是 固定 宽度的, 就像 fixed 字体 一样. 更多 的 信息
参见 xlsfonts(1). 在 指定 字体 的 时候 请注意 在 选项 和 字体名 中间 加 一个 空格.
-b pixels
Set the 把 Emacs 窗口 边框 宽度 设置 成 pixels 指定 的 像素. 默认的 是 窗口 每边 都是
一个 像素.
-ib pixels
把 窗口 内边框 宽度 设置 成 pixels 指定 的 像素. 默认的 是 窗口 每边 都 填充 一个 像素.
-geometry geometry
设置 Emacs 窗口 的 宽度, 高度, 以及 位置, 其 格式 是 标准 的 X 格式; 具体 参见
X(1). 宽度 和 高度 是 用 字符 指定的; 默认 的 是 80 乘以 24.
-fg color
如果 是 彩色 显示器, 设置 文本 的 颜色. 在 /usr/lib/X11/rgb.txt 文件 中 有 可用 的 颜色 名字 列表.

-bg color
如果 是 彩色 显示器, 设置 窗口 背景 颜色.
-bd color
如果 是 彩色 显示器, 设置 窗口 边框 颜色.
-cr color
如果 是 彩色 显示器, 设置 窗口 文本 光标 的 颜色.
-ms color
如果 是 彩色 显示器, 设置 窗口 鼠标 光标 的 颜色.
-d displayname, -display displayname
displayname 指定 的 显示器 上 创建 Emacs 窗口. 它 必须 是 命令行 的 第一个 参数.
-nw
告诉 Emacs 不要 用 它的 X 界面. 如果 你 在 一个 xterm(1) 窗口 中 调用
Emacs 并且 加上了 这个 选项, 会在 这个 窗口 中 显示, 而 不是 新建 一个 X 窗口. 它 必须 是 命令行 的 第一个 参数.

你 可以 在 你的 .Xresources 文件 里面 为 你的 Emacs 窗口 设置 其 X 的 默认
值(见 xrdb(1)). 用 如下 的 格式:

emacs.keyword:value

value 指定 了 keyword 的 默认值. Emacs 允许 你 设置 如下 关键字 的 默认值:

font (class Font)
设置 窗口 文本 字体.
reverseVideo (class ReverseVideo)
如果 reverseVideo 的值 是 on, 窗口 就会 以 翻转 影像 显示.
bitmapIcon (class BitmapIcon)
如果 bitmapIcon's 的值 是 on, 窗口 就会 图标化 为 "kitchen sink."
borderWidth (class BorderWidth)
以 像素 为 单位 设置 窗口 的 边框 宽度.
internalBorder (class BorderWidth)
以 像素 为 单位 设置 窗口 的 内边框 宽度.
foreground (class Foreground)
只对 彩色 显示器 有用, 设置 窗口 的 文本 颜色.
background (class Background)
只对 彩色 显示器 有用, 设置 窗口 的 背景 颜色.
borderColor (class BorderColor)
只对 彩色 显示器 有用, 设置 窗口 的 边框 颜色.
cursorColor (class Foreground)
只对 彩色 显示器 有用, 设置 窗口 的 文本 光标 的 颜色.
pointerColor (class Foreground)
只对 彩色 显示器 有用, 设置 窗口 的 鼠标 光标 的 颜色.
geometry (class Geometry)
设置 Emacs 窗口 的 宽度, 高度, 以及 位置 (同 上面 描述 的 一样).
title (class Title)
设置 Emacs 窗口 的 标题.
iconName (class Title)
设置 Emacs 窗口 图标 的 图标名.

如果 你 用的 是 黑白 显示器, 窗口 特性 将会是 下面的 默认值: 前景 颜色 为 黑色, 背景 颜色 为 白色, 边框 颜色 为 灰色, 文本 和
鼠标 光标 颜色 为 黑色.

Using the Mouse

以下 是 X11 下 Emacs 的 鼠标键 绑定.

鼠标键                           作用

左键                             设置点.

中键                             粘贴
文本.

右键                             把 文本 剪切 到 X 剪切
缓冲区.

SHIFT-中键                       把 文本 剪切 到 X 剪切
缓冲区.

SHIFT-右键                       粘贴
文本.

CTRL-中键                        把 文本 剪切 到 X 剪切 缓冲区 并且
删除.

CTRL-右键                        选择 窗口, 然后 分拆 成 2 个 窗口. 同
键入 CTRL-x 2 一样.

CTRL-SHIFT-左键                  X buffer 菜单
-- 保持 按住 按键, 等 菜单 显示 出来, 选择 缓冲区,
释放 按键. 要 取消, 把 鼠标 移出 菜单 然后 释放 按键.

CTRL-SHIFT-中键                  X help 菜单 -- 弹处 Emacs 帮助 的 索引
菜单.

CTRL-SHIFT-右键                  用 鼠标 选择 窗口, 关闭 其它 所有 窗口.
同 键入 CTRL-x 1 一样.

手册页 (MANUALS)

你 可以 向 自由 软件 基金会(GNU 软件 的 开发者) 定购 GNU Emacs 手册页 的印刷 拷贝. 定购
信息 参见 ORDERS 文件.
你的 本地的 Emacs 维护者 可能 有 拷贝. 象 所有 FSF 的 软件 和 印刷品 一样 , 所有的 人 都被
准许 制作 或 分发 Emacs 手册页, 同时 Emacs 源文件包 里面也 包含 手册页 的 Tex 源文件.

文件 (FILES)

/usr/local/info - 所有 Info 文档 浏览器(Emacs 的 一个 子系统) 文档 的 所在地. 现在
不是 许多 Unix 系统 在 这里 都有 文档, 但是 所有 Emacs 手册页 文档 都 以一种 树 结构 保存 在 这里.

/usr/local/share/emacs/$VERSION/src - C 源文件 以及 目标文件

/usr/local/share/emacs/$VERSION/lisp - Lisp 源文件 和 一些 定义 常用的 编辑命令 的 已经 编译 了的
文件. 有一些 文件 是 预先 装载 了的; 另外 一些 则是要用 的 时候 自动 装载.
  
/usr/local/share/emacs/$VERSION/etc - GNU Emacs 用到 的 许多 程序, 还有一些 包含 常用 信息 的 文件.

/usr/local/share/emacs/$VERSION/etc/DOC.* - 包含 GNU Emacs 的 Lisp primitive 和
预先 装载 的 Lisp 函数 的 文档 描述 字符串. 这样 可以 减小 Emacs 本身 的大小.

/usr/local/share/emacs/$VERSION/etc/OTHER.EMACSES 讨论 GNU Emacs vs. 其它 版本 的
Emacs.
/usr/local/share/emacs/$VERSION/etc/SERVICE 向 GNU Emacs 用户 提供 各种 服务的人
的 列表, 包括 教育, 疑难 排解, 移植 和 定制 等.
这些 文件 包含 一些 对 那些 想用 Emacs Lisp 扩展 语言(现在 还 没有
这个 语言 的完整 的 文档) 写 程序 的人 有用 的 信息.

/usr/local/com/emacs/lock - 为 Emacs 正在 编辑 的 所有 的 文件 的 上锁 文件都在 这里, 这些 文件 可以 防止
两个 用户 同时 编辑 同一个 文件.

/usr/lib/X11/rgb.txt - 合法 X 颜色 名称 的 列表.

错误 (BUGS)

在 英特网 上 有一个 邮件 列表 bug-gnu-emacs@prep.ai.mit.edu (在 UUCPnet
上 是 ucbvax!prep.ai.mit.edu!bug-gnu-emacs), 可以 通过 这个 邮件 列表 报告 Emacs 的错误 和 补丁. 但是
在 报告 一个 错误 之前 请 确认 它 的确 是个 错误, 不要 把一个 一些 特性 误认为 是 错误. 我们 建议 你 读读 手册页(或者 Info 系统)
末尾的 ``报告 Emacs 错误'' 一节, 那里 有 如何 以及 什么 时候 报告 错误 的 一些 描述. 还有 不要 忘了 在 所有 错误
报告 里 包含 你 运行 的 Emacs 的 版本号.

请 不要 指望 就 错误 报告 获得 个人 回答. 报告 错误 的 目的 是 在 下一个 发行版中 清除 错误, 如果 可能. 如果 要 寻求 个人
帮助, 在 SERVICE 文件 (见上) 里 有提供 服务 的人 的 名单.

请 不要 发送 任何 与 错误 报告 无关 的 东西 到 这个 邮件 列表 中. 请把 加入 邮件列表 的 请求 发送 到
info-gnu-emacs-request@prep.ai.mit.edu (或者 相 对应 的 UUCP 地址 里). 在
/usr/local/emacs/etc/MAILINGLISTS 文件 里 有 更多 关于 邮件列表 的 信息. 如果 我们 能 找到 导致 错误 的 代码,
那么 错误 多半 都能 被 清除, 所以 你 应该 尽量 详细 的 报告 错误, 使得 我们 能够 使 错误 重新 发生.

我 知道 的 错误 有: 在 一些 版本 的 Unix 中, shell 不能 正常 运行 一些 在 原始模式 (Raw mode) 下 运行 的 程序.

无限制 (UNRESTRICTIONS)

Emacs 是 自由 软件; 每个人 都可以 在 Emacs 通用 公共 许可证 中 申明 的 条款 下 把
Emacs 发布 给 每个人, 每个 Emacs 中 都 附带 有 此 条款, 在 手册页 中 也 包含 有 此 条款.

Emacs 的 拷贝 可能 被 打包 包含 在 一些 Unix 系统 中, 但是 它 并不在 那些 系统 所用的 许可证 的 保护 下.
这种 行为 违背 了 允许 分发 的 条款. 事实上, 通用 公共许可证 的 主要 目的 就是 禁止 任何人 在 Emacs 的 发布 上 加入
其它 任何 的 限制。

Richard Stallman 倡导 大家 来 改进 扩展 Emacs, 并且 鼓励 大家 为 GNU 库 的 扩展 做出 贡献. 事实上
GNU (Gnu's Not Unix) 将会成为 Berkeley Unix 的 代替品. 每个人 都可以 自由 的 使用, 拷贝, 学习 以及 改变 GNU
系统.

emacs - GNU Emacs的更多相关文章

  1. GNU Emacs命令速查表

    GNU Emacs命令速查表 第一章  Emacs的基本概念 表1-1:Emacs编辑器的主模式 模式 功能 基本模式(fundamental mode) 默认模式,无特殊行为 文本模式(text m ...

  2. emacs 配置.emacs

    emacs 配置.emacs (require 'package) (package-initialize) (add-to-list'package-archives '("melpa&q ...

  3. Linux下的GNU Emacs 24命令_信息竞赛使用_C++

    C代表Ctrl,M代表Alt 一.文件命令 C-x b 新建 build C-x C-f 打开文件 find C-s 保存文件 save C-x C-w 另存为 为wei w C-x C-b 打开所有 ...

  4. emacs 设置emacs的外观

    设置emacs的外观 emacs的外观包括文本区的外观,辅助区的外观,状态行的外观,光标的外观等, 每个外观都有名字,并且都有下面属性: Font Family: 字体名字 Font Foundry: ...

  5. CentOS 6.7 中安装Emacs 24.5

    Emacs 版本:http://mirror.bjtu.edu.cn/gnu/emacs/emacs-24.5.tar.gz CentOS 内核版本:2.6.32-573.el6.x86_64 参考资 ...

  6. CentOS 中安装和卸载 Emacs

    日志更新记录: [1] 增加 CentOS7.2 (内核版本:3.10.0-514.16.1.el7.x86_64)下Emacs25.2 的安装过程,它与本文的步骤完全一样. Emacs 版本:htt ...

  7. Emacs 快速指南(中文翻译)

      Emacs 快速指南 目录 1. 小结(SUMMARY) 2. 基本的光标控制(BASIC CURSOR CONTROL) 3. 如果 EMACS 失去响应(IF EMACS STOPS RESP ...

  8. Emacs 快速指南 - 原生中文手册

    Emacs 快速指南 -折叠目录 1. 小结(SUMMARY) 2. 基本的光标控制(BASIC CURSOR CONTROL) 3. 如果 EMACS 失去响应(IF EMACS STOPS RES ...

  9. 在Emacs中使用GNU Global

    背景 在我平时用Emacs编写C代码时,经常需要进行代码的跳转,主要需求为函数定义的跳转,某个具体函数的调用查找,某个结构体的定义跳转以及结构体中具体某一项的跳转等,GNU Global就能完全满足我 ...

随机推荐

  1. [shell test] multiple conditions

      Classic technique (escape metacharacters): if[ \( $g -eq 1-a "$c"="123" \) -o ...

  2. VPS 安全措施(CentOS 6)

    新到手一台VPS,要做的第一件事大概是做好安全措施. 下面针对CentOS 6随便写点,我目前做的几步是: 修改root密码 SSH-key登录 配置iptable 安装fail2ban 1.修改ro ...

  3. UVaLive 7455 Linear Ecosystem (Gaussi 消元)

    题意:对一个k元向量, 每次左乘一个k*k的矩阵得到新的向量.问经过一定次数的左乘后,能否使得该向量不再变化. (同时要求此时向量非零). 析:设初始向量为A,矩阵为P.由于每次矩阵P都是左乘A, 那 ...

  4. UVaLive 6581 && Gym 100299B What does the fox say? (模拟+STL)

    题意:给定一些动物的叫声,然后再定某些动物的叫声,让你去除这些叫声后得到的叫声. 析:先存储所有的叫声,然后用map来记录其他的叫声,在输出时再判定一下就好. 代码如下: #pragma commen ...

  5. ecb-2.40与cedet-1.1的兼容(转载)

    转自:http://blog.csdn.net/cnsword/article/details/7474119 今天凑热闹把fedora升级到了17,emacs升级到了24,但是悲剧了,显示cedet ...

  6. poj1511【最短路spfa】

    题意: 计算从源点1到各点的最短路之和+各点到源点1的最短路之和: 思路: 源点这个好做啊,可是各点到源点,转个弯就是反向建边然后求一下源点到各点的最短路,就是各点到源点的最短路,在两幅图里搞: 贴一 ...

  7. bzoj 5496: [2019省队联测]字符串问题【SAM+拓扑】

    有一个想法就是暴力建图,把每个A向有和他相连的B前缀的A,然后拓扑一下,这样的图是n^2的: 考虑优化建图,因为大部分数据结构都是处理后缀的,所以把串反过来,题目中要求的前缀B就变成了后缀B 建立SA ...

  8. bzoj 2716 [Violet 3]天使玩偶 【CDQ分治】

     KD-tree可做,但是我不会暂时不考虑 大意:在二维平面内,给定n个点,m个操作.操作A:加入一个点:操作B:询问一个点与平面上加入的点的最近距离 不封装会T不封装会T不封装会T不封装会T不封装会 ...

  9. bzoj4517[Sdoi2016]排列计数(组合数,错排)

    4517: [Sdoi2016]排列计数 Time Limit: 60 Sec  Memory Limit: 128 MBSubmit: 1792  Solved: 1111[Submit][Stat ...

  10. Web站点抓取工具webhttrack

    近来发现Ubuntu下一个很好用的web站点抓取工具webhttrack,能够将给定网址的站点抓取到本地的目录中,并实现离线浏览,很实用. 1.安装webhttrack ubuntu 16.04的官方 ...