??xml version="1.0" encoding="utf-8" standalone="yes"?>
C- 意思是当敲入字W?时同时按住控刉Q因此,C-f?C:(x)按住控制键ƈ且按 f ?M- 表示当键?时按住META或ALT或EDIT键。如果没有META 或ALT或EDIT键,则用ESC键代ѝ?表示ESC?
注意Q退出EmacsQ按C-x C-c(两个字符)。在文本左边区域的?gt;>”符可C你试着使用一个命令。比如:(x)
>> 现在键入C-v(观看下一?UdC一屏?p前面说的Q按v的同时也按住控制?。从现在开始,每当你读完一屏的时候都可以用它来翻屏?
注意在翻屏后?x)保留上屏的最后一行;q是Zl箋阅读文本提供某些q诏性?
你所需要知道的W一件事是如何把光标从一个地方移动到另一个地斏V你已经知道了如何向前翻一?-?C-v。要向后M屏,键入M-v?
>> 试着键入 M-v ?C-v 几次?
* 摘要(SUMMARY)
---------------------------
下面几个命o(h)Ҏ(gu)屏观看时有用Q?
C-v 向前M整屏?
M-v 向后M整屏?
C-l 清除屏幕q新显C所有的文本Q然后把光标Ud到屏q的中央?(注意是Control-L,而不?Control-1)?
>> L光标Qƈ且注意它在文本里的位|。然后键入C-l。再L光标你会(x)注意到光标现在会(x)出现在同L(fng)文本附近?
* 基本光标控制(BASIC CURSOR CONTROL)
-----------------------------------------------------------------
整屏整屏的移动是很有用的Q可是如何把光标Ud到屏q上文本里的一个指定的地方呢?
有好几个Ҏ(gu)可以实现。最基本的方法是用命?C-pQC-bQC-fQ和C-n。这些命令每个都使光标在屏幕上往特定的方向移动一行或者一列。下面是一个图表显CZq四个命令和它们所Ud的方向:(x)
上一行,C-p
:
:
向前QC-b ...... 当前光标的位|?...... 向后QC-f
:
:
下一行,C-n
>> 用C-n或C-p把光标移动到图表中间。然后键入C-l?x)看到整个图表出现在屏幕的中央?
你也怼(x)发现q些字母很容易记住:(x)P 代表上面?previous)QN 代表下一?(next)QB 代表向前(backward)QF 代表向后(forward)。这些是基本的光标位|命令,你将l常?x)用到它们。所以现在学?fn)它们很有好处?
>> 用几?C-n 把光标向下移动到q一行?
>> ?C-f 把光标移动到行里Q再用C-p把光标上UR观察当光标在行的中间时 C-p做了些什么?
每一个文本行都以一个换行符l尾Q它用来当作行与行之间的分格。你的文件的最后一行的N应该有一个换行符(但Emacsq不要求一定要有一??
>> 试着在行的开头用C-b。它?yu)?x)把光标移C一行的末尾。这是因为它向后Uȝ时候穿q了换行W?
C-f 也能?C-b一L(fng)q换行符?
>> 使用几次C-bQ(zhn)能知道光标在哪。然后用C-fUd到行的末。然后再用一ơC-fQ光标UdC一行?
当你Ud过屏幕的顶部或底部Q光标回UdC一屏的中间Q这叫做“滚?(scrolling)”。它使得Emacs滚屏Ud到文本上指定的部位而不是移出屏q?
>> 试着用C-n把光标移q屏q的底部Q看看回发生什么?
如果觉得一个一个字W的Ud太缓慢,可以一个单词一个单词的Ud。M-f(Meta-f) 向前UM个单词,M-b向后UM个单词?
>> 键入几个M-f和M-b?
当光标在一个单词的中间QM-fUd到单词的末尾。当光标在两个单词间的空白部?M-fUd到后一个单词的末尾。M-b与M-f一P只是Ud的方向相反?
>> 键入M-f和M-b几次Q中间穿插一些C-f和C-b以你能观察到M-f和M-b在单词中和单词间的不同行为?
注意比较C-fQC-b与M-fQM-b。通常情况下Meta键用于有兌a单位(词,句,D落) 的操作;而控刉用于~辑时的基本单位(字符Q行{??
q是句与行的比较QC-a和C-eUdC行的开头和末尾QM-a和M-eUdC个句子的开头和末尾?
>> 键入一对C-aQ再键入一对C-e?键入一对M-aQ再键入一对M-e?
你会(x)看到重复键入的C-a什么也不做Q而重复键入的M-a则会(x)Ud一个以上的句子?
光标在文本中的位|也叫“点(point)”。在D落里,光标标示Z点在屏幕上文本里的位|?
下面是简单的光标Ud命o(h)的ȝQ包括单词和句子的移动命令:(x)
C-f 向前Ud一个字W?
C-b 向后Ud一个字W?
M-f 向前Ud一个单词?
M-b 向后Ud一个单词?
C-n UdC一行?
C-p UdC一行?
C-a Ud到行首?
C-e Ud到行?
M-a 向前Ud到句子的开头?
M-e 向后Ud到句子的末尾?
>> 试着Ҏ(gu)一个命令都实践几次Q它们都是经常要用到的命令?
另外两个重要的光标移动命令是M-<(Meta于)Q它Ud光标到整个文本的开_(d)M-> (Meta大于)它移动光标到整个文本的末?
在多数终端上Q?lt;”在逗号的上面,所以你必须用Shift键来输入它。在q些l端上,你也必须用Shift键来输入M-<Q没有Shift键,你可以输入M-逗号?
>> 现在p试M-<Q移动到本教E的开_(d)然后再用C-vUdq里?现在p试M->Q移动到本教E的末尾Q然后再用M-vUdq里?
你也可以用方向键来移动光标,如果你的l端有方向键的话。我们徏议学?fn)C-bQ?C-fQC-n和C-p有三个原因。第一Q它们能在所有类型的l端上工作。第二,你获得了使用Emacs的锻|你将?x)发现输入这些CTRL加字W比按方向键要快(因ؓ(f)你不必把你的手从键盘上移开)。第三,一旦你L了用这些CTRL加字W的命o(h)的习(fn)惯,你就能一样容易的学习(fn)其他高的光标移动命令?
大多数Emacs命o(h)接收一个数字参敎ͼ对大多数命o(h)来说Q这表示命o(h)重复的次数。输入重复命令次数的Ҏ(gu)是在输入命o(h)之前按C-u和数字。如果你有META(或EDIT?ALT)键,则有另一U方法输入数字参敎ͼ(x)在按住META键的时候输入数字,我们学习(fn)C-uҎ(gu)Q因为它能在Ml端上工作?
例如QC-u 8 C-f 向前Ud8个字W?
>> 试着使用带数字参数的C-n或C-pQ只用一个命令就把光标移动到与本行相?c)?行上?
l大多数命o(h)把数字参数当作重复次敎ͼ但也有几个例外。C-v和M-v是。当l出一个参敎ͼ只是上滚或下滚数字指定的行数而不是屏数。比如,C-u 4 C-v滚动4行屏q?
>> 现在试试 C-u 8 C-v?
q将使屏q滚?行,如果你想往回滚动的话,键入一个带参数的M-v?
如果你正在用XH口Q在EmacsH口的左手边有一个叫做滚动条的矩形区域。你能通过用鼠标点?yn)L动条来滚动文本?
>> 试着在滚动条剙的高亮区域点M键。这文本滚动Q滚动的位置取决?你点ȝ长短?
>> 试着按住鼠标中键上移或下U鼠标,你将看到当你Ud鼠标时文本会(x)上下滚动?
* 当EMACS挂v?WHEN EMACS IS HUNG)
------------------------------------------------------------------
当Emacs停止响应你的命o(h)Ӟ你能用C-g把它安全的停止。当一个命令执行了太长的时间时你可以用C-g把它l止?
你也可以用C-g来取消数字参数和输入后又不想执行的命令?
>> 键入C-u 100 产生一个gؓ(f)100的数字参敎ͼ然后按C-g。再按C-f。它只会(x)Ud 一个字W,因ؓ(f)你用C-g取消了参数?
如果错误的输入了一?Q你能用C-g消掉它?
* 止命o(h)(DISABLED COMMAND)
----------------------------------------------------
一些Emacs命o(h)是“禁止”的Q所以新手不?x)因偶然而执行它?
如果你键入了一个禁止命令,Emacs?x)显CZ条消息说明这条命令是q什么的Qƈ且问你是否需要执行它?
如果你真的想要执行,敲空格键l箋。通常Q如果你不想执行止命o(h)Q用“n”来回答?
>> 输入 :(一条禁止命?Q然后用n来回{?
* H口(WINDOWS)
-----------------------------
Emacs 能有好几个窗口,每一个显Cq文本。我们将在后面解释怎样对多H口操作。现在我们要解释怎样去除多余的窗口屏回到基本的单H口~辑状态。这是一个例子:(x)
C-x 1 一个窗?也就是除d他所有的H口)?
因ؓ(f)Control-x跟了数字1。C-x 1使包含光标的H口占满整个屏幕Q屏删除其他所有窗口?
>> 把光标移动本行ƈ输入 C-u 0 C-l?
>> 键入Control-h k Control-f?看这个窗口如何羃?yu),q在按Control-f的时候出C一个新的文档窗口?
>> 键入C-x 1 q且看到那个文档H口消失了?
* 插入和删?INSERTING AND DELETING)
---------------------------------------------------------------
如果你要插入文本Q只输入文本。输入的字符你能见到Q比如AQ?Q?{等。Emacs ?x)立x它们插入。键?(回R?插入一个换行符?
你能?删除你输入的最后一个字W?是键盘上标着“Del”的键。在某些情况下,“Backspace”键作用?一P但不Lq样Q?
通常Q?立即删除光标前面的那个字W?
>> 输入几个字符Q然后用 删除它们。不必担心这个文件回被改变;你不?替换LE。这只是你的个h拯?
当一行文本太长而超q屏q宽度时Q这一行会(x)在屏q的下一行被“l”。文本的双?x)有一个反斜杠“”表C它被l?
>> 插入文本直到最双Q然后再插入。你看C个l了的行?
>> 使用 删除文本直到行的长度在屏q的宽度以内。l的行将?x)消失?
你能像删除其他Q何字W一样删除换行符。删除两个行间的换行W会(x)使它们合qؓ(f)一行。如果这一行很长屏q显CZ下的话,会(x)用一个l的行来表示?
>> 把光标移动到一行的开头按 q将使本行和上一行合Z行?
>> ?重新插入你删除的换行W?
C大多数的Emacs命o(h)能接收一个重复次数。这包括文本字符Q把一个文本字W重复的插入几次?
>> 键入q个-- C-u 8 * 来插?********
你现在已l学?fn)了Emacs的大多数输入和排错的Ҏ(gu)。你也能一L(fng)删除单词或行。这是删除操作的摘要Q?
删除光标前面的字W?
C-d 删除光标后面的字W?
M- 除去光标前面的单?
M-d 除去光标后面的单?
C-k 除去从光标位|到行尾的内?
M-k 除去到当前句子的末尾
注意比较 QC-d与M QM-d和C-fQM-f( 不是一个控制字W,但不用担?。C-k和M-kpC-eQM-e?
当你一ơ除M止一个字W时QEmacs保存着q些文本Q所以你可以恢复它们。恢复那些被除去的文本称作“拉(yanking)”。你能在除去文本的同一地方拉回它们Q或是在文本的其他地斏V你能对文本拉上几次以生它们的多个拯Q拉的命令是 C-y?
注意“除?killing)”与“删?Deleting)”之间的区别Q被除去的东西能被拉回来Q而被删除的不能。通常除去能除d多的文本屏保存,而删除只能除M个字W,或是I或空|q且不保存?
>> 把光标移C个空行的开_(d)键入C-k除去q一行?
>> 按第二次C-kQ你看到剩下的I也被除去了?
注意单个的C-k除去行的内容Q第二个C-k除去行本w,q且使后面的所有行上移。特别要注意数字参数Q它除去很多行和它们的内容,q不仅仅是重复。C-u 2 C-k 除去两行和它们剩下的IQ而按两次C-kq不?x)这样做?
要在当前光标处找回上ơ被除去的文本;按C-y
>> 试一试,用C-y把文本拉回来?
把C-y考虑Z把某Z你这里拿走的东西再拿回来。注意你如果在一行上按了几次 C-yQ所有被除去的文本是存在一L(fng)Q所以按一ơC-y拉回全部的行?
>> 现在p一下,按几ơC-k?现在扑֛被除ȝ文本Q?
>> 按C-y。然后把光标下移几行再按一ơC-yQ你现在?x)看到怎样拯q些文本?
当你要拉回一些被除去的文本该怎样做呢QC-y只能拉回最q被除去的文本。但以前的文本ƈ没有消失。你能用M-y来恢复它。当你用C-y拉回最q被除去的文本后Q换?M-y可以拉回以前被除ȝ文本。键入一ơ又一ơ的M-y可以拉回更早以前被除ȝ文本。当你找到要L的文本,不必做Q何事来保持它Q只ȝ开拉文本的地方l箋你的~辑?
如果你M-y了够多的次敎ͼ你会(x)回到开始点(最q被除去??
>> 除掉一行,UdQ再除掉另一行?然后用C-y拉回W二行?然后换成M-y拉回被除掉的W一行?再按一ơM-y看看得到了什么。l按直到拉回被除ȝW二行;然后再做几次?如果原意的话Q你可以lM-y加正的或负的数字参数?
* 撤销(UNDO)
--------------------
如果你对文本作了一些改动,然后又发现这样做是错误的Q你能用撤销命o(h)QC-x u 撤销q些改变?
通常Q一ơC-x u撤销一个改变;如果你在一行上重复几次C-x uQ就?x)重复几ơ撤销操作?
但有两个例外Q不改变文本的操?包括光标Ud和滚屏命?不算在内Q只能处?0 ơ?
>> 用C-k除去q一行,然后按C-x u 它将重现出来?
C-_是一个可选择的撤销命o(h)Q它所作的工作和C-x u 完全一P只是更容易输入?C-_的缺Ҏ(gu)有些键盘上没有它Q这是Z么还提供C-x u的原因。在某些l端上你可以按住CTRL的时候再?来输入C-_。C-_或C-x u把数参数字当作重复次数?
* 文g(FILES)
-------------------
Z怹保存你编辑的文本Q你必须把它攑ֈ一个文仉。否则当你退出Emacs的时候它?yu)׃?x)消失。你通过“查?finding)”文Ӟ把你~辑的内Ҏ(gu)到文仉?也称?“访?visiting)文g??
(译注Qؓ(f)了保持与原文的一致性,把find译ؓ(f)“查䏀,但是q里和后面出现的 “查找文件”指的都是打开文g的意思?
查找(finding)一个文件意味着你在Emacs里看文g的内容,在多数情况下Q也是你在~辑它。但是,你用Emacs对它作的改变q不是永久行的,除非你“保?saving)?它。所以你可以避免把一个改了一半的文g留在pȝ上。甚至你保存了文ӞEmacs也会(x)把原始文件换个名字保留下来,以防q后你发现对文g的改动是错误的?
如果你观察屏q的你将看见一个开始和l尾都是破折L(fng)行,q且以?-:**-- TUTORIAL”或之类的东西开始。屏q的q部分通常昄你正在访问的文g的名字。现在,一个叫做“TUTORAL”的文gQ它是你的Emacs教程的个人拷贝。当你用Emacs 查找一个文Ӟ文g名会(x)出现在同L(fng)位置?
查找和保存文件命令不像前面学的那些命令。它们都以字WControl-x开始。以 Control-x起头的是一个完整的命o(h)pdQ它们中的许多都是对文gQ缓Ԍ和相关的东西q行操作的。这些命令有两个Q三个或四个字符ѝ?
关于查找文g命o(h)的另一件事是你必须l出你需要的文g的文件名。我们说q个命o(h) “从l端d一个参数”?在这U情况下Q参数是文g的名?Q当你键入命令C-x C-f后,Emacs?x)提CZ输入文g的名字。你输入的文件名?x)出现在屏幕底部的行上。这个底部的行称为微型缓?minibuffer)用于q类较短的输入。你能用Emacs本n的编辑命令来~辑文g名?
当你正在输入文g?或其他Q何微型缓冲区输入)Q你能用命o(h)C-g来取消?
>> 键入命o(h)C-x C-fQ然后输入C-g。这取消微型缓Ԍ也取消了C-x C-f命o(h)所?用的微型~冲Q所以你不查找Q何文件?
当你输完文g名后?来结束。然后C-x C-f开始工作,q开始寻找你所选择的文件。当C-x C-f命o(h)l束后微型缓冲区也消׃?
q一会(x)儿文件的内容׃(x)昄在屏q上Q然后你p对它q行~辑了。当x久保留你的改动时用命令:(x)
C-x C-s 保存文g(save the file)?
q个操作?x)把Emacs里的文本拯到文仉。在你第一ơ作的时候,Emacs把原始文 件改Z个新名字以它不至于丢失。新名字是在原来名字的后面加一个“~”?
保存l束后,Emacs打印写的文g的文件名。你应当l常的保存,万一pȝ崩溃 的话你不至于丢失太多的工作?
>> 键入C-x C-s来保存你的教E的拯。屏q的底部?x)打印出“Wrote.....TUTORIAL”?
注意Q在某些pȝ上,输入C-x C-s ?x)把屏幕ȝ住你从Emacs看不到更多的输出。这 表示q个操作pȝ的“特性”叫做“控制流E”,它拦截了C-x不让它到达Emacs那里?要屏幕解冻Q输入C-qQ然后看Emacs手册里的“Spontaneous Entry to Incremental Search”一节,按上面的来对付这U“特性”?
你能查找一个已存在的文Ӟ来查看它或编辑它。你也可以查找一个尚未存在的文g。这?EmacsQ里创徏文g的方法:(x)查找文gQ将?x)出C个空白,然后插入文g的文本。当?“保?saving)”的时候,Emacs会(x)用你插入的文本创建文件。从那时候vQ你可以认ؓ(f)你在~辑一个存在的文g了?
* (~冲)BUFFERS
--------------------------
如果你用C-x C-f查找W二个文ӞW一个文件仍然留在Emacs里。你可以再用C-x C-f查找一ơ来切换回去。用q种Ҏ(gu)你在Emacs里有很多文g?
>> 输入C-x C-f foo 来徏立一个名为foo的文件。然后插入一些文本,~辑它,q?用C-x C-s来保存“foo”?最后输入C-x C-f TUTORIAL 以回到本教程?
Emacs把每个文件的文本都保存在一个叫“缓?buffer)”的东西里。查?打开)一个文件就?x)在Emacs里生一个新的缓册Ӏ要看你当前q行的Emacs里存在的~冲列表Q输入:(x)
C-x C-b 列出~冲(list buffers)
>> 输入 C-x C-b
观察每个~冲都有一个名字,它可能也有一个它所保存的文件的文g名。一些缓冲不对应文g。比如,叫?Buffers List*”的~冲没有M文g。这个缓冲只包含由C-x C-b产生的缓冲列表。你在EmacsH口里看到的M文本都是某个~冲的一部分?
>> 输入 C-x 1 消除~冲列表?
如果你对一个文件的文本作了改动Q然后查扑֏一个文ӞW一个文件ƈ不保存。它的改变保存在Emacs里,在那个文件的~冲里。被建立或编辑的W二个文件的~冲q不影响W一个的。这一点很有用Q但q也意味着要有一个便L(fng)Ҏ(gu)来保存第一个文件的~冲。如果要?C-x C-f切换回去只是Z按C-x C-s保存它将?x)是一件o(h)厌的事。所以我们用
C-x s 保存~冲(save the buffer)
C-x s 向你询问每个改动q但未存盘的~冲Q对每个q样的缓冲都询问是否保存?
>> 插入一行文本,然后按C-x s?会(x)问你是否保存叫TUTORIAL的缓册Ӏ?输入“y”来回答是?
* 扩展命o(h)?EXTENDING THE COMMAND SET)
-----------------------------------------------------------------------
有太多的Emacs命o(h)Q大大超q了Contorl和meta加上字符所能表C的数量。Emacs用X(扩展 eXtand)命o(h)来解册个问题。有两种风格Q?
C-x 字符扩展Q后跟一个字W?
M-x 名字命o(h)扩展Q后跟一个长名字?
q些命o(h)通常有用Q但不如你已l学q的那些命o(h)使用的频J。你已经见过了它们中的两个:(x)文g命o(h)C-x C-f 用于查找和C-x C-s用于保存?
另一个例子是l束Emacs的命令C-x C-c(不必担心你所作的改动?x)丢失,在退出Emacs 之前QC-x C-c?x)提CZ保存每一个改动过的文??
C-z命o(h)用于*临时*退出EmacsQ所以你能回到原来运行的Emacs里。在允许q样做的pȝ上,C-z把Emacs“挂起”;是说回到外?shell)下,但ƈ不破坏运行的Emacs。在大多数外壳上Q你能用‘fg'命o(h)或?emacs'来lEmacs?
在不支持挂v的系l上QC-z建立一个子外壳(subshell)q行于Emacs下以使你能运行其他程序然后回到EmacsQ这q不是真正的“退出”Emacs。在q种情况下,通常从子外壳回到Emacs的外壛_令是‘exit'?有很多C-x 命o(h)Q这是已学过的一个列表:(x)
C-x C-f 查找文g
C-x C-s 保存文g
C-x C-b ~冲列表
C-x C-c 退出Emacs
C-x u 撤销操作
被称作扩展命令的命o(h)的用频率都不太高。或者是只在某些模式下用。一个例子是替换字符串的命o(h)Q它在全文里把字W串替换为其他的。当你键入M-xQ?Emacs?x)在屏幕的底部提CZ输入命o(h)Q在q种情况下,是“replace-string”。比如输入“repl s ”, Emacs?x)把命o(h)补全。用 来结束命令?
替换字符串命令要求两个参?-要被替换的字W串和用来替换的字符丌Ӏ你必须?来结束两个参数?
>> 把光标移上两行,然后输入M-x repl s changed altered ?注意现在q一行改变了Q你把光标初始位|后的所有单词c-h-a-n-g-e-d替换Z “altered?
* 自动保存(AUTO SAVE)
------------------------------------
当你改动了一个文件还未存盘的话,所作的改动也许?x)由于系l崩溃而丢失。ؓ(f)防止q种情况发生QEmacs在编辑时为每个文件提供了?a class="channel_keylink" >自动保存(auto save)”?a class="channel_keylink" >自动保存的文件的文g名前后都有一?P例如Q如果你~辑的文件名叫“hello.c”,自动保存的文件的文g名就叫?hello.c#”。当你正常的保存了文件后QEmacs?x)删除这?a class="channel_keylink" >自动保存的文件。如果遇到死机,你能打开那个文g后按M-x recover file 来恢复你的编辑,(是你~辑的文件而不?a class="channel_keylink" >自动保存的文?。当提示认Ӟ输入yes 来l恢?a class="channel_keylink" >自动保存?a class="channel_keylink" >数据?
* 回显区域(ECHO AREA)
------------------------------------
如果Emacs发现你输入命令的速度很慢的话它会(x)在屏q底部ؓ(f)你显C出来,q个区域?“回昑域”?
* 模式?MODE LINE)
---------------------------------
回显区域上面的一行称为“模式行(mode line)”。模式行昄与下面类似的东西Q?
--**-Emacs: TUTORIAL (Fundamental)--L670--58%----------------
q一行给Z有关你在~辑的文件和Emacs状态的有用信息?
你已l知道了文g名意味着什么?-NN%--指出你现在在文本里的位置Q它意味着上面q有NN%的文本。如果是在文件的开_(d)?x)?-Top-- 来代?-0%--。如果是在行的末,?x)显C?-Bot--。如果你正在看的文本内容很少Q可以全部显C在屏幕上,模式行会(x)?--All--?
前面的星可CZ已经改动q文本了。一旦你保存了文件或打开了一个新文gQ模式行的这部分׃是星可是破折号了?
模式行上括号里的部分是现在的~辑模式。现在是~省的基?Fundamental)模式。它?“主模式(major mode)”的一U?
Emacs有很多不同的L式。有些意味着不同的语a或不同的文本。如Lisp模式(Lisp mode)Q文本模?text mode){等。在M时候有且只能有一U主模式被激zRƈ且它的名字会(x)出现在现在显C“Fundamental”的位置上?
每一个主模式都有些自q命o(h)。就象不同的~程语言的注释看h不同一栗每U主模式插入的注释也不同。可以用扩展命o(h)切换q某U主模式。例如,M-x fundamental-mode 是切换进基本模式?
>> 输入 M-x text-mode
不必担心Q没有命令会(x)lEmacs带来很大改变。但是你可以看到现在M-f和M-b把省略号当作单词的一部分。而先前,在基本模式里QM-f 和M-b把省略号当成当成分隔W?
L式通常作诸如此cd的变化Q大多数命o(h)在每个主模式里作“同L(fng)工作”,但又有些微小的不同?
要观看关于你现在的主模式的文档,按C-h m?
>> 键入C-u C-v一ơ和多次使本行接q屏q的端?
>> 输入C-h m Q看看文本模式和基本模式有些什么不同?
>> 按C-x 1 从屏q上xq个文档?
L式之所以叫做主模式是因Z存在从模式,从模式与L式完全不同。每个从模式可以自己打开或者关闭,独立于所有其他从模式Q也独立于你的主模式。所以你可以不用从模式或者同时用很多U从模式?
有一U从模式很有用,特别是在~辑英文文本时。它?a class="channel_keylink" >自动填充模式(auto fill mode)。当q个模式打开的时候,当输入的文本q宽的时候就?a class="channel_keylink" >自动折行?
你能用M-x auto-fill-mode 来打开自动填充模式。如果此模式已经打开M-x auto- fill-mode 则把它关闭。我们把q叫做切换开兟?
>> 输入M-x auto-fill-mode 。然后插入一些“asdf”直到看到这行被分ؓ(f)两行。你必须在中间放一些空|只有到空格的时候才?x)换行?
通常边界宽度?0Q但你能用带数字参数的C-x f 命o(h)来改变它?
>> 键入带参?0的C-x?C-u 20 C-x f) 然后输入一些文本看现在每行只有20个字W了。然后用C-x f把它改回70?
如果你在一个段落的中间产生了改变,自动填充模式不?x)重新填充。要想重新填充段落,当光标在D落里的时候按M-q?
>> 把光标移C一D| M-q?
* 搜烦(SEARCHING)
-----------------------------
Emacs 能朝前和朝后搜烦字符?指相?c)一些字W或单词)。搜索是一个移动光标的操作Q它把光标移动到字符串出现的下一个地斏V?
Emacs 的搜索命令和其他大多数编辑器不同Q它是“增量式(incremental)”的Q这意味着搜烦在你键入字符串时开始了?
开始一个向前搜索的命o(h)是C-sQC-r是往回搜索。但{等Q先别忙?
当你输入C-s是你注意到在回昑域会(x)出现一个字W串“I-search”。这告诉你Emacs开始了一个增量搜索,q在{待你输入要搜烦的东ѝ?l束查询?
>> 现在键入C-s开始一个搜索。慢慢的输入单词‘cousor'Q在输入每一个字母的时候停一 下,注意看光标发生了什么?
>> 再输入一ơC-sQ来搜烦“cursor”出现的下一个地斏V?
>> 现在输入 四次看看光标Ud了哪里?
>> 输入 l束搜烦?
看到发生什么了吗?在Emacs的增量搜索里Q你输入多少字符串它?yu)p着搜烦q些字符出现的地斏V到字符串出现的下一个地方,只须再按一ơC-s。要搜烦的字W串不存在的话,Emacs ?x)发鸣ƈ告诉你当前的搜烦“失?failing)”,?C-g 也是l止搜烦?
注意Q在某些pȝ上,输入 C-s ?x)把屏幕ȝ住你从Emacs看不到更多的输出。这 表示q个操作pȝ的“特性”叫做“控制流E”,它拦截了C-s不让它到达Emacs那里?要屏幕解冻Q输入C-qQ然后看Emacs手册里的“Spontaneous Entry to Incremental Search”一节,按上面的来对付这U“特性”?
如果你在搜烦的过E里按了 Q你注意到要搜索的字符串的最后一个字W会(x)被删除ƈ且光标会(x)回到上一个被搜烦到的地方。比如,假设你键入了“c”,会(x)搜烦“c”第一ơ出现的地方。然后如果你键入“u”,光标移到?cu”第一ơ出现的地方。现在键?。这从搜烦的字W串里把“u”删掉,q时光标回到“c”第一ơ出现的地方?
如果你在搜烦时按了Control或meta键加字符(数几个数命o(h)例外Q如C-s和C-r)Q搜索将被终止?
C-s向当前光标的后面搜烦字符串出现的地方。如果你需要搜索前面文本里的东西,用C-r来代ѝ我们所介绍的C-s的每个特性C-r也支持,除了方向相反?
* 多窗?MULTIPLE WINDOWS)
------------------------------------------------
Emacs有一个非常好的特性是能同时在屏幕上显CZ止一个的H口?
>> 把光标移到本行上按C-u 0 C-l?
>> 现在按C-x 2Q它把屏q分裂成两个H口Q每个窗口都昄本教E。光标在上面的窗口里?
>> 按C-M-v 滚动C面的H口里?如果你没有一个真正的Meta键,那么按ESC C-v)
>> ?C-x o (“o??“其?other)? 把光标移到到下面的窗口里?
>> ?C-v ?M-v 滚动下面H口里的文本?在上面的H口里看本教E?
>> 再次?C-x o 使光标回C面的H口里?现在光标象以前一样在上面的窗口里了?
你能一直用C-x o在窗口间切换。每个窗口都有它自己的光标位|,但仅有一个窗口能昄zd的光标。所有的~辑命o(h)都发生在那个昄光标的窗口上。我们把q个H口叫做“选中H口( selected window)”?
当你在一个窗口里~辑文本Q而用另一个窗口作参考时命o(h)C-M-v非常有用。你L能把光标留在所~辑的地方,而用C-M-v来翻阅另一H口?
C-M-v ?CONTROL-META 加字W的一个例子?如果你有一个真正的META 键,你能同时按住 CTRL ?META 再按“v”来输入C-M-v。CTRL ?META 谁先按谁后按无所谓?
如果你没有一个真正的META 键, 你可以用 ESC 来代ѝ这时候次序是有关pȝQ?你必让 ESC 跟在 CTRL-v后面; 否则 CTRL-ESC v 不工作?q是因ؓ(f) ESC 是一个有意义的字W而不是一个修饰字W?
>> 输入 C-x 1 (在上面的H口? 以消除下面的H口?
(如果你在下面的窗口里键入C-x 1Q将?x)把上面的窗口去掉。可以把q个命o(h)看作是“只保留你现在在的那个窗口?
你不必一定要在两个窗口里昄同样的缓册Ӏ如果你在一个窗口里键入C-x C-f查找文gQ另一个窗口的内容不会(x)改变。你能独立的在每个窗口里查找文g?
q是让两个窗口显CZ同内容的另一U方法:(x)
>> 在你输入的文件名后再输入C-x 4 C-fQ然后用 l束。会(x)看到指定的文件出现在下面 的窗口里。光标也在那里面?
>> 键入C-x o 回到上面的窗口,然后输入C-x 1删掉下面的窗口?
* 递归~辑?RECURSIVE EDITING LEVELS)
----------------------------------------------------------------
有时候你?x)进入“递归~辑?recursive editing level)”。由模式行上的方括号指示。它在主模式名的括号外面。例如你也许?x)看?Fundamental)变成了[(Fundamental)]?
要退出递归~辑层,按ESC ESC ESC。这是一个通用的退出命令,你也可以用它除去额外的窗口,或者退出微型缓册Ӏ?
>> 输入 M-x q入一个微型缓Ԍ 然后?ESC ESC ESC d?
你不能用C-g来退出递归~辑层。这是因为C-g只能取消在递归~辑层里面的命o(h)?
* 获取更多的帮?GETTING MORE HELP)
--------------------------------------------------------------
在本教程里我们试着Z开始用Emacs提供了够多的信息。但是有关Emacs的信息实在是太多以至于不能全部都在这里说明。但是,你还应该学习(fn)更多有关Emacs的东西,因ؓ(f)它另外还有很多有用的Ҏ(gu)。Emacs提供了很多读取有兛_令的文档的命令。这些“帮助”命令都?Control-h开_(d)叫做“帮助字W”?
Z使用帮助Ҏ(gu),输入字符C-hQ然后再输入一个字W来说明你需要哪U帮助。如果你真的不知道,输入C-h ? 然后 Emacs?x)告诉你它能l你什么样的帮助。如果你输入了C-h 又觉得不需要Q何帮助,你可以用C-g来取消它?
(在有的地方,C-h的作用被改变了。如果按C-h在屏q的底部没有出现有关帮助的信息的话,试试用F1和M-x help RET来代ѝ?
最基本的帮助特性是C-h c。输入C-hQ然后是字符 cQ然后输入一个命令字W和序列Q然?Emacs ?x)显C个命令的z的描述?
>> 输入 C-h c Control-p.
昄的消息看h?x)象q样Q?
C-p runs the command previous-line
q告诉你“功能的名字”。功能的名字主要用于对Emacs的功能扩充和定制。但因ؓ(f)功能的名字指Z命o(h)的用途,所以最好不要改动它?
C-h c后面可跟多字W命令,比如 C-x C-s ?(如果你没?META 或?EDIT 或?ALT ? v ?
要获取有兛_令的更多信息Q用C-h k 代替 C-h c?
>> 输入 C-h k Control-p.
q将在一个EmacsH口里显C命令的文档。当你读完后可以用C-x 1除去帮助文本。如果不想马上离开Q你可以一边编辑一边参考帮助文本,然后再按C-x 1?
q是一些有用的 C-h 选项Q?
C-h f 描述一个功能,在你输入了这个功能的名字后?
>> 输入 C-h f previous-line ?打印出C-p命o(h)所实现的所有功能?
C-h a 命o(h)查找。输入一个关键字QEmacs列出所有名字里有这个关键字的命令?包括所有以Meta-x开始的命o(h)。对有些命o(h)QC-h a 也将列出实现同一功能?几个命o(h)序列?
>> 输入 C-h a file .
q将在窗口里昄所有名字里有单词“file”的M-x命o(h)?
>> 输入 C-M-v 来滚动帮助窗口,做上几次?
>> 输入 C-x 1 来删除帮助窗口?
* ȝ(CONCLUSION)
--------------------------------
CQ永q都用C-x C-c来退出Emacs。用C-z来退C个(f)时的外壳里,以你过后还能回?Emacs?
本教E尽量让所有的初学者都能理解,如果你发现有些东西不清楚的话Q别责备你自?抱怨吧Q?img src ="http://www.tkk7.com/Javawind/aggbug/249810.html" width = "1" height = "1" />
]]>
1Q在windowsXP下访问Xubuntos虚拟机里文g的方法:(x)
(1Q在Xubuntos中运行Applications->System->shared folders
(2) $sudo vim /etc/samba/smbuses (新创建smbuses文g)Q输入:(x)
(3) $sudo smbpasswd -a 用户?/p>
2) $tos1 可设|ؓ(f) Tinyos 1.X 的环境变?/p>
3Q?sudo -i
Part 2
1Q编译程?在程序目录下Q?/p>
2) $make micaz docs 可以生成文档
3) $make micaz sim
4) Tinyos默认使用的传感器VoltageC。在tinyos-2.x/tos/sensorboards/basicsb 中有光传感器Photot 和温度传感器Temp?/p>
Part 3
1) 在Vmware中如果要使用串口Q首先要d串口Qƈ指定发实际电(sh)脑串口的对应关系Q本例对应电(sh)脑的串口是com2,但是在VM中此串口名字应该是com1(如果q是你添加的W一个串口的??/p>
2) $java net.tinyos.tools.listen -comm serial@/dev/ttyS0:micaz
3Q?java net.tinyos.sf.Serialforwarder -comm serial@dev/ttyS0:micaz
4QOscilloscopeCL器的使用Q?/p>
加入
Remove directory, this command will only work if the folders are empty. U除一个空文g?br />Syntax
rmdir [options]... folder(s)...
Options
--ignore-fail-on-non-empty
Ignore each failure that is solely because the
directory is non-empty.
-p, --parents Remove explicit parent directories if being emptied
--verbose Output a diagnostic for every directory processed
--help Display help and exit
--version Output version information and exit
Example
$ rmdir myfolder
Before removing directories with a wildcard, it's wise to list them first:
$ ls -d britney*/
rm
Remove files
rm -rf
remove non-empty folderQrm -rf will recursively remove folders and their contentsQ?br />
ls -al
List information about files
tar
压羃Q解压文件命?br />
把其他\径下的压~文件解压到当前文g夹:(x)
alias ls='ls -F -N --color=auto'
要立ȝ效的话,执行下面的命令:(x)
source /etc/bashrc 或?source .bashrc
如果不行的话Q可以修改home下的.bash_profile文g
加入alias ls='ls -F -N --color=auto'