⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 00000004.htm

📁 一份很好的linux入门资料
💻 HTM
📖 第 1 页 / 共 3 页
字号:
<HTML><HEAD>  <TITLE>BBS水木清华站∶精华区</TITLE></HEAD><BODY><CENTER><H1>BBS水木清华站∶精华区</H1></CENTER>&nbsp;<BR>Emacs&nbsp;的缓冲区与视窗&nbsp;<BR>&nbsp;<BR>EMACS&nbsp;的缓冲区与视窗的关系密不可分,缓冲区是用来存放&nbsp;<BR>编辑文件的,但视窗却是用来显示缓冲区的文件。现在就来谈谈&nbsp;<BR>缓冲区和视窗。&nbsp;<BR>缓冲区(buffer)是&nbsp;EMACS&nbsp;编辑文件时,暂时存放文件的地方。&nbsp;<BR>这个地方只用来暂时存放文件,要想永久保留这些文件,必需将&nbsp;<BR>暂时存放的文件储存起来,一般是使用硬碟来安置缓冲区的文件。&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;在&nbsp;EMACS&nbsp;中所做的任何事情,都是先暂放於缓冲区内。&nbsp;<BR>EMACS&nbsp;处理档案的方式,也是先将档案从硬碟中取出後,&nbsp;<BR>再放於缓冲区内。所以不论是删减、修改与新增文件,都是在&nbsp;<BR>缓冲区内进行,除非将缓冲区内的文件存回硬碟,否则硬碟的内容&nbsp;<BR>都不会因缓冲区内容的改变而改变。&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;文件未存回硬碟而离开&nbsp;EMACS(kill&nbsp;EMACS),将永远消失&nbsp;<BR>。但&nbsp;EMACS&nbsp;有一个自动储存文件的功能,称为&nbsp;``&nbsp;auto&nbsp;save''&nbsp;。&nbsp;<BR>每当键入一定数量的字元(通常是三百个字元),EMACS&nbsp;就会&nbsp;<BR>自动做储存的动作;经过一段停置的时间(通常是三十秒),&nbsp;<BR>EMACS&nbsp;也会做自动储存的动作。&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;EMACS&nbsp;自动储存的功能并非将文件直接存回该档案&nbsp;<BR>所在的硬碟中,而是将缓冲区的文件存入一个暂存档内。&nbsp;<BR>只有以存档的指令,例如&nbsp;``&nbsp;Ctrl-x&nbsp;Ctrl-s''&nbsp;的指令,将缓冲区的&nbsp;<BR>文件存回硬碟时,缓冲区内的文件才会存回硬碟中。只有当文件&nbsp;<BR>存回硬碟中,EMACS&nbsp;才会自动清除此暂存档。若缓冲区的内容&nbsp;<BR>一直未存回硬碟,此暂存档就会一直存在著,直到存回硬碟才会消失。&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;EMACS&nbsp;如此安排暂存档有两个好处,第一个好处是可以&nbsp;<BR>确保编辑的档案资料不会流失;第二个好处是可预防机器意外关机&nbsp;<BR>或当机,档案不及存回硬碟,所造成的损失。EMACS&nbsp;命名此暂存档&nbsp;<BR>的方式,是以缓冲区所使用的档名为依据。在档名的前後各加上一个&nbsp;<BR>``#''&nbsp;,就是暂存档的名称。举例说明,若所编辑的档名为&nbsp;``emacs.doc''&nbsp;,&nbsp;<BR>其产生的暂存档即为:&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;#emacs.doc#&nbsp;<BR>&nbsp;<BR>若所编辑的档案未存回硬碟时,&nbsp;EMACS&nbsp;会自动产生一个暂存档。&nbsp;<BR>下次编辑此档时,&nbsp;EMACS&nbsp;允予使用者从暂存档中将流失的资料回复。&nbsp;<BR>例如编辑的档案为&nbsp;``emacs.doc'',在离开&nbsp;EMACS&nbsp;时未存回硬碟&nbsp;,&nbsp;<BR>&nbsp;EMACS&nbsp;会自动产生一个&nbsp;``#emacs.doc#''&nbsp;的自动储存档。当重新启动&nbsp;<BR>EMACS&nbsp;且编辑&nbsp;``emacs.doc''&nbsp;档时,&nbsp;EMACS&nbsp;会提示使用者此档案&nbsp;<BR>已被更改过但未给予适当的储存。此时,使用者可自行决定是否&nbsp;<BR>要从自动储存的档案中(#emacs.doc#)将&nbsp;``emacs.doc''&nbsp;档中&nbsp;<BR>未被储存的资料找回。&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;如何从自动储存档中将资料找回呢?想要从自动储存的档案中,&nbsp;<BR>恢复原始档案中流失的资料,可以使用&nbsp;``&nbsp;Meta-x&nbsp;recovery-file''&nbsp;<BR>的指令。若存放於硬碟中的档案,有相对应的自动储存档时,&nbsp;<BR>可经由如下的步骤将资料找回:&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;1.&nbsp;&nbsp;键入&nbsp;``Ctrl-x&nbsp;Ctrl-f&nbsp;RET''&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Find&nbsp;file:&nbsp;~/&nbsp;filename&nbsp;<BR>&nbsp;&nbsp;2.&nbsp;&nbsp;在&nbsp;Find&nbsp;file:&nbsp;处输入所欲编辑的档案後後,&nbsp;echo&nbsp;area&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;会出现如下的讯息:&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Auto&nbsp;save&nbsp;file&nbsp;is&nbsp;newer:&nbsp;consider&nbsp;M-x&nbsp;recovery-file&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;3.&nbsp;&nbsp;键入&nbsp;``Meta-x&nbsp;recovery-file&nbsp;RET''&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;此时&nbsp;&nbsp;echo&nbsp;area&nbsp;会自动出现相对应的自动储存的档案名称,&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;若愿意执行恢复的动作,只要直接按下&nbsp;RET&nbsp;即可。否则,&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;以&nbsp;``Ctrl-g''&nbsp;指令,放弃此命令的执行。&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;除了暂存档外,&nbsp;EMACS&nbsp;对於每一个编辑的档案,&nbsp;<BR>都会在编辑前做一份备份,以防止在编辑的过程中因一时的疏忽&nbsp;<BR>而将档案毁损。备份档的设计是,当档案被存回硬碟後,备份档&nbsp;<BR>也不会因此而消失。&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;EMACS&nbsp;命名备份档的方式,是在所要编辑的档名之後加上&nbsp;<BR>``~''&nbsp;。例如,&nbsp;``emacs.doc''&nbsp;的备份档就为&nbsp;``emacs.doc~''。&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;以上的设定是可以改变,因为它们都是变数。下面&nbsp;<BR>列出相关的变数,使用者可自行决定其所需。&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;*&nbsp;&nbsp;&nbsp;auto-save-visited-file-name&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;设定自动储存档案的种类。可以设为暂存档也可设为正在&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;使用的原档案。&nbsp;<BR>&nbsp;&nbsp;&nbsp;*&nbsp;&nbsp;&nbsp;delete-auto-save-file&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;设定档案被存回硬碟後,自动储存的暂存档是否会自动删除。&nbsp;<BR>&nbsp;&nbsp;&nbsp;*&nbsp;&nbsp;&nbsp;auto-save-interval&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;设定自动储存时的字元数。&nbsp;<BR>&nbsp;&nbsp;&nbsp;*&nbsp;&nbsp;&nbsp;auto-save-timeout&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;设定自动储存时的时间。&nbsp;<BR>&nbsp;<BR>&nbsp;<BR>想知道如何设定变数吗?在&nbsp;EMACS&nbsp;中任何设定变数的方法都是以&nbsp;<BR>&nbsp;``&nbsp;Meta-x&nbsp;set-variable(或&nbsp;&nbsp;ESC-x&nbsp;set-variable)''的指令来完成&nbsp;<BR>变数的设定。变数值的设定,可以只设定真假值或设定数值或是&nbsp;<BR>设定字串。&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;若只是设定变数的肯定或否定值时,&nbsp;EMACS&nbsp;有一个遵循&nbsp;<BR>的规则。EMACS&nbsp;中以任何&nbsp;``non-nil''&nbsp;的值来代表肯定,习惯上是以&nbsp;<BR>&nbsp;``t''&nbsp;来表示肯定;而以&nbsp;``nil''&nbsp;来代表否定。&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;在设定新的变数值之前,若想知道目前变数的值,&nbsp;<BR>EMACS&nbsp;可以&nbsp;``&nbsp;Ctrl-h&nbsp;v''(describe-variable)&nbsp;来查阅变数的值。&nbsp;<BR>现在就举设定&nbsp;<BR>``auto-save-visited-file-name'',&nbsp;<BR>&nbsp;<BR>``和&nbsp;auto-save-interval''&nbsp;<BR>&nbsp;&nbsp;二个变数来说明变数设定的方法。&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;1.&nbsp;&nbsp;以&nbsp;``&nbsp;Ctrl-h&nbsp;v''&nbsp;查阅&nbsp;auto-save-visited-file-name&nbsp;的变数。&nbsp;<BR>&nbsp;&nbsp;2.&nbsp;&nbsp;以&nbsp;``&nbsp;Meta-x&nbsp;set-variable''&nbsp;来设定变数&nbsp;。&nbsp;<BR>&nbsp;&nbsp;3.&nbsp;&nbsp;再以&nbsp;``&nbsp;Ctrl-h&nbsp;v''&nbsp;来查阅所设定的&nbsp;auto-save-visited-file-name&nbsp;变数。&nbsp;<BR>&nbsp;<BR>现在来看看设定&nbsp;auto-save-visited-file-name&nbsp;这一个变数的实际过程:&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;1.&nbsp;&nbsp;键&nbsp;``Ctrl-h&nbsp;v&nbsp;RET''&nbsp;<BR>&nbsp;<BR>&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1.&nbsp;&nbsp;&nbsp;echo&nbsp;area&nbsp;处会出现&nbsp;Describe&nbsp;variable:&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2.&nbsp;&nbsp;在&nbsp;Describe&nbsp;variable:&nbsp;後键入&nbsp;auto-save-visited-file-name&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;3.&nbsp;&nbsp;萤幕上会另开一个视窗,显示如下的讯息:&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;auto-save-visited-file-name's&nbsp;value&nbsp;is&nbsp;nil&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Documentation:&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*Non-nil&nbsp;says&nbsp;auto-save&nbsp;a&nbsp;buffer&nbsp;in&nbsp;the&nbsp;file&nbsp;it&nbsp;is&nbsp;visiting,&nbsp;when&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;practical.&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Normally&nbsp;auto-save&nbsp;files&nbsp;are&nbsp;written&nbsp;under&nbsp;other&nbsp;names.&nbsp;<BR>&nbsp;<BR>&nbsp;<BR>&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;2.&nbsp;&nbsp;键入&nbsp;``Meta-x&nbsp;set-variable''&nbsp;<BR>&nbsp;<BR>&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1.&nbsp;&nbsp;&nbsp;echo&nbsp;area&nbsp;处会出现&nbsp;Set&nbsp;varaible:&nbsp;<BR>&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2.&nbsp;&nbsp;在&nbsp;Set&nbsp;variable:&nbsp;後键入&nbsp;auto-save-visited-file-name&nbsp;RET&nbsp;<BR>&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;3.&nbsp;&nbsp;&nbsp;echo&nbsp;area&nbsp;处会出现&nbsp;Set&nbsp;auto-save-visisted-file-name&nbsp;to&nbsp;value:&nbsp;<BR>&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4.&nbsp;&nbsp;此时可以利用在&nbsp;``:''&nbsp;之後的&nbsp;&nbsp;minibuffer,输入变数&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;的值。此变数的值不是肯定就是否定的。目前的值是&nbsp;nil,要改&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;其值为肯定的可以输入&nbsp;&nbsp;t。&nbsp;<BR>&nbsp;<BR>&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;3.&nbsp;&nbsp;再以&nbsp;``Ctrl-h&nbsp;v''&nbsp;来检视变数设定的情形。&nbsp;<BR>&nbsp;<BR>上一个例子是设定肯定与否定值的例子,现在来看看设定变数值&nbsp;<BR>为数字的例子。&nbsp;&nbsp;auto-save-interval&nbsp;实际执行的过程:&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;1.&nbsp;&nbsp;键入&nbsp;``Ctrl-h&nbsp;v&nbsp;RET''&nbsp;<BR>&nbsp;<BR>&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1.&nbsp;&nbsp;&nbsp;echo&nbsp;area&nbsp;处会出现&nbsp;Describe&nbsp;variable:&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2.&nbsp;&nbsp;在&nbsp;Describe&nbsp;variable:&nbsp;後键入&nbsp;auto-save-interval&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;3.&nbsp;&nbsp;萤幕上会另开一个视窗,显示如下的讯息:&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;auto-save-interval's&nbsp;value&nbsp;is&nbsp;300&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Documentation:&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*Number&nbsp;of&nbsp;keyboard&nbsp;input&nbsp;characters&nbsp;between&nbsp;auto-saves.&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Zero&nbsp;means&nbsp;disable&nbsp;autosaving&nbsp;due&nbsp;to&nbsp;number&nbsp;of&nbsp;characters&nbsp;typed.&nbsp;<BR>&nbsp;<BR>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -