没有合适的资源?快使用搜索试试~ 我知道了~
Emacs User's Guide.pdf
需积分: 9 136 下载量 66 浏览量
2008-12-08
18:36:43
上传
评论 1
收藏 661KB PDF 举报
温馨提示
试读
55页
刚开始接触 emacs 的同志们可以看一下 emacs 官方文档的翻译版,看起来会容易一些
资源推荐
资源详情
资源评论
Emacs User's Guide
Introduction ...............................................................................................................................................1
GNU 是什麽 ....................................................................................................................................1
GNU Emacs 是什麽.........................................................................................................................2
GNU EMACS 的特质......................................................................................................................2
Emacs 的线上辅助说明 ..........................................................................................................................3
Emacs 的基本知识 ..........................................................................................................................3
Emacs 的自学教材 ..........................................................................................................................5
Ctrl-h 的用法 ...................................................................................................................................5
Emacs 的 info 使用说明................................................................................................................7
Emacs 的整合环境 ..................................................................................................................................8
如何在 Emacs 中执行 Shell 的指令 ............................................................................................9
有关目录的编辑方法 .......................................................................................................................9
如何编辑远方机器上的档案 .........................................................................................................12
程式的编辑,编译与测试 ................................................................................................................12
如何在 Emacs 中列印文件...........................................................................................................12
在 Emacs 中如何收发信件...........................................................................................................13
其它与 Emacs 相关的工作环境...................................................................................................13
与 Emacs 有关的议题 ..........................................................................................................................14
如何起动 Emacs ............................................................................................................................14
如何离开 Emacs ............................................................................................................................14
EMACS 的萤幕安排 .....................................................................................................................15
Emacs 的缓冲区与视窗 ................................................................................................................17
Emacs 的基本编辑指令 ........................................................................................................................22
如何载入档案与储存档案 .............................................................................................................22
Emacs 的基础编辑指令 ................................................................................................................24
何谓 Yanking..................................................................................................................................30
如何在文件中做上标记 .................................................................................................................31
文件的移动与拷贝 .........................................................................................................................31
何谓 Undo ......................................................................................................................................33
Emacs 进阶编辑指令 ............................................................................................................................34
文件的搜寻 .....................................................................................................................................34
文件的取代 .....................................................................................................................................38
Regular Expression..........................................................................................................................41
Emacs 的其它相关事项 ........................................................................................................................44
Registers and Bookmarks................................................................................................................44
文字的勘误 .....................................................................................................................................46
图形的编辑 .....................................................................................................................................48
中文编辑环境 .........................................................................................................................................50
Emacs 下的中文编辑 .emacs 档的设定......................................................................................51
中文化的 EMACS
Mule.........................................................................................................51
Conclusion...............................................................................................................................................53
1
第 1 页 共 53 页
Introduction
本文的主旨以讨论 EMACS 的入门为主 其内容包括 EMACS 发展的概述
EMACS 整合环
境的简介以及 EMACS 的基石
editor 的详谈
本文在结构上分成八章 第一章讨论有关 EMACS
的源起
发展历史以及 EMACS 的特性简介
第二章讨论 EMACS 的 on-line help
第三章则简
单介绍 EMACS 的整合环境
接下来就是本文的重点 探讨 EMACS 的本质
所以
第三章之後
的各章节则详细探讨 EMACS 为 editor 的这一个主题
现在就来讨论与 EMACS 发展有关的机构组织以及 EMACS 所扮演 的角色特质
GNU 是什麽
GNU 是 Richard Stallman 於 1975 年
在 MIT 所成立的 Free Software Foundation (FSF 中
所执行的一项计划
GNU 的本意代表 “Gnu's Not Unix”
虽然如此 它却是一个与 UNIX 完全相
容的软体系统
二者最大不同在於
GNU 是一个 free 的 软体 UNIX 却是一个要付费的软体系
统
GNU 之所以与 UNIX 完全相容
是因为 UNIX 的使用者很多 为了让 UNIX 的使用者在
使用 GNU 的时候不会有疏离的感觉
所以 GNU 尽量与 UNIX 相容 它的相容只是看起来与用起
来像 UNIX 而已
GNU 其实改进了所多 UNIX 的缺点
使它能尽善尽美
Stallman 倡导 FSF 的宗旨
是要建立一个软体 free 的王国 他所谓的 free 并不是意谓著便
宜或免费
因为在 FSF 下的有些软体还是必需付些工本费 他所谓的 free 是指使用上的自由
要了解 Stallman 所言 free 的真意 就必须知道一般软体的使用情形 大部份的商业软体在使
用上都或多或少有些限制
例如 必须付费才可使用软体程式 若运气不好 同一程式在不同的电
脑上使用
可能还要另行付费 有些软体程式的使用也有一定的期限 期限一到就需另缴费用 否
则使用权就会被撤销
甚至有些软体是以使用时间来计算费用的 当然 这些商业软体是绝对不予
许使用者将这些软体任意给他人使用
除非给予软体公司相当的代价 使用者是绝对不可能拿到软
体的原始程式的
上述的种种都还是付钱就可以解决的 有些问题是钱也乏术的 因为 当商业程式销售失败或
远景不被看好时
使用者所购置的软体就可能被开发者遗弃 此时 若想维持此软体的正常运作
就必须自求多了
Stallman 所领导的 GNU 计划就是要脱离商业软体的种种枷锁
这也是 GNU 计
划所谓 “free” 的真谛
GNU 计划下的任何软体
只要使用者能找到软体的来源 任何人都可以自
由的使用它
获得 GNU 软体的来源很多
如 public archives anonymous FTP UUNET 等
甚
至任何一个装有 GNU 软体的地方都可以取得
GNU 计划下的软体
不只提供软体的使用权 也
提供软体的原始程式
任何人都可以根据需要来修改程式 也可以尽己之力来找出程式的错误 使
隶属於 GNU 的软体在大家的努力下能尽善尽美
GNU 计划下的软体
是可不需付费而享有使用
权
GNU 对使用者唯一的要求就是
当使用者对於 GNU 计划下的软体做了进一步的修改时 仍
必须维持 GNU 的精神
就是对於修改过的软体仍然必须将其无条件的奉献出来
任何人都不可
将修改过的 GNU 软体当成商品来买卖
所以 Stallman 一直强调 GNU 计划下的软体是 free 的
而且 永远会是 free 的
GNU 计划的最终目标是要完成一个全新的作业系统
目前完成的有
EMACS text editor
debugger yacc-compatible parser generator 以及 linker 等等
也完成了将尽三
四十个公用程式
utilities
而 shell 也已经接近完成的阶段 目前只要等 kernel 和 compiler 完成
就可以在 GNU 的系统上发展程式
未来完成的 GNU 系统将可以执行 UNIX 上的所有程式
但它却与 UNIX 系统不完全一致
GNU 系统将改进 UNIX 系统的缺失
使它使用起来更方便 例如 未来的系统将会有较长的档名
档名会有版次等等 新的系统会使用 C 与 LISP 做为系统程式语言
2
第
2 页 共 53 页
GNU Emacs 是什麽
GNU EMACS 是 GNU 计划下的第一个产品 EMACS 为 Editor MACros 的缩写 Richard
Stallman 於 1975 年在 MIT 首次 撰写 EMACS editor
目前 GNU EMACS 已发展到 19.28 版
本文所讨论的 GNU EMACS 也以 19.28 版为主
GNU EMACS 秉持著 GNU 的精神
它依然是
free 的
任何人都可以 “anonymous ftp” 的方式至 prep.ai.mit.edu 这个 site 取得 GNU EMACS 的
原始码
GNU EMACS 不是 public domain 的产物 它有版权也有使用上的限制
那就是任何得
到它的人都不可以将其视为私有的财产
修改过的 GNU EMACS 也不可以作为商品来牟利 金钱
交易的行为是绝对被禁止
EMACS 有多种版本可适合不同的工作平台 platfrom
适合 UNIX 环境的有 GNU EMACS
Unipress EMACS 以及 CCA EMACS 其中以 GNU EMACS 最常被使用
本文也只介绍 GNU
EMACS
适合个人电脑的 EMACS 有 FreEMACS MicroEMACS 以及 Epsilon
当然 也有使用
在 VMS 环境的版本
GNU EMACS 是由 C 与 LISP 语言写成
任何人都可依据需要将个人所发展的函式
function
加入 GNU EMACS 上 当然 新发展的软体是不可以从事商业买卖 只能将它无条件的奉献出来
新发展的函式可以直接在 EMACS 中使用 不需重新编译
complie 整个 EMACS
而且新增的
函式也不会破坏 EMACS 原有的结构
就因为有此特性
EMACS 的函式可以 与日俱增
愿与他
人共享成果的使用者
可以透过电子邮件或电子公布栏 将函式的原始码公诸於世 公布的函式
最後会经由 FSF 的审查 以决定是否要加入新版的 EMACS 中
FSF 也鼓励使用者将所发现的错
误
透过相同的管道 提供给 FSF 作为改进 之用
GNU EMACS 就是在如此的运作下
靠大家共
同的努力来提升品质
以达产品的稳定性
GNU EMACS 的特质
GNU EMACS 与其说它是一个编辑器 editor
倒不如说它是一个以编辑器为主干的 环境软
体
一般的软体都是将编辑器视为一个附属功能 只有 EMACS 以编辑器为基石 在其上发展其它
的功能
以收发电子信件的软体为例 电子信件软体是以收发信件为环境的基石 任何电子信件的
软体都只有在使用编辑器时
才呼叫相关的编辑器
EMACS 的出发点就与众不同 EMACS 一
切以编辑器为主
任何的功能都是建基在编辑器之上
所以 进入 EMACS 就等於是进入了一个编辑环境 这个编辑环境提使用者许多功能 让使
用者如置身在一个全功能的作业系统中
EMACS 自行发展了一个 “bourne-shell-like” 的 shell 除
了 EMACS 自己的 shell 外
EMACS 还可以让使用者自行选择所使用的 shell EMACS 可以读
送 e-mail
EMACS 可以透过 ftp 来编辑远方 host 上的档案
而不需要签入
login
档案所在的
host
EMACS 也可做 telnet 与 relogin 的动作 EMACS 也可以读 news EMACS 也提供了年
历
calendar
可以让使用者查阅日期 也可以将重要的事情在年历上标示出来
EMACS 又提供
了 “Diary” 的功能
当特定的日期与时间到来时 会在萤幕上将 “Diary” 上 的事情显示;EMACS 也
有撰写文章大纲的功能
EMACS 更提供多种程式的编译功能
让使用者可以在 EMACS 中一边
编辑程式一边编译程式
EMACS 更有自己的 debugger
使程式的除错
编辑与编译在 EMACS 中
同时完成
所以 EMACS 所提供的不只是一个编辑器而己 它所提供的是一个整合的工作环境 而这个环
境是建立在编辑的基石上
它希望使用者进入了 EMACS 以後 可以在 EMACS 的环境中完成 所
有的工作
不需要离开 EMACS 要离开 EMACS 就是要离开电脑的 时候
logout EMACS 除
了是一个整合的工作环境外
它还具有以下的特性
display editor
real-time editor
advanced editor
3
第 3 页 共 53 页
Self-documenting
Customizable
Extensible
support X window enviornment
EMACS 是一个 display 编辑器
因为每一个被编辑的文字都会被显示在萤幕上
EMACS 是一个 real-time 的编辑器
因为当新的文字被键入时 萤幕会在非常短的时间内被更
新
EMACS 的编辑功能不只具备一般编辑器所有的功能
它还提供如下的功能
♦ 文字的填充
filling of text
♦ 程式自动内缩功能
♦ 可以同时阅读一个以上的档案
对於字元
characters
字
words
列
lines
句子
sentences
段落
paragraphs
页
pages
以及各种 程式中的 expression 和注解
comments
都有其自有的处理方法
EMACS 是一个 Self-documenting 的软体
因为在任何时候都 可以 “ Ctrl-h” 指令来得立即的
帮助
因为 透过 “ Ctrl-h” 可以得知每一个 EMACS 的指令
EMACS 是可以 Customizable 的
使用者可视个人的需求 来改变 EMACS 指令的定义
GNU
EMACS 的 Customization 的设定非常简单
使用者可以很方便的使用它
EMACS 是 Extensible
的
GNU EMACS 是由 LISP 语言 所写成的函式共同组成的 函式与函式间的互动关系
dependency
不强 就因为 EMACS 是由函式所组合而成的 所以可以随时将函式作增减而不会
破坏 EMACS 既有的结构
EMACS 也针对 X 的视窗环境
提供自己的选单
menus
和滑鼠按
纽
mouse bottons
功能
EMACS 对於 text-only 的终端机也提供许多与 X 环境相当的服务品质
例如在文字模式的终端机 可以同时开启数个的档案 档案可以互相切换 当使用 shell 模式 来执
行 shell 指令的同时也可以编辑档案
但本文的只讨论 text-only 的 EMACS 使用法
以上的种种
就是有关 EMACS 的特色
至於如何使用这些功能就下列章节所要讨论的重点
Emacs 的线上辅助说明
EMACS 是一个整合的工作环境
初次使用 EMACS 或不熟悉 EMACS 的人 常会不知所措
所以
EMACS 提供了非常便捷且功能强大的线上辅助说明 on-line help
来帮助使用 EMACS
Emacs 的基本知识
在未讨论 EMACS 的线上辅助说明时 先谈谈如何启动 EMACS
启动 EMACS 的方法很简
单
只要在萤幕的提示下键入 “emacs” 即可 离开 EMACS 只要键入”Ctrl-x Ctrl-c”即可离开
EMACS
键入 “Ctrl-x Ctrl-c” 的方法是
先按住键盘上的 Ctrl 键不放再按下英文字的 “x” 即可
键入 “Ctrl-c” 的方法一样 先按住键盘上的 Ctrl 键不放再按下英文字的 “c” 即可 当然进入与离
开 EMACS 的方法还有多种
这里只是介绍一种方法 让使用者可以很快的使用 EMACS 的线上
辅助说明
至於其它的方法会在以下各章节中陆续提及
除了进入与离开 EMACS 的方法必须知道外 还有一个指令非常用那就是 “Ctrl-g”
“Ctrl-g” 可
用来取消键入的指令
如果不想执行所键入的指令 可以随时将其取消
EMACS 键入指令的方法有二种
♦ Ctrl 键
♦ Meta 键
所有 EMACS 的指令都可以 Meta 键表示出来
键盘上若无 Meta 键 则可以 ESC 键来取而
代之
常用的 EMACS 指令通常会有一个 Hotkey 与之连结
Hotkey 的构成
通常是以 Ctrl 为
剩余54页未读,继续阅读
资源评论
schindlerlee
- 粉丝: 1
- 资源: 8
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功