分享
 
 
 

经验与技巧:Emacs编辑器的使用

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

A.1

Emacs简介

前面已经介绍过一种全屏幕文本编辑工具Vi,这里将介绍另外一种功能强大、应用也非常广泛的全屏幕文本编辑器Emacs。

Emacs全称为Editor MACroS,由于其移植性极好,所以在当今世界的几乎任何一个操作系统上都可以见到它的身影。现在的Emacs已经超出了原来的单一的文本编辑功能,可以用来管理文件、阅读公告板,甚至可以进行WWW浏览。另外Emacs源代码可以使用C、C++、Lisp等语言定制,对一些编程爱好者来说,这无疑是一大福音,同时也使其灵活性大大增加。

Emacs编辑器的使用、操作与使用其他标准的文本编辑器一样。键盘上普通的按键用来输入字符,而编辑器的操作命令是通过键盘上的一些特殊的按键来实现的,例如Ctrl、Alt等控制键。与Vi不同,Emacs编辑器没有特定的输入模式与命令模式之分。在输入文本时,也可以执行编辑命令,例如用Ctrl键来移动光标、保存文件等,而不必忍受切换模式的麻烦。

Emacs 编辑器是一个复杂且非常灵活的编辑器.它有好几百个编辑命令。Emacs编辑器也有一些特殊的特性,例如多窗口特性,可以在编辑文件时同时显示两个窗口。也可以同时打开并对多个文件进行编辑与操作,并在屏幕上与之对应的编辑窗口内显示各个文件。

Emacs编辑器通过巧妙地控制、操作工作缓冲区来实现其强大、灵活的功能。Emacs编辑器可以被认为是面向缓冲区的编辑器。在任何编辑器中编辑文件时,该文件将首先被拷贝到工作缓冲区中,而所有的编辑操作都在工作缓冲区中进行。许多编辑器在编辑文件时仅开辟一个工作缓冲区,因此仅能打开一个文件。而Emacs编辑器可以同时开辟并管理多个工作缓冲区,因此允许同时对多个文件进行编辑操作,还可以用编辑缓冲区来保存、删除或拷贝文本,用户甚至可以开辟目己的缓冲区,并在这些缓冲区中保存文本,必要时可以把这些缓冲区内的文本保存到文件中。

A.2

Emacs的启动与退出

A.2.1

Emacs的启动

通过键入:

$ emacs [文件名]

进入Emacs文本编辑程序。如果不键入文件名,则将创建一个新文件而不是打开现存文件(如图A-1所示)。

图A-1

Emacs程序界面

无论建立新文件还是打开一个现有文件,在处理方法上都是将其放入缓冲区中。和Vi一样,只要用户不发出存储到磁盘的命令,缓冲区的内容就不会写到文件中。同时这也使用户可以在多个缓冲区之间进行复制、粘贴等操作,非常方便。

A.2.2

Emacs的退出

当对文件做必要的修改后需要退出时,有几种可行的途径。如果对文件未做任何修改,则直接使用Ctrl+x、Ctrl+c即可退出Emacs;如果对文件做了修改,则同样使用以上按键组合退出,只是这时系统将询问是否保存文件,如果键入y,则系统保存文件;如果是个新文件,系统提示输入文件名,保存后退出。如果键入n,则系统将再次询问是否真的不保存缓冲区中的内容退出,这时回答yes则放弃所做修改退出;当然也可以先使用命令保存文件,然后再退出,这时可以使用Ctrl+x、Ctrl+s组合键,系统将保存文件并退出。如果要把编辑程序存到另一个和原来文件不同的文件中,可以使用Ctrl+x、Ctrl+w组合键,然后指定新文件名即可。

如果用户正在进行Emacs的有关操作,需要Linux执行其他的操作,可以选择下列任何一种方法。

1. 中止Emacs并返回Linux shell

通过按Ctrl+z就可以中止任何Linux应用程序。该组合键将当前的应用程序放入后台并向用户提供另一个shell提示符。若要重新激活Emacs,可键入命令fg,将后台任务带回前台。若正在使用的shell不懂此命令,键入exit,重新激活Emacs。

2. 从Emacs中发出一个shell命令

如果不需要完整的shell环境,可以考虑在Emacs中使用shell命令。要在Emacs中使用shell命令,按Ctrl+u、Esc、!,之后将提示输入一个shell命令。输入命令并回车,Emacs将命令传递给Linux shell,然后shell执行这个命令。如果不在前面加上Ctrl+u命令,Emacs将把输出结果放到一个叫shell执行结果缓冲区中。如果需要关闭该窗口可以使用Ctrl+x命令。

A.3

用Emacs编辑器创建文件

利用Emacs建立新文件的步骤如下:

1. 启动emacs(键入emacs并回车),可以看到图A-1所示的屏幕。

2. 向缓冲区添加文件内容。

3. 将缓冲区中的内容保存到某一文件中(假设文件名为mydata)。按Ctrl+x、Ctrl+s,然后键入文件名(mydata),再回车,就将缓冲区中的内容存入文件(mydata)中了。状态行上会显示如下信息:

Wrote /root/mydata

表示已建立了新文件(mydata),并把它保存到磁盘上。

4. 按Ctrl+x、Ctrl+c退出Emacs。

若退出Emacs时存在未保存的内容,Emacs会提示用户保存文件。在Emacs命令后输入想编辑的文件名,如果该文件名不存在,该文件将被创建。在下面的例子中,用户准备用Emacs编辑器来编辑名为mydata的文件。

$ emacs mydata

与Vi编辑器一样,Emacs编辑器是一个全屏幕编辑器。当编辑的文件是新创建的文件时,除屏幕的底部两行外,屏幕是空白的,光标将位于屏幕的左上角。如图A-2所示。

图A-2

Emacs编辑器的编辑屏幕

A.3.1

META键、Emacs屏幕及编辑模式

Emacs编辑器的编辑操作与许多普通的文字处理器类似。Emacs编辑器仅有一种编辑模式��输入模式。如果键入任何字符键,键入的字符将被输入到编辑的文件中,所有的字符键都被用来输入字符,而不是用来输入命令。

在一些计算机上有META键,即可以使用META-x组合键。在没有META键的计算机上,META-x等于先按Esc键,再按x键。有些系统的META键就是Alt(或者某一边的Alt键)。Emacs编辑命令基本上是一串Ctrl-x及META-x按键命令的组合(简记为C-x和M-x)。Alt键命令系列与Ctrl键命令系列的操作基本相同,即首先一直按住Alt键,再键入相应的按键,最后同时放开这两个键。但Esc键命令系列稍微有点不同:首先键入Esc键,然后放开该键,再键入相应的按键。Esc键的使用频率要比Alt键的使用频率高,因为很多早期的键盘根本没有Alt键。因此,本章主要介绍这些META键,同时必须记住,这些META键也可以用终端上的Alt键来代替。

从图A-1、A-2所示的Emacs编辑器屏幕可以看出以下几个特点:首先有一组菜单选项(即Buffers、Files、Tools、Edit、Search、Mule、Help)。所有的Emacs命令都可从这个下拉菜单执行;屏幕的最下面一行是小缓冲区,主要用于显示使用过的命令;倒数第二行被称为状态行,主要显示如下信息:文件名、当前模式、光标位置和当前位置在文件中的相对位置;状态行以上的所有屏幕都被称为缓冲区。

在状态行上显示的是正在编辑的文本的状态信息。状态行由几个部分组成,其形式如下:

--1-:ST-F1 BulfferName (模式)--Lx―Place----------

第一个域是ST(Status),它表示若最近对文件进行了修改,该修改的文件是否已经被保存过。如果该域是两个星号(“**”),表示该文本已经被修改过,但没有保存;如果该域是两个连字符(“--”),表示该文件从最后一次保存到现在还没有被修改过。

BufferName域表示该工作缓冲区的名字,这个工作缓冲区名将是目前编辑的文件名。而Lx表示光标当前的位置,Place域表示光标当前处于被编辑的文件的何处。例如,如果Place域是40%,那么,表示光标当前大约位于文件的40%处。在下面的例子中,状态行表示该文件自最近一次修改以来,还没有被保存过,工作缓冲区的名字是mydata,光标处于文件的第4行。

--1-:**-F1 mydata (Fundamental)--L4--All-----------

Emacs 在小缓冲区下有“自动补全”功能。该功能可以为用户节省许多时间。当在小缓冲区输入文本串、一行长命令或输入文件名时,就可以用到自动补全功能。如果有两个以上的选择,它也会显示选项列表。这个功能对Ctrl+x、Ctrl+f等文件编辑功能也是有效的。

A.4

编辑操作及命令

Emacs编辑器的编辑命令能执行许多操作,其他编辑器基本上也有类似的编辑操作。Emacs编辑器中所有的编辑命令基本上都通过Ctrl键、Alt键或Esc键组成的命令序列来完成与实现。所有这些编辑命令也都有对应的命令名,用户可以在小缓冲区中输入这些命令。如果从xterm上进入Emacs,则可从编辑器屏幕上方的下拉菜单中选择菜单选项来执行相应的命令。本节将介绍一些常见命令。

A.4.1移动命令

Emacs编辑器有一组基本的光标移动命令。Ctrl+f命令用来将光标前移(右移)一个字符,而Ctrl+b命令用来后移(左移)一个字符。Emacs编辑器把一个文件看作一种流式字符串,而不是一系列的文本行。向后移动光标命令将使光标沿流式文本左移一个字符(例如在当前行的行首将光标左移一个字符时,光标将回到上一行的行尾)。向前移动光标命令也是如此。

也有一组编辑命令能使用户在文件中以行为单位移动光标或整屏移动光标。Ctrl+n命令将把光标移动到下一行上,如果此时光标位于屏幕最后一行,屏幕将下滚,使当前行的下一行显示在屏幕上。Ctrl+p命令将把光标移动到上一行,如果此时光标位于屏幕最顶行,屏幕将上滚,使当前行的前一行显示在屏幕上。Ctrl+v命令及Esc v命令将整屏滚动文本。Ctrl+v命令将使文本向前滚屏并显示下一屏文本,而Esc 命令将使文本向后滚屏并显示上一屏文本。

由于上面几条命令是在键盘上没有方向键时开发的,所以可能很多新用户会不大习惯这种使用。事实上,现在的键盘都有方向键,可以使用上下左右四个方向键来替代这四个命令。甚至Emacs程序支持PageUp和PageDown键上下翻页。

用户也可以以单词、段落等为“计量单位”来移动光标。META键命令Esc f及Esc b用来以单词为单位前、后移动光标。

Esc a命令可以把光标移动至句首,而Esc e命令将把光标移动至句尾;Ctrl+a命令将把光标移动

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
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- 王朝網路 版權所有