分享
 
 
 

Emacs入门

王朝other·作者佚名  2008-05-18
窄屏简体版  字體: |||超大  

Emacs本质上是个相当难用的程序.甚至很少有人能知道如何从Emacs退出,

更别说怎么使用了.在这篇文章里我不准备介绍设置emacs的方法,因为那是一项

我也没能掌握的高超技术.

我假设你已经安装了emacs.在命令提示符下,键入:

emacs

Emacs将启动并出现scratch缓冲区,scratch缓冲区仅仅用于写入一些不打算

保存的东西.所以我们必须在启动emacs时从命令行给它一个文件名.要做到这一点,

我窍纫顺鰁macs(当然也可以按C-x C-f,再输入文件名,创建一个与文件相关联

的缓冲区).按C-xC-c(按住CTRL键,然后按x接着按c),就可以退出了.现在,我们启

动 emacs并带一个文件名:

emacs bork.txt

屏幕看起来是这个样子:

Buffers Files Tools Edit Search Mule Help

----:---F1 bork.txt (Text)--L1--All-----------------------------------

(New file)

现在来看看位于底部的状态栏.它显示了我们要处理的文件名,告诉我们使用

的是Text模式(关于emacs的模式后面有更多的介绍),现在位于第恍?并且整个文件

都被显示了.下面的例子是我屏幕上的状态栏,看看当编辑一个有内容的文件时是

什么样子:

----:**-F1 emacs.html(HTML)--L59--70%----------------------------------

两个*号表示,自从我上次保存,文件已被改动过了;我编辑的文件叫

emacs.html,emacs在使用其HTML模式;光标位于59行,目前位置是文件总长的 70%.

现在向空文件bork.txt输入一些文字,注意**号及行数.现在保存你的大作!按

C-xC-s(就是按下CTRL,然后按x接着按s).这时底部会出现

Wrote /home/paul/bork.txt

你已经保存了你的作品!我们退出emacs并在重新启动它时带上我们的文本文件

名.你可以确认文件已经被保存.以上就是你和emacs打交道所需的最基本知识,现在

继续前进...

--------------------------------------------------------------------------------

一些特殊模式

Emacs带有一个内建的LISP语言解释器,所以可以通过对emacs编程完成各种各

样的任务.这使它能恰当地处理HTML,SGML,shell脚本,C代码,texinfo和TeX源文件,

等等.对一个可编程计算器常做的事情就是为它们写游戏,这也差不多就是对一个像

emacs这样的可编程文本编辑器所要做的.emacs有一个LISP版的Eliza,这是一个经典

的仿人工智能程序.在这里它被设计成一个心矸治黾?我们以下的内容需要一点小技

巧,因为运行这些模式的标准键叫"Meta"键.PC没有专门的Meta键,所以通常被映射到

某一个ALT键或CTRL键.(按一下ESC键也会起到M-的作用,在我的机器上X下的emacs把

win95键映射成了Meta--译者注).按M-x,先试试左右ALT键,然后试试左右 CTRL键,当

你按了正确的键时,底部显示栏将出现M-x,后面是光标.现在键入doctor ,按enter.

你的屏幕上将出现如下文字:

I am the psychotherapist. Please, describe your problems. Each time

you are finished talking, type RET twice.

接下去你可以和医生聊一会儿.还是挺有趣的...

这么快就回来了?确实,聊上一段时间就会觉得乏味...既然你已经回来了,我们

将写一些C代码,来看看使用emacs的好处.我想让你启动emacs,编辑~/.emacs文件.

在这个文件里写入下面内容:

(add-hook 'c-mode-common-hook

'(lambda () (c-toggle-auto-state 1)))

第一眼看上去似乎不知所云.这实际就是LISP代码.看到它们你就会明白为什么

有人嘲笑地说LISP的意思就是"许多恼人的,多余的括号"(Lots of Irritating

Superfluous Parentheses. ).幸运的是你现在还不必学习 LISP,尽管要对emacs做

大量设置工作时你必须要学(上面这几行的意思也很简单,当emacs切换到C模式时,

将执行c-mode-common-hook这个hook变量所规定要执行的一系列函数,add-hook把一

个新函数加入这个hook,这样当emacs使用C模式时,执行(c-toggle-auto-state 1),

能在你输入程序时,把换行符自动插在括号,分号,冒号等特殊字符的后面.Emacs在

编辑以.c结尾的文件时会自动使用C模式,也可以肕-x加模式名切换到指定模式--译

者注).保存这个文件,然后启动emacs编辑一个叫 foo.c的文件

输入以下内容:

#include <stdio.h>

main(){printf("\nHello.\n");}

和在这里看到的不太一样,对吗?注意一下emacs是如何自动地在合适的位置缩进

编排代码,并且提醒你括号的匹配.如果你不用C编程,你将体会不到这有多棒(进入C模

式后,按C-h 再按m,将出现对当前模式的描述和一系列有用的快捷键.您 可以发现按

C-c C-a同样可以启动c-toggle-auto-state,其标志就是在状态栏中出现 (C/a)--译

者注).相信我,如果你需要写大量代码,它正是你想要的!

Emacs为HTML,SGML,甚至纯文本都有类似的相应模式.它可以读e-mail,news,浏览

web.Emacs包罗万象,各种工具一应俱全.阅读一下文档,使用它,逐渐地emacs就会在你

手中发挥出它的全部威力.

更多的信息:

按C-h t,阅读emacs自带的联机教程

按C-h i,阅读info文件

按C-h F,看看emacs的FAQ

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有