推荐 原创 视频 Java开发 iOS开发 前端开发 JavaScript开发 Android开发 PHP开发 数据库 开发工具 Python开发 Kotlin开发 Ruby开发 .NET开发 服务器运维 开放平台 架构师 大数据 云计算 人工智能 开发语言 其它开发
Lambda在线 > 艾特 数据 > 7.【Emacs】进阶之模式

7.【Emacs】进阶之模式

艾特 数据 2018-10-18

前期的快速入门内容中,分6次介绍了Emacs的基本操作方法和基础概念,包括编辑、搜索、替换、窗格、窗口和缓冲区,了解了这些概念之后,就可以使用Emacs进行工作了。就我个人的实际体会来讲,在使用的过程中还是感觉很大的不方便,还不如windows的记事本简单实用。这是因为Emacs是一个复杂的、强大的编辑软件,可以进行复杂的设置,对于开发者而言完全可以作为IDE来使用,也就是说,Emacs还有大量的潜在功能需要我们去了解,还需要我们更加深入的学习。从今天起,我们就进入Emacs的进阶部分,进一步深入了解Emacs。我仔细翻阅了Emacs官方指南,觉得应当从模式(Mode)开始。

为了简便期间,对文中命令进行了缩写,其中:

·C代表CTRL键

·M代表ALT键。

 

模式是Emacs的一个重要概念。在快速入门中我们学习过缓冲区,所有通过Emacs打开的文件都会在缓冲区中显示,每个缓冲区怎么显示,能够使用什么样的命令,就是由模式来决定的。可以把一个模式理解为一组默认设置,包括Emacs的显示方式、编辑方式以及相关的命令集。Emacs每打开一个文件,每显示一个缓冲区,就会向该缓冲区赋予一个模式。模式又分为主要模式(Major Mode)和次要模式(Minor Mode)。

一、主要模式

每个缓冲区都有一个,且仅有一个主要模式。通常情况下,主要模式是Emacs根据打开的文件类型而设置的,也可以通过Emacs的配置文件设置一个默认的模式。

Emacs提供的主要模式有很多,例如:

text-mode:文本编辑模式,用于常规的文本编辑。

Info-edit-mode:帮助文件的编辑和显示模式。

C++-mode:C++文件的编辑和显示模式。

C-mode:C文件的编辑和显示模式。

不仅仅是这些,还有更加细化的,如:

dns-mode:DNS文件的编辑和显示模式。

image-mode:图片编辑和显示模式。

css-mode:css文件的编辑和显示模式。

还有比较特殊的shell模式,用于模仿控制台。

二、次要模式

次要模式与主要模式的主要区别有以下两点:

(一)与缓冲区的对应关系不同

一个缓冲区有且仅有一个主要模式。一个缓冲区可以有多个次要模式,理论上也可以没有次要模式(此种情况仅是理论上存在)。

(二)应用范围不同

主要模式仅在该缓冲区内生效。次要模式分为两类,一类是局部生效,即启用后仅对当前缓冲区有效;另一类是全局生效,即启用后对所有缓冲区生效。

三、模式相关命令

主要模式、次要模式都与M-x相关,要在缓冲区中应用模式只需要执行相关的模式命令,大部分的模式命令都以“mode”结尾。

四、shell模式

shell模式为我们提供了通过Emacs与操作系统交互的途径。

1.启动shell模式

在Emacs中执行M-x shell,默认会产生一个新窗格,在该窗格中出现命令行提示。 

我们可以看到,新窗格的名称默认为“*shell*”,主要模式是“Shell”。

2.在shell中操作

在该窗格中,可以像正常的控制台一样,执行cd、dir、pwd等操作系统命令。

3.思考题:如果改变模式会怎样?

在shell模式下执行“M-x text-mode”,就将当前模式变为text模式,这时就只能进行文本编辑,而无法执行操作系统命令了。


版权声明:本站内容全部来自于腾讯微信公众号,属第三方自助推荐收录。《7.【Emacs】进阶之模式》的版权归原作者「艾特 数据」所有,文章言论观点不代表Lambda在线的观点, Lambda在线不承担任何法律责任。如需删除可联系QQ:516101458

文章来源: 阅读原文

相关阅读

关注艾特 数据微信公众号

艾特 数据微信公众号:gh_539a86282c5d

艾特 数据

手机扫描上方二维码即可关注艾特 数据微信公众号

艾特 数据最新文章

精品公众号随机推荐

下一篇 >>

用Emacs的这些年