发信人: virtual (风之幻影), 信区: Npsos
标 题: Sams Teach Yourself Emacs in 24 Hours
发信站: 哈工大紫丁香 (Wed Dec 15 20:43:43 2004), 转信
不知道有没有中文的,如果有麻烦告知,谢谢!~
第一章还没翻译完:(
英文版:
http://learn.tsinghua.edu.cn/homepage/2001315450/emacs24/emacs010.htm
translated by Virtual @ HIT
第一小时
Emacs 介绍
现在你已经要开始在这个强大的编辑器世界里的奇异之旅了,为了让你感觉到
Emacs的强大,第一小时我们将列出Emacs的一些强大之处,对于每一点,都会有一
个简短的描述或是例子来展示它的强大.
Emacs的强大功能是由成千个函数组成的.其中的一部分已经被绑定到了键盘的
按键上.你也可以把键盘上的12个功能键(F1...F12)设为你自己喜欢的绑定功能.
自定义键功能将会使你的工作学习更加舒适,在本书的"键盘绑定快速查询"一节
中将会介绍怎样自己设定快速查询卡片(quick reference card).
在这个小时我们还要讨论一下关于Emacs的基本设置.
Windows下用户注意:Windows NT 和Windows 95/98的用户也可以使用Emacs的
windows版本,另外Emacs也可以运行于其他的一些系统之上. 在本书的第二小时
的"在Windows系统中使用Emacs"我们将介绍怎样在Windows中安装和使用
Emacs. 但不要跳过本小节,还有许多新的东西呢:)
Emacs的优秀特性概览
1.多窗口编辑(Working with Many files in Different windows
at the same time)
2.远程编辑(Editing Files on Defferent Hosts)
3.自定义键绑定和函数
4.丰富的第三方插件支持
5.摊销和还原
6.编辑模式
7.语法加亮
8.查找,查找替换功能
9.通过Emacs编译,调试程序
10.强大的宏功能
11.文字折叠功能
12.收发信件,浏览新闻组
13.Info的帮助功能
可以说Emacs是世界是最强大的文本编辑器.如果你理解了Emacs的工作理念,你
将会发现你几乎可以通过Emacs做任何事情.一些人喜欢在Emacs中做他们所有的
工作(例如:收发邮件,管理文件和目录,当然还有编辑文本).别外一些则趋向于仅
仅用它做一些有限的工作.在本节我们将告诉你Emacs的功能,也许你可能会发现
有些功能也许你永远也不会用到(例如一些人不愿意花时间学习用Emacs收发邮件),
最重要的是你要知道Emacs能满足你的哪些需要.
多窗口编辑
Emacs可以同时编辑多个文件,一些可能是可见的,另外一些则可能临时被隐
藏起来了.这一点可以在图1.1中看到,在其中展示了两个顶层窗口.
1.1 [图]
http://learn.tsinghua.edu.cn/homepage/2001315450/emacs24/emacs010.htm
Emacs可以同时编辑多个文件
同时编辑多个文件对于编辑一个包含多个文件的程序来说是非常有用的.例如,
当你编辑一个文件时,你可以在另一个文件中查看一个函数的定义.
编辑多文件在第6小时"同时编辑多个文件"中将会提到
远程编辑
除了编辑本地文件,Emacs也可以编辑那些在其他机器上的文件.这可以使你不
要登录到另一台机器来编辑文件(只要想想你的个人设置在另一台机器上不管用
就会知道这一点多么有用了).通过把其他文件下载下来(可以通过ftp传输)在本
地编辑,当文件保存时,它就会再次被上传到远程机器上.
这个特点还有另外一个优点,当你需要编辑其他用户的文件时,你可以用另外一
个用户名连接到本地机器上,然后以另一个用户的身份来编辑这个文件,这样做你
就不用以另外一个用户的身份登录并使用他的个人配置文件.
自定义键绑定和函数
Emacs有很多供用户使用的函数来满足各种需要.因为有限的键盘的按键资源,
这使得不可能给每个函数调用分配一个组合急雨,所以很多函数都需要用户通过
键盘来调用.但你可以按你自己喜欢的方式定义键盘.在下一部分,你将会学会怎
么把函数和功能键F1-F12绑定在一起.在第23小时"键绑定和创建菜单"中你将会
学会把函数和键盘的按键绑定.
别外一个相当重要的是Emacs可以通过用户选项(user options)配置.用户选项
(user options)可以在一些小的方面来预先定制函数的行为.一个小例子:当到达
文件末尾时按下方向键的向下按钮,Emacs应该怎样处理这种情况?有两个回答:
(1)Emacs通过响铃警告你已经到达文件的末尾,无法移动到下一行.
(2)Emacs可以添加一个空行,然后把光标移动到此行.
选择哪一个答案完全是个人的喜好问题,也放有人偏向第一个回答,但也有些人
会选择第二个回答.通过用户选项,你可以让Emacs知道你喜欢哪一个解决方案,这
样做你只要向你的主目录中的.emacs文件加入一些内容就可以了.
注:在windows中用户的主目录可以通过HOME环境变量设置,.emacs文件也可以
用_ emacs文件代替.
用户可以通过写Lisp程序来扩充Emacs.Lisp文件的内容可能是几行也可能占
了数M的空间.在稍后进行的第20小时"Gnus基础"和第21小时"Gnus进阶"中介绍的
GNU的新闻阅读工具就是一个例子.
怎么写Lisp扩展已经超出了本书的范围.但是在第22小时"Lisp基础中",你将
会学到一些Lisp的基本概念.学会这些之后,你就应该可以配置Emacs了,这一节你
也可以作业学习Lisp的基础,之后你也许能够开发出自己的函数.
丰富的第三方插件支持
正如前面提到的,可以通过Lisp函数扩展Emacs.已经有许多人这么做了,而且也
把他们的函数供献了出来.这就意味着有很多Emacs插件.一插件仅仅修改Emacs在
一些情况下的行为,而还有一些则给Emacs添加了新的功能.像新添加的编辑一些
特殊文件的主模式(如html文件),空闲时刻拼写检查(on-the-fly
spell-checking),当新建文件时加载模板,添加使用其他程序的接口(如diff程序).
一些扩展的介绍贯穿本书,(广告:在本书的CD上也有很多插件可用).在第24小时"
安装Emacs扩展",你将会学到怎样安装新的包.
撤销和还原
在Emacs中可以通过按 几个键删除一大块文字.因此知道Emacs一整套强大的撤
销功能是很有必要的.和现在流行的文本编辑器样,Emacs不并不仅限于仅仅可以
撤销最后一条命令;在Emacs中你一步步的撤销你的工作,甚至撤销数小时之前的
工作.
尽管Emacs很少崩溃(crash)(本书就是在Emacs中编写的,它一次都没有崩溃过
在本书的写作期间!),但是其他的一些情况要求Emacs必须具有高的安全性.这就
使得当你的窗口管理器,操作系统崩溃时,还原你的记录成为可能.
Emacs运行在两个安全级别上
(1)当你开始编辑一个文件时,Emacs将会把保留一个现有文件的备份;因此你可
以把文件还原成它还没有编辑时的情况.
(2)Emacs每隔一段时间会保存一次你正在编辑的文件,这样万一发生崩溃,你可
以把它还原
撤销和还原机制将在第6小时介绍
编辑模式
Emacs对于一些特殊的文件有许多预先设定好的编辑模式(称作主模式);像
C,C++,Java,LateX,Perl,Python,Lisp,HTML,SGML的主模式,等等.
这些主模式会让Emacs知道一些有关你正在编辑的文字的信息.这可以帮你把文
字缩排的相当漂亮(大多数是编辑代码时用的). LateX,HTML,C,C++和Java的编辑
模式将在第17小时"编辑LaTex和HTML文件"以及第18小时的"编写,C++,和Java文
件"介绍.这几小时将会提供足够的知识帮你学习你最经常用的语言的主模式.
语法加亮
现在的显示屏有能力显示各种颜色,各种字体和形状的文字.Emacs能过利用这
些功能可以让你的文字具有更好的可读性.Emacs能过编辑文字的主模式,可以用
不同的颜色和字体分别显示关键字和注释等等.在图1.2中可以看到一个例子
1.2[图]
http://learn.tsinghua.edu.cn/homepage/2001315450/emacs24/emacs010.htm
Emacs加亮了一些文字,使你更加方便的查看代码
在第12小时"可视化编辑的效用"(Visible Editing Utilities)中将会对其进
行详细描述.
拼写检查
计算机的一个重要功能就是帮助人们检查出文档的拼写错误.当然Emacs也能这
么做.你可以用两种不同的方式让Emacs进行语法检查,取决于你的个人喜好:
(1)当完成整篇文档时,运行拼写检查
(2)在空闲时刻进行拼写检查.这样,只要你完成一个单词,拼写检查就会运行 ,
如果没有通过拼写检查,这个词就会被高亮显示
在图1.3中,你可以看到Emacs正在指出拼写检查的错误(当检查完整个文档时).
刚开始你也许认为Emacs的界面太过时了,但是当你习惯了Emacs,你就会发现不必
拿起鼠标进行拼写检查很舒服.
图1.3[图片]
http://learn.tsinghua.edu.cn/homepage/2001315450/emacs24/emacs010.htm
另外,你可以让Emacs自动替换一些检查出的拼写错误.例如:你可以让teh被自
动the代替.Emacs不会自动这样做,除非你让它这么做.意识到Emacs不会在你不知
道的情况下做这样的事情:)
查找和替换功能
仔细想想,你会意识到自己会经常在文件中查找一些东西.例如:
(1)在当前文件中查找一个字符串
(2)在当前工程中的所有C源文件中查找一个函数
(3)在当前HTMl文件查找所有的html头(head lines?)
(4)查找单词Dotfile Generator在哪个文件中出现
在Emacs中最经常使用的的查找函数是查找一个文本在当前文件中位置(增量查
询:incremental search).按下C-s然后输入你要查询的字符串.Emacs就会在文本
中进行查找和你输入相匹配的单词,经常你还没有输入完整个单词,就已经找到你
要找的东西了.这种查找方式很高效,因为很少需要输入大量文字去查找你需要的
内容.图1.4演示了一个增量查询的例子.
图1.4[图片]
http://learn.tsinghua.edu.cn/homepage/2001315450/emacs24/emacs010.htm
除了在单一文件中查询外,Emacs还可以搜索一个给定工程中的所有文件,或者
是搜索一个给定目录中的所有文件.
除常规文字查找.Emacs还通过正则表达式查找字符串.(正则表达式是一种描述
所要查找文本特性的模式).例如,通过正则表达式,你可以做如下查询:
(1)以空格开关的行,或空行
(2)字符中含有the,但不包括then或aesthetic的字符串
(3)字符串UserX,UserY,或是UserZ,排除其他的(UserA就不匹配)
在第7小时"在缓存中查找文本"介绍了怎样在一个文件中查找文本,在第8小时"
在多个文件中查找文本"介绍了怎样在多个文件中进行查找,在第9小时"正则表达
式查询"中介绍了怎么使用正则表达式查询.
讲完了查找,就不得不说一下替换.Emacs的要替换功能是异常强大的.在第7-9
小时也讲了怎样使用查找替换.
通过Emacs编辑,调试程序
Emacs已被很多程序员使用多年;对于编程的支持,Emacs的非常有用的.你可以
在Emacs内部和调试程序.因此,Emacs几乎可以被看成一个具有全部功能的编程环
境.这一点的最大好处就是无论当你编写和调试程序还是你写信都可以用同样的
操作.(用相同的方法查找,插入,剪切,粘贴文字,等等)
图1.5中你可以看到正在进行编译中的Emacs,图1.6演示了一个正在进行调试的Emacs
图[1.5]
http://learn.tsinghua.edu.cn/homepage/2001315450/emacs24/emacs010.htm
在出错提示上按回车,Emacs会跳到对就的出错行
图[1.6]
http://learn.tsinghua.edu.cn/homepage/2001315450/emacs24/emacs010.htm
调试中的Emacs
强大的宏功能
Emacs很善于让你把全部精力放在编辑文本上,而不是浪费在一些细小,单调的
编辑上.这一点是通过它强大的宏功能来实现的.可以认为宏是个记忆机制,你可
以告诉Emacs记住你的下一个击键,然后就可以仅仅告诉Emacs重新输入它们来完
成你的击键,当然这不是宏的全部...
尽管宏的概念听上去并不像一个很朋用的功能(big deal),但实际上它确实非
常有用.如果你留意你的输入,你会发现很多时个你都是在重复进行同一个编辑动
作.
下一个例子演示了一个使用宏可以加速工作的实例.如果你认为宏并不会让工
作更加轻松,那么想像一下如果你需要在同一行中重复做很多次,或是每次都要做
成百次,或是每天都要做:
(1)把^M从文件中的每行的末尾移走
(2)把拼写检查的字典变成British字典
(3)写信时插入一个信头模板,对每个条目进行查询(querying for each entry)
有关宏的讨论放在了第13小时"宏"
折叠和隐藏文本
当你工作在文档的大量的文件中或是程序时,你经常需要对其有一个概览.例如,
假设要写一本书,也许你需要查看哪一章节存在,找到后也许你只想看某一节,然
后也许是包含在某一章中的某一小节.Emacs可以通过把一章的内容压缩成一行,
章节的内容被显示成三个点,只显示一章的开头.如此等等.在图1.7你可以盾到本
章的文件,除了本节之处的所有的小节都被隐藏起来了.
图1.7[图]
http://learn.tsinghua.edu.cn/homepage/2001315450/emacs24/emacs010.htm
--
四十年来家国, 三千里地山河.
凤阁龙楼连霄汉, 玉树琼枝作烟萝. 几曾识干戈.
※ 来源:·哈工大紫丁香 bbs.hit.edu.cn·[FROM: 202.118.232.*]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:2.538毫秒