Emacs帮助文档
emacs教程
教程简介本教程讲什么?第 1 页(共4 页)Emacs 是一个流行的无模式文本编辑器,有许多强大的功能。
本教程将教您使用 Emacs 的基础知识。
为了让您很快熟悉这个优秀的编辑器,本教程先讲述基本概念和常用操作,然后在这基础上提高。
要掌握使用 Emacs 的入门知识,需要经历陡峭的学习曲线。
我们的目的是帮您学会起初不熟悉的界面,这样,Emacs 的力量和用途就变得明显。
然后您就可以根据本教程末尾的参考资料和技巧,自己去深入研究。
谁应该学习本教程?第 2 页(共4 页)Emacs 的主要用户是程序员和 Web 开发者,他们要充分利用这个强大的灵活的文本编辑器,从而提高他们的效率。
另外,对于在 UNIX 或相似环境下履行管理职责的人来说,对 Emacs 的起码的一点熟悉是有用的。
在您开始前第 3 页(共4 页)在学习本教程的过程中,所有您需要的就是 Emacs 的副本,GNU Emacs 或 XEmacs。
如果您正在运行 Linux,那么您可能已经装入了它。
检查的方法是在命令行提示符后输入 emacs。
如果什么都没发生(或您得到“command not found”之类的消息),那么请用您的分发版附带的软件包工具来安装其中的一个软件包。
运行另一种操作系统?查看链接在上面的站点,找到您能用的 Emacs 版本。
作者简介第 4 页(共4 页)Brian Bilbrey 是系统管理员、Web 管理员、产品和 PWB 设计师、作家和 Linux 的倡导者。
他的名片被人读作 NPS,NPS 代表 No Particular Specialty,意思是“没有特别的专业”。
Brian 在日常工作中使用 Linux,象有些人换衣服一样换他的窗口管理器和喜欢的应用程序。
新的分发版就象面包和水那样不可或缺,目前,Brian 正在高兴地试用 Gentoo Linux。
他的 Linux 活动和其它经历的每日网页更新记录可在 找到。
emacs中文手册-入门篇
前言【写给读者的话】这篇文章纯粹是我个人在学习使用emacs编辑器过程中实践的记录,其中语言文字上面也许会有些错误,希望读者发现之后能够帮我纠正,在此先谢了。
这里的每个命令都经过我亲身的实践,关于emacs编辑器系统一些的简易点的中文资料不是很多,所以学习有一定的难度,我的愿望是大家能够花费尽可能短的时间,掌握emacs编辑器的使用方法。
如果你仅仅是为了临时使用这个工具来临时做一些事情,那么本文也适合你,你只需要看本前言中的【最基本命令】一节即可。
如果有人转载,希望您能注明出处和作者;如果将本文用于商业行为,希望您能先通知我;希望大家能够互相体谅,尊重对方的劳动成果。
本文包含了基本的emacs编辑器的使用,目前本人也在最初的学习过程中,希望大家能够在自己空闲时间内共享资料积极交流.【引言】有一种编辑器叫emacs,其实很早就听说了它的大名。
之前我使用linux,看到舍友用vi编辑文件,于是我也自然的用了几次vi,感觉很难用,但是还是艰难地会了几个最基本的vi操作:打开文件,编辑文件,保存文件,撤销,删除,复制,剪切,粘贴。
后来和舍友聊天,他说还有一个叫做emacs的编辑器,于是我就知道了原来linux下面两个最著名的编辑器,emacs和vi.当时我想学学用emacs,不过还没开始就放弃了,因为我连vi都还没有用好,还想再学emacs?做人不能太贪,还是把我刚学会的几个vi命令好好消化消化吧。
于是我就开始使用vi了,一边使用,一边查找自己想要知道的新的功能,一边记录,我记得那时候从大约2007-2008年之间吧。
2009年我进入了公司,大概能够磕磕绊绊地使用vi在linux中编辑文件了,关键的一个月,大约是2009年3月份,我在工作的时候全部使用vi看代码编辑代码编辑文件,晚上我还特地上网搜索关于vi的资料并且亲自实践学习,而且自己还整理了一个简易版的vi手册,到了现在2010年9月3日,我已经能够像说话一样使用vi了。
学习Emacs系列教程
目录学习Emacs系列教程(一):基本使用 (3)一、Emacs的安装和使用 (3)二、Emacs按键 (4)三、进入退出Emacs (4)学习Emacs系列教程(二):导航 (5)一、基本导航 (5)二、中级导航 (5)三、高级导航 (7)学习Emacs系列教程(三):编辑(1) (8)一、文件操作 (9)二、输入文本 (9)三、删除文本 (9)四、撤销命令 (10)五、一些杂项命令 (10)学习Emacs系列教程(四):Minibuffer (12)一、初识Minibuffer (12)二、在Minibuffer中编辑 (12)三、自动补全 (13)四、Minibuffer 历史 (15)学习Emacs系列教程(五):编辑(2)——标记 (16)一、标记和区域 (17)二、标记环 (17)三、非持久性标记模式 (18)学习Emacs系列教程(六):编辑(3) (19)一、Killing (19)二、Yanking (20)三、快速复制 (20)四、CUA绑定 (21)学习Emacs系列教程(七):剪切板 (22)一、复制到剪切板 (22)二、从剪切板中提取 (23)学习Emacs系列教程(八):查找替换 (23)一、增量查找 (24)二、简单查找 (25)三、词组查找 (25)四、正则查找 (26)五、替换 (26)学习Emacs系列教程(九):缓冲管理 (28)一、操作缓冲 (29)二、Buffer Menu (30)三、间接缓冲 (30)学习Emacs系列教程(十):多窗口 (31)一、显示窗口 (32)二、重排窗口 (32)学习Emacs系列教程(一):基本使用前言的前言:本人也是初学Emacs,之前对Vim也只接触了一点,所以也谈不上对哪个更喜欢,也分不出哪个更好。
写这个教程的目的一是方便自己更好的学习Emacs,二是没事找事。
如果有专家路过还望多指点。
前言:大名鼎鼎的Emacs,传说中程序员的终极武器,已经跨越了文本编辑器,IDE的境界,可以替代操作系统GUI的东西。
Emacs说明
Emacs 快速指南.(查看版权声明请至本文末尾)【注意:位于【】之间的内容是译注,比如本行,下同。
】Emacs 键盘命令通常包含CONTROL 键(有时候以CTRL 或CTL 来标示)和META 键(有时候用EDIT 或ALT 来标示)。
为了避免每次都要写出全名,我们约定使用下述缩写:C-<chr> 表示当输入字符<chr> 时按住CONTROL 键。
因此C-f 就表示:按住CONTROL 键再输入f。
M-<chr> 表示当输入字符<chr> 时按住META(或EDIT 或ALT)键。
如果你的键盘上没有META 、EDIT 或ALT 键,用下述方法也等效:先按一下ESC 键然后放开,再输入<chr>。
我们用<ESC> 来表示ESC 键。
重要提示:要退出Emacs,请用C-x C-c(两个连续的组合键)。
下文中左边顶行的>>”字样用来提示你尝试键盘命令。
比如:“>> 现在输入C-v (查看下一屏文字)移动到下一屏。
(别紧张,在输入字符v 的同时注意要按住CONTROL 键)从现在开始,每读完当前一屏你都需要这样做一次。
值得注意的是,当你从上一屏滚到下一屏时,中间会有两行的重复;这样做是为了维持滚屏的连续性,方便你顺畅、连续地阅读。
用编辑器,开门第一件事就是学会在文字中移动。
你已经知道了C-v 可以向下移动一屏,要往上移,请用M-v (也就是按住META 键,然后输入v,如果你没有META、EDIT 或ALT 键那么就先按<ESC> 再按v)。
>> 试试M-v,然后再试试C-v,来回遛几次。
* 小结(SUMMARY)-----------------以下命令在翻相当有用:页浏览时动C-v 向前移一屏动M-v 向后移一屏C-l 重屏幕,并将光所在行置于屏幕的中央绘标(注意是CONTROL-L,不是CONTROL-1)>> 找到光标,留意其附近的文字,然后输入C-l。
Emacs 快速指南
您正在阅读 Emacs 快速指南(Emacs tutorial)。
请见页尾有关复制条件。
Copyright (c) 1985, 1996, 1998, 2001, 2002 Free Software Foundation.Emacs 命令通常包含有 CONTROL 键(有时候以 CTRL 或 CTL 来标示)或是 META 键(有时候以 EDIT 或 ALT 来标示)。
为了避免每一次都要写出其全名,我们将会使用下述的缩写:C-<chr> 表示当键入字符 <chr> 时 按住 CONTROL 键。
因此,C-f 就是:按 住 CONTROL 键再键入 f 。
M-<chr> 表示当键入字符 <chr> 时 按住 META 或 EDIT 或 ALT 键。
如果没 有 META 、 EDIT 或 ALT 键时,则可以用 「按一下 ESC 键然后放开, 再键入 <chr> 的步骤」 来作为替代。
我们以 <ESC> 来表示 ESC 键。
重要备忘录:要退出 Emacs 会话(session),键入 C-x C-c (两个字符)。
位在左侧边界的「>>」字符是让您可以试著使用的命令的提示。
举例来说:<<Blank lines inserted around following line by help-with-tutorial>> [Middle of page left blank for didactic purposes. Text continues below]>> 现在键入 C-v (View next screen)以移到下个屏幕。
(试试看,键入字符 v 时,按住 CONTROL 键)从现在开始,您应该在每次阅读完目前的屏幕时做一次这个动作。
要注意的是,当您从一个屏幕移到另一个时,中间会有两行重复;这样做是为了 提供一些连续性,让您可以接续地阅读文字。
ZHL的emacs笔记:基本工具
t bookmark-bmenu-toggle-filenames :翻转显示书签关联之文件。
w bookmark-bmenu-locate :在辅助缓冲区(minibuffer)中显示当前书签关联文件的信息。
s bookmark-bmenu-save :立即存盘所有书签信息。
l bookmark-bmenu-load :装入书签文件。
? describe-mode :帮助。
q quit-window :退出。
bookmark-save :保存书签信息。
bookmark-insert :在光标当前位置插入指定书签所关联文件的全部内容。
**基本工具:书签、宏、服务器、时间戳、recentf、自动插入、desktop、session、查词典。
**书签:通过书签(bookmark)可以快速到达(或打开)指定文件的指定位置。
说明:1、文件~/.emacs.bmk保存了当前用户的所有书签信息;书签的使用对于源文件没有任何影响(改变)。
C-c C-q edmacro-insert-key :在当前位置插入其后按键(转化为直观的键名)。
C-c C-c edmacro-finish-edit :宏修改完成后执行该命令保存宏并退出宏编辑缓冲区,新修改的宏立即生效。保存是指替换内存中的原有宏,若要在以后的会话中使用该宏还是应当用insert-kbd-macro命令再将命名宏保存到文件中去。
C-x k kill-buffer :放弃修改直接关闭宏编辑缓冲区。
保存宏与装入宏:
insert-kbd-macro :将一个已命名宏的内容(好象已被编译)插入当前光标处。可以将多个宏同时存入一个文件以便于装入。
Emace中文教程
Emacs 教程中文版译者:con Copyright (c) 1985 Free Software Foundation, Inc; See end for conditions.You are looking at the Emacs tutorial.Emacs 的命令通常包括控制键(就是上面标有Ctrl或Ctl的那个)或者是META键(上面标有ED99v或ALT)。
为了方便起见我们将用下面的缩写来代替这些键的全称:C- 意思是当敲入字符时同时按住控制键,因此,C-f表示:按住控制键并且按f 。
M- 表示当键入时按住META或ALT或ED99v键。
如果没有META 或ALT或ED99v键,则用ESC键代替。
表示ESC键注意:退出Emacs,按C-x C-c(两个字符)。
在文本左边区域的“>>”符号表示让你试着使用一个命令。
比如:>> 现在键入C-v(观看下一屏)移动到下一屏。
(就象前面说的,按v的同时也按住控制键)。
从现在开始,每当你读完一屏的时候都可以用它来翻屏。
注意在翻屏后会保留上屏的最后一行;这是为你继续阅读文本提供某些连贯性。
你所需要知道的第一件事是如何把光标从一个地方移动到另一个地方。
你已经知道了如何向前翻一屏--用C-v。
要向后翻一屏,键入M-v。
>> 试着键入M-v 和C-v 几次。
* 摘要(SUMMARY)---------------------------下面几个命令对整屏观看时有用:C-v 向前翻一整屏。
M-v 向后翻一整屏。
C-l 清除屏幕并重新显示所有的文本,然后把光标移动到屏幕的中央。
(注意是Control-L,而不是Control-1)。
>> 寻找光标,并且注意它在文本里的位置。
然后键入C-l。
再寻找光标你会注意到光标现在会出现在同样的文本附近。
* 基本光标控制(BASIC CURSOR CONTROL)-----------------------------------------------------------------整屏整屏的移动是很有用的,可是如何把光标移动到屏幕上文本里的一个指定的地方呢?有好几个方法可以实现。
ZHL的emacs笔记:基本操作
4、emacs里对"段"(paragraph)的定义是指在两个空行之间的内容(也许缩进也是一个评估条件)。但经实验,好象大部分时候是指单行内容。参考变量 paragraph-separate 和 paragraph-start 。
C-p previous-line :向上。
UP hide-region-previous-line :其与 C-p 的一个区别在于不会记住移动开始时的列位置,比如移动开始时处于100列,使用 C-p 向上移动时则每一行都尝试回到100列位置上,而使用 UP 向上移动时则只尝试进入之前一行的列位置,若某行无内容,则其进入0列并不再改变。
C-h C-d view-emacs-debugging :显示如何调试Emacs的相关信息。
C-h t help-with-tutorial :给出一个基本模式的缓冲来显示"Emacs起步(tutorial)",居然是中文的。
C-h g describe-gnu-project :GNU工程(GNU project)描述,即 Richard Stallman 写的"The GNU Project"。
C-h l view-lossage :列出最近输入的100个字符。
C-h h view-hello-file :打开HELLO文件,其中列出了很多种语言及其字符集的hello,从而可以看出当前系统支持的字符集。
要查询所有以某个按键作为前辍的快捷键只需输入该按键后再按 C-h 就可以列出了,比如:C-c C-h ,C-x C-h ,C-h C-h ,M-O C-h ,M-o C-h ,M-s C-h ,等等。
Emacs从入门到精通
Emacs从入门到精通不想再说废话了,既然你会阅读这篇文档,说明你多少对Emacs 有些兴趣,或者已经非常熟悉Emacs的基础操作了,并且希望有所提高。
因此我不需要再把'编辑器之神,还是神的编辑器'之类的恶俗话语放出来,来吸引你的好奇心。
下面的内容,从最基础的快捷键操作开始,一直到让你生活在Emacs中。
这中间没有跳跃,你只需要跟着我做,就可以了。
注意该文档就是用Org生成的,我会把.org源码和html文档一块打包。
关于什么是Org,怎么生成,且看后面的讲解2 Emacs 基础操作2.1 基本文件操作下面这些主要涉及了文件的基本操作,包括打开,新建,保存,另存为以及退出等比较常用的命令。
2.2 光标移动这里边最方便的就是句首句尾和行首行尾,因为我的是笔记本键盘,上下左右主要是用方向键,如果要是标准键盘的话,最好常用绑定键。
2.3 文本编辑这里面包括了复制粘贴剪切删除等常用的操作命令。
注意,在这里,移除包括了剪切和删除两个概念,要区分清楚。
2.4 一些重要的命令2.5 搜索2.6 窗口命令窗口命令比较常用,尤其是编辑多个文件的时候,你可以打开多个窗口,可以提高编辑效率。
2.7 帮助3 Emacs 基础定制每一次emacs启动的时候,它将加载一个名为~/.emacs的Lisp 代码文件,对该文件进行编辑是一种常用的定制emacs的方式。
下面是一个典型的Lisp语句:(setq column-number-mode t)(setqline-number-mode t)它的意思是在minibuffer上栏显示行列号。
其中,括号表示这是一个lisp函数调用,圆括号内第一个符号setq为emacs配置文件中常用的的函数,它为某个全局变量赋值。
该函数第一个参数为要设置的变量名,第二个数则是该变量的值。
下面讲到的每一行代码,你都可以直接拿到~/.emacs中使用。
当你想要了解某一行代码的作用时,可以把它复制粘贴到~/.emacs中,保存然后重启emacs就可以看到效果了。
emacs命令使用说明
Saving Rectangles in Registers
C-x r r r
Copy the region-rectangle into register r (copy-rectangle-to-register).
With numeric argument, delete it as well.
C-x r i r
Insert the rectangle stored in register r (if it contains a rectangle) (insert-register).
M-e 句尾
M-{ 上一个段落
M-} 下一个段落
C-v 屏幕上卷一个屏
M-v 屏幕下卷一个屏
C-M-v 另一个窗口下卷一个屏幕
C-M-V 另一个窗口上卷一个屏幕
M-< 文件头
M-> 文件尾
C-u n 或 M-n 重复执行n次后继命令
// -*- C++ -*-
语法高亮
不是C模式专有,顺便提一下,M-x global-font-lock-mode RET 或在.emacs中加入(global-font-lock-mode t)。在console下,Emacs21才支持语法高亮。(语法高亮,不同关键字用不同的颜色来突出)
C-x r i r
Insert text from register r (insert-register).
M-x append-to-register RET r
Append region to text in register r.
emacs技巧
Emacs技巧一、Emacs简介Emacs是一款强大的文本编辑器,广泛应用于开发者和程序员的工作中。
它具有高度可定制性和扩展性,使得用户可以根据自己的需求进行个性化配置,提高工作效率。
本文将介绍一些常用的Emacs技巧,帮助读者更好地利用这个编辑器。
二、基本的编辑操作2.1 光标移动在Emacs中,使用键盘上的方向键可以移动光标。
除此之外,还有一些快捷键可以更快地移动光标,例如:•C-a:将光标移动到行首•C-e:将光标移动到行尾•C-f:将光标向前移动一个字符•C-b:将光标向后移动一个字符2.2 文本选择在Emacs中,可以使用组合键来选择文本。
例如:•C-space:开始选择文本•C-w:剪切选中的文本•M-w:复制选中的文本•C-y:粘贴剪切或复制的文本2.3 撤销和重做在编辑过程中,我们经常需要撤销一些操作或者重新执行之前的操作。
Emacs提供了相应的快捷键来实现这些功能:•C-/:撤销最后一次操作•C-_:撤销最后一次操作(与C-/相同)•C-g:取消当前操作•C-x u:撤销多次操作(可重复执行)三、Emacs插件Emacs的真正强大之处在于它的插件系统。
通过安装和配置插件,我们可以进一步扩展Emacs的功能。
下面介绍几个常用的插件:3.1 HelmHelm是Emacs的一个增强型补全框架,可以用于快速浏览和选择各种内容,如文件、缓冲区、命令等。
它提供了更好的交互体验和更高的效率。
3.2 MagitMagit是一个强大的Git客户端,可以在Emacs中进行Git操作。
它提供了一套完整的Git工作流程,包括提交、拉取、推送、合并等操作。
使用Magit,我们可以更方便地管理和操作代码库。
3.3 Org ModeOrg Mode是Emacs中的一个组织和记笔记的工具。
它可以用于创建和管理待办事项、记录日程安排、撰写文档等。
Org Mode具有强大的功能和灵活的语法,可以帮助我们更好地组织和管理工作。
【Linux】Emacs教程中文版
【Linux】Emacs教程中文版Emacs的命令通常包括控制键(就是上面标有 Ct rl或C tl的那个)或者是MET A键(上面标有ED IT或AL T)。
为了方便起见我们将用下面的缩写来代替这些键的全称:C- 意思是当敲入字符时同时按住控制键,因此,C-f表示:按住控制键并且按f 。
M- 表示当键入时按住MET A 或ALT或EDIT键。
如果没有ME TA 或ALT或E DIT键,则用ESC键代替。
表示ESC键注意:退出Emac s,按C-x C-c(两个字符)。
在文本左边区域的“>>”符号表示让你试着使用一个命令。
比如:>> 现在键入C-v(观看下一屏)移动到下一屏。
(就象前面说的,按v的同时也按住控制键)。
从现在开始,每当你读完一屏的时候都可以用它来翻屏。
注意在翻屏后会保留上屏的最后一行;这是为你继续阅读文本提供某些连贯性。
你所需要知道的第一件事是如何把光标从一个地方移动到另一个地方。
你已经知道了如何向前翻一屏--用 C-v。
要向后翻一屏,键入M-v。
>> 试着键入M-v 和 C-v 几次。
* 摘要(SUMMAR Y)---------------------------下面几个命令对整屏观看时有用:C-v 向前翻一整屏。
M-v 向后翻一整屏。
C-l 清除屏幕并重新显示所有的文本,然后把光标移动到屏幕的中央。
(注意是C on trol-L,而不是 Contro l-1)。
>> 寻找光标,并且注意它在文本里的位置。
然后键入C-l。
再寻找光标你会注意到光标现在会出现在同样的文本附近。
* 基本光标控制(BASICCURSOR CONTRO L)-----------------------------------------------------------------整屏整屏的移动是很有用的,可是如何把光标移动到屏幕上文本里的一个指定的地方呢?有好几个方法可以实现。
GNU.Emacs完全手册
EMACS 的编辑功能不只具备一般编辑器所有的功能,它还提供 如下的功能:
z 文字的填充(filling of text)。 z 程式自动内缩功能。 z 可以同时阅读一个以上的档案。 z 对於字元(characters)、字(words)、列(lines)、句子 (sentences)、段落
未来完成的 GNU 系统将可以执行 UNIX 上的所有程式, 但它却与 UNIX 系统不完全一 致。 GNU 系统将改进 UNIX 系统的缺失,使它使用起来更方便。例如,未来的系统将会有 较长的档名,档名会有版次等等;新的系统会使用 C 与 LISP 做为系统程式语言。
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'' 的方式至 这个 site ,取得 GNU EMACS 的原始码。 GNU EMACS 不是 public domain 的产物, 它 有版权也有使用上的限制,那就是任何得到它的人都不可以将其视为私有的财产。修改过的 GNU EMACS 也不可以作为商品来牟利,金钱交易的行为是绝对被禁止论 EMACS 的入门为主,其内容包括 EMACS 发展的概述, EMACS 整合 环境的简介以及 EMACS 的基石 - editor 的详谈。本文在结构上分成八章,第一章讨论有 关 EMACS 的源起、发展历史以及 EMACS 的特性简介。 第二章讨论 EMACS 的 on-line help。第三章则简单介绍 EMACS 的整合环境。接下来就是本文的重点,探讨 EMACS 的 本质。 所以,第三章之後的各章节则详细探讨 EMACS 为 editor 的这一个主题。
emacs中文
参考书目:1. GNU Emacs Manual (Emacs 官网有下)2. O'Relly Learning GNU Emacs, 3rd Edition一、Emacs的安装使用学习软件的第一件事当然是把它下下来,/pub/gnu/emacs/windo ws/emacs-23.1-bin-i386.zip目前最新版23.1,这个版本号够吓人的,Opera的10.0还不及别人的一半。
本人不幸,使用的是Windows版本。
安装过程异常简单,直接解压就行,但路径中不能包含空格,所以就表往Program Files 文件夹下面丢了,我是直接放在根目录的,找起来也方便。
运行bin目录下的addpm.exe可以添加开始菜单快捷方式。
也可以直接运行runemacs.exe 来启动Emacs。
卸载也很方便,Emacs不会对系统写任何垃圾东东,直接删除文件夹即可卸载,还有你的快捷方式。
启动Emacs后的界面如下:猛的一看,没什么太出彩的地方,感觉比较简陋。
上面依次是标题栏、菜单栏、工具栏,中间一大块就是编辑文本的地方,下面两行是mode line 和echo area。
echo area是你输入命令和显示消息的地方。
在mode line中第一个字符表示字符集,c代表chinese-gbk,后面那个\ 符号表示换行类型,\是指DOS的CRLF换行,另外还有Unix的LF换行和Mac的CR换行。
然后一个字符,表示打开的文件是否可写(先称为文件便于理解,实际上是buffer),%表示只读,- 和* 表示可写。
再一个字符表示文件是否已写,% 或- 表示还没动,*表示已经更改。
这两个字符组合起来有四个状态。
符号表示%% 只读,未更改-- 可写,未更改** 可写,已更改%* 只读,已更改再后面一个- 表示路径,后面黑体的*GNU Emacs* 表示buffer的名称。
后面的All表示光标的位置,当文件在一页就能显示完的时,这里是All,此外还有Top, Bot,以及当前位置百分比。
Emacs中文手册
Emacs使用手册Emacs 启动:直接打e macs, 如果有X-windows就会开视窗. 如果不想用X 的版本,就用 e m acs -nw (No windows)起动.符号说明C-X 表示按住CTRL键, 然後按X, 再把CTRL, X一起放开.M-X META META在没有META键的电脑上, M-X 等於先按 ESC键, 接著按 X键.Sun上面META键就是菱形的那个键.有些系统META键就是ALT键.(或者某一边的ALT键)C-X或 M-X的X没有大小写分别.Emacs按键命令基本上是一串C-<c hr>和M-<c h r>组成的.超过两个以上的按键命令, Emacs会在萤幕最下面一行显示你按过什麽. 这一行叫作mi ni buffer结束Emacs按 C-x C-c取消执行 C-g有些Emacs命令会跑很久, 可以用C-g中断之. 按错键也可以按C-g取消.上下移动 C-p向上 (previous line) C-n向下(next line)左右移动 C-f 向右 (forwar d) C-b 向左 (backwar d)其实Emacs内部没有行的概念, 把一篇文章放在一个大b uffer里面, 所以C-f (forwar d)就是向档尾移动, C-b (backwar d)是移回去的意思, 一次一个字.翻页 下一页 C-v (view next screen)上一页 M-v翻页时,上一页末尾会留一点在萤幕最上面,以维持连续性.Emacs在游标接近萤幕最下方时会自动跳半页, 把档案往前挪一点,方便阅读.重画萤幕 C-LEmacs里面游标的专有名词叫p oint. point ==游标目前的 点游标一次跳一个字(word) M-f 往後跳 M-b注意 C-f 与 M-f, C-b 与 M-b的对称性.移到行头 C-a 行尾 C-e移到句首 M-a 到句尾 M-e(M-a 到上一个句点後面,一个句子的起头.M-e 到句点後面)移到档头 M-<档尾 M->删除游标目前指的/後面的字 C-d前面的字 DEL (Delete键)DEL的正名叫Rubout (Rub out)M-DEL 往回删一个字(word)M-d往前删 (游标後面)C-k 删至行尾 (kill)M-k 删到一句子结尾(删到句点) (kill)注意Backspace = C-h在Emacs下是help的意思後面有(kill)的, 表示此删除的动作是kill, 不太等於delete.e m acs会把kill掉的东西放到kill ring去, 算是一种暂存的地方,以後可以叫出来.见 yank说明.Undo: C-x uC-_ 等於 C-x u有些DEC终端机, C-/就是C-_有时等於C-Shift- -重复执行举例, 向右移 8个字, C-u 8 C-fC-u在Emacs里是蛮特别的,用来设定一些引数(argu ment/re peat count) 给其後的命令.C-u 2 0 C-n向下移 20行有一个特别的例外, C-u 3 C-v 不是翻三页, 而是整个萤幕向上移三行.C-u 1 0 C-x u UNDO 10次给C-L一个引数会怎麽样:C-u 0 C-l 会重画萤幕,并且把目前的行移到萤幕第一行.另外, C-u 100 等於 M-100C-u数字 等於 M-数字X windows 下,C-left C-right 一次移一个字(word).C-u p C-down 移动一段 (paragra p hs/C语言的话是block) Home = C-aEnd = C-eC-Home = M-<C-en d = M->PgUp PgDn = M-v C-v设定重覆次数更加简单,比如要向右移10个字 C-1 C-0 right-arrow就是按住CTRL, 然後打10就对了, 比 C-u 1 0 简单.Mouse中键用来选取有hi-light的地方.右键是m e n u-button如果不小心按两次ESC, 等於 M-ESC, 会有一个讯息跑出来说你按到一个被disable的命令. 这是高级指令, 作者认为初学者用不道,所以会问你要不要启动它, 一般回答no.如果某一行太长, 萤幕显示不下, Emacs会在萤幕最右边打个$, 表示此行未完,右边还有.把一行拆成两行: 在想拆处按Enter即可.合并两行为一行: 在行尾按C-d (或行首按DEL)Yank: 吐出被删掉的(killed)东西.只要用kill (C-k, M-k等) 删除, 超过一个字的资料,e m acs就会把它存起来, 然後C-y 可以把它叫出来.功能跟Cut & Paste一样. Kill 和delete不一样, 只有被kill掉的东西才能用yank吐回来.游标在同一地方不动, 连续kill掉的资料会被当成一次kill掉的,被Kill掉的资料是放在称作 kill ring的资料结构上面, ring就是个圆圈, 被kill掉的东西会依序摆在圆圈上. yank 会放回最近一次kill掉的资料. 如果不是你想要的话, 用M-y 可以换. (M-y就是告诉e macs, 不对不对, 我不是要这一个,换前一个给我).M-y 要紧接在C-y之後.拷贝文字的方法==连续 C-k 几次, 把要拷贝的行全部删掉,然後按 C-y 弄回来. 再到想复制的地方按一次C-y, 就成了.把要拷贝的资料kill掉在yank回来好像很笨. 是有比较文明的方法, 那就是M-w, 不过较麻烦.首先,要先设标记. Mark 用 C-SPC 或 C-@ 设. 然候把游标移到另一端, 按 M-w 就可以把 m a rk 到 point间的字存到kill ring上. point 就是游标的意思.Emacs不会把Mark起来的地方用highlight表示, 除非在X下.在X下, 可以用M-w 来拷贝用滑鼠反白的文字.kill & yank 就是 cut & paste的意思.以上大部份指令对Bash的命令列编辑也有效档案操作读档: Emacs术语叫 finding a file.C-x C-f 然後在mini-b uffer输入档名. 输入档名时, SPC键有auto-co m plete的功能,或者会秀出到目前为止档名前几个字和输入一样的. (TAB键也有类似功能)C-x C-f 叫 find-fileC-x C-s 存档 (save current file, save current b uffer)C-x s 存所有的档C-x i 插入档案 把另外的档案的内容读入目前编辑区内视窗Emacs把档案读进来,存在b uffer中.我们透过window来看/编辑buffer.两个视窗会把萤幕切成两部份, 他们可以同时显示相同的, 或不同的档案.对初学者而言, 最需要的是记住怎样让不想要的视窗消失:C-x 0 关掉目前的视窗C-x 1 会让目前的视窗占满整个萤幕 (One Window),取消/关掉其他的视窗.Emacs里面有许多功能都会开一个小视窗来和使用者沟通, 显示讯息.有时候不会自动消失很讨厌, C-x 1 就很有用.另一个功能是如何跳到另一个视窗.C-x o (other-window)C-x 2 把目前的视窗切成两个 (水平分割)C-x 3 (垂直分割)C-x 4 是一串与视窗有关的指令.C-x 4 是一串与视窗有关的指令.C-x 5 则是扩展到X的视窗, 称为fra me.C-x 5 2 就是再开另一个X视窗 (fra me).多档编辑C-x C-b 看目前有那些buffer (buffer就是e macs放开起的档案的地方). C-x b 然後在minibuffer输入buffer的名字,可以切换编辑buffer.TAB键也有作用. 有些内部的buffer (就是没有档案的buffer), 是用*开头和结束, 这个也要打, 如*scratch*最候提醒:C-x 1 可以把多馀的视窗关掉.Emacs扩充指令前面介绍的e m acs按键大部份都是C-<c hr>或者 M-<c h r>的形式.这是最简单的按法, 由一对按键构成一个指令.Emacs的按键可以超过2个以上. 如 C-x 1 或 C-x C-b.一般超过一个按键组合的命令都是用C-x 开头.令来执行. 一般这些命令名字都很长, 不过都不常用. 等一下我们会介绍一些. 还有介绍怎麽把这些命令设成按键指令.C-x C-c 就是结束Emacs. 不过一般Emacs很笨重, 一旦起动就不轻易退出. 所以比较常用的是C-zC-z把Emacs暂停, 回到命令列. 当你下次再需要编辑时,打fg %emacs就可以把Emacs唤醒.在X下, C-z会把e macs缩成iconm o de linee m acs编辑画面由编辑区(buffer) 状态列(modeline) 和对话区(minibuffer) 构成. 这里解释m o deline 显示的讯息.以下是个范例:--**-XEmacs: xemacs.qs (Funda me n tal)----74%-------由後面往前解释, 74% 表示游标的位置.(Funda me n tal)表示编辑模式.这是最原始的模式. 编辑不同种类的文章可能希望用不同的模式, 比如说C-m o de, lisp-m o de, tex-m o de, text-m o de 等等. 在不同模式下可能多一些按键出来. 举例text-m o de.M-x text-m o de可以切入text-m o de, 这是一般人编辑文字使用的模式. 和Funda me ntal m o de 没什麽差异. 不过游标移动时, Emacs对一个字的定义就有所不同, 因而M-f M-b 等移动一个字, 一个段落的指令就可能会停在标点符号的前面.此时状态列变为... (Text)----70%---以上说的是Major m o de. 另外还有mi nor m o de, 其实就是一些额外的功能.比如说, M-x auto-fill-m o de 则状态列显示 (Text Fill).auto-fill就是自动断行, 让文章每行固定有70个字.M-X fun da me ntal-m o de 可以变回来.这里要说明一下, e macs在 mi nibuffer下有auto-co m pletion的功能,也就是打M-x fun d然後按 SPC, 它会自动补全fun da me ntal-m o de,不用全打. 如果有两个以上的选择, 它会告诉你. 这个功能对find-file (C-x C-f)等等档案编辑功能也有效. 前面提过.左边的* 表示这个编辑区(buffer)可以修改.有一些e macs的buffer是rea d-only buffer, 就会标成%%%表示档案是rea d-only.C-x C-q 可以解开rea d-only的锁定, 无论如何你要改这个编辑区.这是个toggle指令, 如果原来是可以修改的, C-x C-q会把它切成rea d-only.Search没有Search 功能的编辑器简直就是小朋友的玩具. Search是一项很重要的功能, 所以e macs也提供的很完善.C-sC-rM-x re-search-forwardM-x re-search-backwar dM-x search-forwar dM-x search-backwar d以上这些指令是基本的search指令. C-s, C-r是increa mental search,就是你打字的同时, e m acs就直接帮你找. 一个是forward, 一个是backward. 找到了怎麽办? 按C-g可以取消搜寻, 跳回原来的位置. 按Enter就让游标停在找到的地方 --此时minibuffer显示:Mark saved where search started 什麽意思? 就是isearch帮你在原来的位置设了一个m a rk, 然後把point (cursor) 移到新的位置.想跳回去原先的地方?C-x C-x 就可以了.(exchange-point-an d-m a rk)C-u C-SPC 可以依序跳回前几次设m a rk的地方.(C-SPC是设m a rk, 给它一个argu me nt, 就是反动作)(还记不记得C-u可以给後面的指令设一些参数.有些指令拿这个参数来当作re peat cou nt,有些指令就只拿来当作on/off, tr ue/false, set/clear而已)M-x re-search-forwar d可以让你用regular expression搜寻.M-x search-forward则没有increa me ntal的功能.另外一个指令, 作用和grep很像:M-x occure和search相提并论的就是re place.M-x re place 然後按 SPC, 就知道了.Emacs的设定档是 $HOME/.e macs你应该多少知道, e macs是用lisp写成的编辑器, .emacs档也都是要用lisp的语法设定. e m acs用的lisp称为elisp, 和一般的lisp差一点点.有一个info page, e m acs-lisp-intro, 深入浅出的介绍e m acs lisp.如果你还不会, 不懂p rogra m ming, 强烈建议你看这份文件. 如果你会texinfo, 你可以把它很漂亮的印出来. (内容一点点而已, 两三天就看完了)如果你把.emacs搞砸了, 进e m acs很奇怪, 怎麽办?1. 用 vi 改.emacs :>2. e m acs -q 进e m acsMajor Modes一般常见的e m acs m ajor m o de有fun da me ntal-m o detext-m o delisp-m o de 有自动对括号/重排, 直接执行lisp code功能.c-m o de/cc-m o de c-m o de是比较旧的c-m o de, cc-m o de应该是 目前新的c-m o de. 有自动重排/对括号的功能.也可以在e macs内co m pile, 跳到co m piler error修正错误. 执行程式时deb ug. (配合d bx/g db)co m pile是透过Makefile进行.tex-m o de Tex/Latex编辑模示. 可能是打一些奇怪的标点符号比较方便.<p r ogra m ming-language>-m o de同lisp/cc-m o de. 如果是interpreter的话,e m acs通常都可以直接执行/d e b ug.<p r ogra m ming-language>-m o de还有tags的功能, 後述.h t ml-m o de, texinfo-m o de, sg ml-m o de: 编写h t ml, texi, sg ml之用. w3-m o de WWW browser. 在x-win上不满意,但可以接受...TagsTags 是一个显为人知的功能? 所以我想提一下. 这不是e macs发明的,而是vi 原本的特异功能. e m acs只是发扬光大而已.假设你有一个目录, 里面是一个程式的原始码, 比如说, tin 的原始码,放在 ~/ti n-1.3beta 下面. 你想看它们.首先, 叫e m acs cd到该目录:M-x cd然後, 建立tag table.tag table 就是一张对照表, 记录哪个符号(variable/f u nction call)对映到哪个档案的哪个地方. 有这张表, e macs可以让我们快速的在程式码内游走. 一般这张表是一个档案, 叫作TAGS (大写)M-! etags *.[ch]M-! 是执行external shell co m m a n d的意思. etags就是e m acs的建表程式. 你只要告诉它你的so urce code在那□即可.vi的话是使用ctags这个程式, 它建出来的档名叫tags (小写). 因为我们介绍e macs, 所以不管它.然後, 怎麽看程式? 你知道所有的C 程式都是由m ain()开始, 所以你想找到m ain()在哪个档案. 这时只要按 M-. 然後e m acs会问你tag table在哪里. 因为我们已经cd到该目录, 直接按enter就好了. 然後输入m ain,e m acs就会把你带到m ain(){ ... }去.如果 你看到某个程式片断呼叫一个你没看过的函式, 你可以把游标移到该函式的名字上, M-. ENTER 就搞定了.如果 e m acs找错了 (比如有变数和函式同名, e m acs跳到变数去),那你可以用 C-u M-. 找下一个.在编辑程式码的时候, M-SPC 很有用, 它会把游标附近的空白缩成一个.在其它地方也有效.Emacs的一些p ackage:M-x dire d (或C-x d)游走/编辑 目录, 就是档案总管的意思 :)M-x m a n就是m a n pageM-x s hell 开个co m m a n d p ro m p t, 不过不能跑vi,elm, tin...M-x gnus 读新闻/读信M-x r m ail 读信M-x vm view m ailM-x m h-r m ail 读信(package m h-e)M-x m h-s mail 送信(package m h-e)强列建议改用e m acs读news/b bs. 世界会更美好!读信的话就要看你的感觉. 这些读信程式都会把信从系统的m ail folder搬到自己的目录下, 占用q uota, 我不喜欢:p 建议elm或m u t t.除非参加m ailling list配合p roc mail. 不然不实用.用m h-e 须要装m h这个外部程式, 不太好. 建议vm 或 gnus.写完信, C-c C-c 就可以送信.如果你的资料用rcs/sccs作版本管理, e m acs自动会起动version control (minor m o de.), c-x c-q 变成check-in/c heck-out.如何取得更多的资讯:Emacs的lisp 经过多年的发展,已成为完整的self-docu me nting系统.很多东西都可以线上找到你要的资讯.前面说过,或者你已经不小心按backspace遇到了, C-h (就是backspace 的ascii码) 在e m acs里面是help的意思, 它可以带出一串指令.常用的有:C-h F Emacs FAQC-h t Emacs 使用教学C-h n Emacs NEWS file, 介绍最近改版的新功能C-h i Info syste m. Info是gnu用来取代m a n page的系统, 基本上和文字模示的WWW差不多. 有许多重要的资讯可以在这边找到. 如果你是新手, 建议你在x-win下看. 不然, 按键 m (men uite m), SPC next pagel (last no de: no de就是章节的意思) u (up no de)d (directory, 索引). BS (Backspace, back a p age).如果全部只按SPC, 就跟m a n一样.C-h k describe key, 告诉你按这个键执行那个lisp function.C-h f describe function. 告诉你function在作什麽.如果只按SPC, e macs会给你所有lisp 函数的列表, 和说明.C-h v describe variable 同function.C-h a apro pos的意思(approximate). 给lisp function的部份字串, e macs帮你找.C-h b 列出目前所有的keybin dingC-h m m o de help. 列出目前的m o de的特殊说明.C-c C-h列出以C-c 开头的所有key-binding. 虽然说Emacs 可以定义按键, 可是Ctrl-开头的所有组合大概都用光了,目前的convention是C-c <c h r>留给u ser, C-c C-<c hr>留给p ackage.有以上这些help, 你的e m acs/elisp功力会随著时间成长.Elisp 简介:Emacs有三份手册.第一份是使用手册, 第二份是Elisp 手册, 第三份是 Elisp 简介. 第三份的程度是入门级, 值得看. Elisp手册其实也写的很简单, 还教你lisp, 不过有点长, 适合参考.因为我lisp没有仔细学过, 所以:以下所言, 如有巧合, 那才是真的.Basic data type字串 (string) "Hello, World"字元(char) ?a ; 问号开头ato m & list:(1 2 3 4) 是一个list, 由4个 ato m组成.p air: 中间是句点.(apple . 2)alist (associated list)就是一堆pair的集合,就像perl/tcl的associative array.或者说是一个资料库, 一堆(key, value) pair.'((Apple . 1)(Orange . 2)(PineAp ple . 3))vector (?)e macs 19用vector 来表示按键(key strok sequence)[f1] [f2] [f1 a]nil 就是空的list, 或者表示 falset trueForm s我们写程式最好有样版让我们填空最简单了.Form就是样版, 不过意义不太一样.Form就是Elisp 可以接受的句型.lisp 解译器预设是对list的每个元素求值(evaluate),除非是 s pecial for m, 有特殊的定义. 比如说(defun FUNC (ARG-LIST)BODY ...)就是一个s pecial for m, 用来定义函式, 所以FUNC 不会被求值, 被当成sy m bol, ...(quote (LIST))这也是个s pecial for m, 叫 lisp 把 (LIST)当做sy mbol就好了,不要 evaluate.q uote 很常用, 所以有个缩写:'(LIST) 等於 (quote (LIST))'Asymbol 可以表示一个Ato m, 名称叫Asymbolset 可以产生/定义新的变数.(set 'hello 1); hello = 1; 注意我们用 'hello, 所以lisp不会evaluate hello的值.这家伙很常用, 也有简写.(setq hello 1)setq 就是set q uote 的缩写. 这是个 s pecial for m, 不会对第二个元素求值.valuation在Emacs下, C-x C-e 可以执行(evaluate, 求值)游标左边的叙述.结果会出现在mi nibuffer.lisp-interaction-m o de中 C-j 可以evaluate, 并且把结果ap pe n d到 buffer.lisp 程式由一堆list 构成.称为expression.每个expression 都回传回一个值.有些expression有副作用, 如删掉一个字.(这跟C 的int delete_char() 意思一样, 它传回int,并且删掉某个char)定义函式:(defun NAME (ARGS-LIST)"注解" ; o ptional(interactive) ; op tionalBODY)定义一个叫NAME的函式. BODY 是一堆expression.注解是用来给C-h f显示的.(interactive) 表示这个函示会和u ser/b uffer作用.(interactive "B") 表示执行此函式先问u ser一个b uffer的名字,然後当作参数传给它. (如, 当u ser透过key-bin ding或者 M-x 呼叫此函式时)(interactive "BAppen d to b uffer: \n r")问u ser b uffer na me时, 提示号 Appen d to b uffer:此function有两个引数,第一个是B, 就是buffer第二个是r, region用\n隔开.(interactive "p") 用C-u设的p refix 把它当作参数传给我.预设值==4. C-u C-f 向右移四个字一些lisp 函式:(list 1 2 3 4) 产生'(1 2 3 4)(car '(1 2 3 4) 1(cdr '(1 2 3 4) '(2 3 4)(cons 1 '(2 3 4)) '(1 2 3 4)(cons 1 2) (1 . 2)(cons 0 (cons 1 (cons 2 nil)))等於 '(0 1 2){list 是用 pair 串起来的,用C 表示:pair: {Object *first, Object *secon d};*(pair[i].first) == i;pair[i].secon d == pair[i+1]; }(cons '(1 2) '(3 4)) '((1 2) 3 4)(setq a 1)(1+ a) ; a+1(+ 2 a) ; a+2(* 1 2 3 4)(current-buffer) ; 传回目前b uffer的资料物件(switch-to-b uffer (other-b uffer))(set-buffer)(buffer-size)(setq current-p os (point))(point-min)(point-m ax)(message "Hello") ; 在mi nibuffer显示Hello(if (test)(then-part)(else-p art))(cond ((test1) BODY1)((test2) BODY2)(t OTHER-WISE)(let ((var1 value) ; local variablevar2 ; no value(var3 value)...)BODY ...)(lamb da (ARG-LIST) ...) 同 defu n, 但是没有名字 (anony mo u s).可以存到变数去:(setq hello (lamb da () (message "Hello,World")))(funcall hello)(goto-char (point-m ax))(defvar VAR VALUE "*注解") 如果VAR 不存在才定义. 有注解可以用 C-h v 看. 注解打*号表是使用者可以直接改/这个变数本来就是 给使用者设定用的.可以用 M-x edit-options 来线上设定 (emacs结束就没有了,不过edit-o ptions可以给你所有可修改的变数的列表,你可以放到.emacs档内.(directory-files "./" t "\\..*")ret ur n a list of files u n der directory X(load "xxxx.el") 同#include <s t dio.h>给使用者设定用的.可以用 M-x edit-options 来线上设定 (emacs结束就没有了,不过edit-o ptions可以给你所有可修改的变数的列表,你可以放到.emacs档内.(directory-files "./" t "\\..*")ret ur n a list of files u n der directory X(load "xxxx.el") 同#include <s t dio.h>(setq load-p at h (cons "~/e m acs" load-pat h)) ; load的search p at h. (autoloa d ...) 不像load会直接evaluate 整个档案, 而是需要时再load.(local-u n set-key [(control c)])(local-set-key [(control c) a] 'forwar d-sexp)sexp 就是一个expession, n个expression如果用括号括起来就算一个. (expression的定义随语言的不同而有不同, 在C, lisptex, h t ml, fortra n 下皆有差异)。
Emacs 快速指南SUMMARY
●特殊控制C-u 数字命令带参数的命令C-x C-c退出EmacsC-g终止失去响应的命令,或取消数字参数和只输入到一半的命令META系列组合键用来操作“由语言定义的单位(如词、句子、段落)”CONTROL 系列组合键用来操作“与语言无关的单位(如字符、行等)”ESC本身是一个字符键,而不是一个修饰键(modifier key)TAB自动完成●命令集扩展(EXTENDING THE COMMAND SET)C-x字符扩展。
C-x 之后输入另一个字符或者组合键。
M-x命令扩展。
M-x 之后输入一个命令名●基本的光标控制(BASIC CURSOR CONTROL)C-f 向右移动一个字符(forward)C-b向左移动一个字符(backward)M-f 向右移动一个词【对中文是移动到下一个标点符号】M-b向左移动一个词【对中文是移动到上一个标点符号】C-n移动到下一行(next)C-p移动到上一行(previous)C-a移动到行首C-e移动到行尾M-a移动到句首M-e移动到句尾M-<移动到所有文字的最开头M-> 移动到所有文字的最末尾●页面光标控制C-v 向前移动一屏M-v 向后移动一屏●搜索(SEARCHING)C-s是向前搜索C-s C-w搜索光标到单词结尾部分C-r 是向后搜索结束搜索C-g会让光标回到搜索开始的位置<Return>则让光标留在搜索结果上●替换(replace)M-x repl s<RET>changed<Return>altered<RET>替换光标以下内容●插入与删除(INSERTING AND DELETING)<Delback>删除光标前的一个字符C-d删除光标后的一个字符M-<Delback>移除光标前的一个词M-d移除光标后的一个词C-k移除从光标到“行尾”间的字符M-k移除从光标到“句尾”间的字符(包括换行符)C-@ C-w移除位于这两点之间的所有文字M-w copyC-w cutC-y召回最近一次移除的内容,pasteM-y召回前几次移除的内容●撤销(UNDO)C-x u撤销以前的命令●列操作C-@ 在起始位置做标记C-x, r, k在结束位置剪切C-x, r, y在结束位置粘贴C-x, r, o在结束位置插入空白列,列缩进●文件对比(Ediff)M-x ediff 对比按提示输入的文件A和文件BV 同步浏览两个文件j 跳到第一个不同的地方n 跳到下一个不同的地方n+j 跳到第j个不同的地方●文件(FILE)C-x C-f寻找一个文件C-x C-s储存这个文件C-x k关闭这个文件M-x customize-variable <Return> make-backup-files <Return>关掉文件备份●缓冲区(BUFFER)C-x C-b列出缓冲区C-x s保存多个缓冲区●被禁用的命令(DISABLED COMMANDS)空格确认要执行被禁用的命令n取消执行被禁用的命令●多窗格(MULTIPLE WINDOWS)C-x 2将屏幕水平划分成两个窗格C-x 3将屏幕垂直划分成两个窗格C-x 1只保留一个窗格C-M-v滚动另外一个窗格C-x o切换到另外的窗格C-x 4 C-f在一个新开窗格里打开文件●自动保存(AUTO SAVE)M-x recover file<Return>恢复你的自动保存文件,不是“#sample.file#”●状态栏(MODE LINE)M-x fundamental-mode切换到 Fundamental模式M-x auto fill mode<Return>切换自动折行模式C-x f配合数字参数来重新设定行边界M-q手动折行●递归编辑(RECURSIVE EDITING LEVELS)ESC ESC ESC离开递归编辑●获得更多帮助(GETTING MORE HELP)C-h然后再输入一个字符以说明需要什么帮助C-h ?查看所有帮助C-h c 组合键命令的简要说明。
Emacs教程中文版
Emacs教程中文版2007-12-18 10:14Emacs 的命令通常包括控制键(就是上面标有 Ctrl或Ctl的那个)或者是META 键(上面标有EDIT或ALT)。
为了方便起见我们将用下面的缩写来代替这些键的全称:C-<chr> 意思是当敲入字符<chr>时同时按住控制键,因此,C-f表 示:按住控制键并且按 f 。
M-<chr> 表示当键入<chr>时按住META或ALT或EDIT键。
如果没有META 或ALT 或EDIT键,则用ESC键代替。
<ESC>表示ESC键注意:退出Emacs,按C-x C-c(两个字符)。
在文本左边区域的“>>”符号表示让你试着使用一个命令。
比如:>> 现在键入C-v(观看下一屏)移动到下一屏。
(就象前面说的,按v的同时也按住控制键)。
从现在开始,每当你读完一屏的时候都可以用它来翻屏。
注意在翻屏后会保留上屏的最后一行;这是为你继续阅读文本提供某些连贯性。
你所需要知道的第一件事是如何把光标从一个地方移动到另一个地方。
你已经知道了如何向前翻一屏--用 C-v。
要向后翻一屏,键入M-v。
>> 试着键入 M-v 和 C-v 几次。
* 摘要(SUMMARY)---------------------------下面几个命令对整屏观看时有用:C-v 向前翻一整屏。
M-v 向后翻一整屏。
C-l 清除屏幕并重新显示所有的文本,然后把光标移动到屏幕的中央。
(注意是Control-L,而不是 Control-1)。
>> 寻找光标,并且注意它在文本里的位置。
然后键入C-l。
再寻找光标你会注意到光标现在会出现在同样的文本附近。
* 基本光标控制(BASIC CURSOR CONTROL)-----------------------------------------------------------------整屏整屏的移动是很有用的,可是如何把光标移动到屏幕上文本里的一个指定的地方呢?有好几个方法可以实现。
emacs配置文件
emacs配置⽂件今天折腾了⼀天emacs,终于简单的配置了⼀下我的emacs。
作为新⼿,我参考了很多⼈的博客,因为即查即试即写,所以没有把别⼈⽂章的链接留下。
因此,我把我的配置⽂件分享给⼤家。
我⽤的是ubuntu,使⽤sudo apt-get install emacs安装之后,很多⼈说在主⽬录下有⼀个⽂件.emacs,可是我没有找到,所以创建了⼀个.emacs。
基本配置完成后,发现配⾊⽅案不太好看,于是⽹上下载了⼀个color-theme.el配⾊⽅案。
这其中涉及到⼀个加载路径的问题,我摸索了很长时间,才了解到需要将⽂件color-theme.el放到"usr/share/emacs/site-lisp",也就是所谓的加载路径就是"usr/share/emacs/site-lisp"。
下⾯是配置⽂件,⾥⾯涉及到⼀些⼩问题,我也在注释中给与了解释。
;; author: chinazhangjie;; e-mail: chinajiezhang@;; 指针颜⾊设置为⽩⾊(set-cursor-color "white");; ⿏标颜⾊设置为⽩⾊(set-mouse-color "white");; 从color-theme中获取;; ⽹上下载color-theme.el,放到加载路径(/usr/share/emacs/site-lisp )下;; M-x color-theme-select,⿏标左键选中,回车查看效果;; d查看信息,将出现如下信息:;; color-theme-matrix is an interactive Lisp function in `color-theme.el'.;; (color-theme-matrix);; Color theme by walterh@, created 2003-10-16.;; 选择(color-theme-blue-mood)即可(require 'color-theme)(setq color-theme-is-global t)(color-theme-wheat);; ⼀打开就起⽤ text 模式。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Miscellaneous Useful Commands<Ctrl G> keyboard-quit (aborts current command)<Ctrl L>re-center (refreshes the screen)<Esc> L down-case word (turns current word to lowercase)<Esc> U up-case word (turns current word to upper case) <Esc> C capitalise-word (turns first letter of word tocapital)<Ctrl U> multiplier (if no number specified, default is *4) <Esc> number multiplierbynumber (Note <Ctrl U>7<Ctrl N>and <Esc> 7 <Ctrl N> would do the same thing) <Esc> X name runcommandnameSplitting the Screen<Ctrl X> 2split-window-vertically<Ctrl X> 1delete-other-windows<Ctrl X> 0delete-window<Ctrl X> O other-window<Ctrl X> ^enlarge-windowOn-line Help with EmacsOnline help is available in Emacs by typing the following commands:<Ctrl H> A command-apropos (Emacs prompts for a stringand then lists all commands containing string) <Ctrl H> I info (enter Emacs info system)<Ctrl H> T help-with-tutorial (run Emacs tutorial program) Leaving EmacsTo leave Emacs you should give the following commands:<Ctrl X> <CtrlC>save-buffers-kill-emacs (Quit Emacs)<Ctrl Z> suspend-emacs (Return to Emacs with the fgcommand)University of Leeds Information Systems ServicesGNU E MACS F ACTS S HEETD ATE March 2000 E DITION 1.2 D OCUMENT FAC4 This document contains a summary of useful GNU Emacs commands. Invoking EmacsTo invoke the Emacs editor use the command:% emacs [filename] e.g.% emacs test.fileThe following screen will then be displayed.If you are editing an existing file, the first 20 linesor so will be diplayed.== Emacs =================================A status line is displayed near the bottom of the screen. Beneath thestatus line is the command line which is used to input information, suchas the file name when you are reading a file.Emacs CommandsEmacs employs commands which are executed by typing one or twokeys. The commands also have a name, usually consisting of a numberof words, separated by hyphens. For example:<Ctrl K> consists of a single keystroke, <Ctrl> and Ksimultaneously. The command is called kill-line.<Esc> F consists of two separate keystrokes, <Esc>followed by F. The command is called forward-word.Typing <Esc> X name enables you to run the command name using the name given in this document. For example <Esc> X kill-lineFAC 4 / March 2000Summary of Commonly Used CommandsThe following list summarises Emacs commands which will enable you to carry out screen editing in a simple and efficient manner. Characters<Ctrl B> or ←backward-char<Ctrl F> or →forward-char<Ctrl D> delete-char<Del> backward-delete (or <Ctrl H>) Words<Esc> B backward-word<Esc> F forward-word<Esc> D kill-word<Esc> <Del> backward-kill-wordLines<Ctrl A> beginning-of-line<Ctrl E> end-of-line<Ctrl K> kill-line<Ctrl N> or ↓next-line<Ctrl P> or ↑previous-line<Enter> new-lineMoving Around and Searching<Ctrl V> scroll-up <Esc> V scroll-down<Esc> <beginning-of-buffer <Esc> >end-of-buffer<Ctrl S> isearch-forward <Ctrl R> isearch-backward MacrosEmacs allows you to record a sequence of commands, (for example, to strip out a number of spaces after each occurrence of a certain string). This is called a macro.<Ctrl X> (start-keyboard-macro<Ctrl X> )end-keyboard-macro<Ctrl X> E call-last-keyboard-macro Reading Files, Saving your Work and Quitting<Ctrl X> <Ctrl R> find-file-read-only<Ctrl X> I insert-file (Emacs prompts for file name)<Ctrl X> <Ctrl W> write-file (Emacs prompts for file name)<Ctrl X> <Ctrl S> save-buffer (write file in current buffer)<Ctrl X> <Ctrl C> save-buffers-kill-emacs (Used to quit Emacs.If modified buffers exist, Emacs will ask forconfirmation to quit)Operating on RegionsOperations such as indentations, deletion, movement and so on may be carried out on regions of text. This is done by setting a mark to define the beginning of the areas, moving the cursor to the end of the text to be modified and then issuing the required command. This facility can be used for moving and/or copying.<Ctrl @> set-mark-command (sets the mark). Note use <Alt><Esc> if you are using the Telnet software on a PC. <Ctrl W> kill-region (moves text into the kill ring)<Ctrl Y> yank (retrieves text from the kill ring)<Esc> W copy-region-as-kill (copies region into the kill ring) <Esc> W leaves the original text in place, whereas <Ctrl W> deletes it. After either command the cursor may be moved and <Ctrl Y> will place the retrieved text at that position.Substitution<Esc> %query-replace (Emacs prompts for old string andnew string)Emacs moves to the first occurrence of the old string. The following commands can then be given:<space> or y replace this occurrence and go to next<Del> or n leave this occurrence and go to next<Ctrl G>terminate query-replace! global-replace from current position forwards。