当前位置:Linux教程 - Linux资讯 - Emacs入门

Emacs入门

  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代码.看到它们你就会明白为什么
[1] [2] 下一页 

有人嘲笑地说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

(出处:http://www.sheup.com)


上一页 [1] [2] 

按C-h F,看看emacs的FAQ

(出处:http://www.sheup.com/)


上一页 [1] [2] [3]