Emacs最强编辑器教程:安装配置、插件推荐及快捷方式指南

内容介绍

Emacs最强编辑器教程:安装配置、插件推荐及快捷方式指南

1.Emacs简介

2、三个Emacs平台的安装与配置

3.自动完成插件

4.编辑器的Emacs配置文件

5.常用快捷键

6、与版本控制系统的配合(以SVN为例)

【程序员助手】系列

在这个系列文章(不定期更新)中,小编会向大家推荐我这几年在编程学习和工作中使用过的我觉得非常好的软件。希望分享精彩的资源,让大家提高编程和工作效率。

Emacs,最强大的编辑器,没有之一

小编知道,这个标题一出来,肯定会受到大众的“诟病”,说不定还会被其他小编的粉丝暗中“追杀”。

比如,Vim编辑器的粉丝可能会来“踢出去”,VS或Eclipse的粉丝也可能会“群起而攻之”。不过,小编只是表达一下我的感受。敲砖时动作要轻柔,少用鸡蛋。扔几个。如果鸡蛋扔多了,请多扔几个西红柿,这样我就可以做西红柿炒鸡蛋了。谢谢。

对于很多人来说,使用Vim和Emacs不仅是提高“信仰”的一种方式,而且还上升到了“信仰”的层面,夸张点吧。当然,这与宗教信仰不一样,这只是一种可爱的“偏执”。

Emacs 其实可以做很多事情。不要将其视为只是一个文本编辑器。可以说是一个集成环境,也可以称之为“集成开发环境”。它还可以执行以下操作:

上网、浏览网页

观看视频

发送和接收电子邮件

调试程序,结合GDB、EDebug等。支持C/C++、Perl、Python、Lisp等。

玩游戏

计算器

写日记

管理日程、任务、待办事项、约会等。

个人信息管理

目录管理

文件比较

阅读信息和 man 文档

ETC。

编辑器以前在Linux下使用Vim编辑器来编写代码,功能也很强大。然而自从2014年接触Emacs之后,我就爱上了Emacs。虽然有时仍然会使用 Vim,但大多数时候我在写代码时仍然使用 Emacs。

起初我不知道Emacs为什么这么漂亮、这么强大,直到后来读了经典著作《黑客与画家》(硅谷创业教父Paul Graham写的,其实是他的一些日志),描述了 Lisp 语言的强大和美丽,Emacs 是用 Lisp 语言编写的,这也难怪。

我们来谈谈为什么Lisp语言如此强大。虽然这门语言非常古老,在 2015 年 6 月的 TIOBE 编程语言排行榜中仅排名第 31 位,但是:

摘自阮一峰译的《黑客与画家》一书,推荐大家阅读:

**************************************************

如果我们把流行的编程语言按照这个顺序排列:Java、Perl、Python、Ruby。你会发现列表中排名靠后的语言更像是 Lisp。 Python 模仿 Lisp,甚至模仿许多 Lisp 黑客认为是设计错误的功能。至于 Ruby,如果你回到 1975 年并声称它是一种 Lisp 方言,没有人会反对。

目前编程语言的发展才刚刚赶上1958年Lisp语言的水平。

1958 年,John McCarthy 设计了 ​​Lisp 语言。我认为最新的编程语言刚刚实现了他在 1958 年的设想。这怎么可能呢?计算机技术的发展不是日新月异吗?

1958年的技术怎么能超越今天的水平呢?让我告诉你原因。这是因为 John McCarthy 最初并不想让 Lisp 成为一种编程语言,至少不是目前意义上的编程语言。他的初衷只是做一个理论计算,以更简洁的方式定义一个图灵机。那么,为什么 20 世纪 50 年代的编程语言现在还没有过时呢?简单来说,因为这种语言本质上不是技术,而是数学。数学永远不会过时。

你不应该将 Lisp 与 20 世纪 50 年代的硬件联系起来,而应该将其与快速排序算法联系起来。该算法于 1960 年提出,至今仍然是最快的通用排序方法。

时至今日,最先进的主流语言才刚刚接近 Lisp 的水平。虽然很接近,但它仍然不如 Lisp 强大。

Lisp语言诞生时,包含了9个新思想。其中一些我们今天已经认为是理所当然的,另一些则刚刚出现在其他高级语言中,还有两个是 Lisp 所独有的。

**********************************************

怎么样,你是不是很想知道用如此强大的 Lisp 语言开发出的 Emacs 到底有多漂亮呢?

当然,本文无法带您领略 Emacs 的所有美妙之处。说实话,Emacs 肯定有它的缺点:小编还是很理智的,不敢冒着世人不认可的风险。

Emacs的更多好处只有大家都使用它才能逐渐体会到。

Emacs 简介

Emacs 是一款功能强大的文本编辑器,深受程序员和其他主要从事技术工作的计算机用户的欢迎。

EMACS,是Editor MACroS(宏编辑器)的缩写,最初是由理查德·马修·斯托曼(Richard Matthew Stallman)于1975年在麻省理工学院与Guy Steele合作完成的。

(Richard Stallman是开源运动之父,这个可爱的大胡子男人抵制苹果,抵制Facebook,抵制亚马逊,抵制很多公司和机构。他还是自由软件基金会(FSF)的主席。自由软件基金会领导了许多开源项目,包括 GNU。GNU 项目允许世界各地的程序员开发 Linux 操作系统的外围软件,这就是为什么 Linux 成为今天的样子。 Linux 内核,这还不够,所以今天 Linux 最正确的名称应该是 GNU/Linux)。

自诞生以来,Emacs 已演化出许多分支,其中应用最广泛的两个是:GNU Emacs(由 Richard Stallman 于 1984 年发起并由他维护至今)和 XEmacs(于 1991 年发起)。XEmacs 是 GNU 的一个分支和Emacs仍然保持着相当大的兼容性。它们都使用Emacs Lisp这种高度可扩展的编程语言来实现包括编程、编译甚至网络浏览等功能的扩展。

您可以使用Lisp语言重写Emacs的功能组件,并且可以更改配置并完全自定义Emacs。 All Emacs 是一个充满无限可能性的编辑器。

国际化

Emacs支持多种语言的文本编辑,包括UTF-8在内的多种编码系统,并提供对多种字符集、稿件、书写系统、不同文化的书写习惯的支持,使得世界上大多数任何语言的用户都可以进行文本操作通过 Emacs 进行处理。 Emacs还可以通过调用ispell等外部程序来实现多种语言的拼写检查。

跨平台

Emacs 是世界上最便携、最重要的软件之一,可以运行在大多数当前操作系统上,包括类 Unix 系统(GNU/Linux、各种 BSD、Solaris、AIX、IRIX、Mac OS X 等)、MS -DOS、Microsoft Windows 和 OpenVMS 等,以及移动 Android 平台和 iOS。

缓冲区概念

Emacs 初学者需要了解缓冲区是什么:

Emacs 中的所有操作都发生在编辑缓冲区(buffer)中,该缓冲区通常是文件的工作副本。如果您正在编辑的编辑缓冲区包含文件的副本,则当您保存更改时,Emacs 会将编辑缓冲区的内容复制到文件中。除了处理文件副本的缓冲区之外,还有执行临时工作的缓冲区,就像一张草稿纸。当然,您也可以使用写入文件命令(“Cx Cw”)或保存缓冲区命令(“Cx Cs”)保存此类临时工作缓冲区的内容。

小编一开始对缓冲区的概念不太了解。不要害怕,用过之后你马上就明白了。

可以参考一些专家的Emacs教程和“练级”系列:

Emacs官方网站:

Emacs 中文 Wiki:

轻松一点,关于 Emacs 的一个笑话

“这就是 Emacs 的生活”

1.听说有Emacs这个东西。试了一下,感觉就像一个记事本。没有学习曲线。只是……我找不到放弃的方法……

2.开始了解一些Emacs,开始学习各种模式、按键绑定、配置方法,熟悉Emacs...

3、对Emacs比较熟悉,基本都是用Emacs工作,每天“生活”在Emacs中……

4.我对我的“常用”Emacs非常熟悉,可以教别人Emacs,加入大量的Emacs社区,下载、使用和跟踪大量别人的扩展,不能再没有Emacs了……

5、渐渐地我对Emacs感到不满,逐渐熟悉了Lisp语言,开始重写我的“自己的”Emacs。这期间我开始处处碰壁,工作效率总是因为一次修改失败而受到影响……

6.我经常修改Emacs。我手里的Emacs和上周基本有点不一样……就是变化太多了。经常有一天在整理代码的时候突然发现……原来还有这样的事情。好用的功能……我都忘记了好久了……

7.…………

Emacs 三个平台的安装配置

1.Windows下安装Emacs

请访问以下链接下载 Windows 版本的 Emacs:

请下载列表中最新版本的zip文件。例如,最新版本是2015年5月1日发布的24.5版本:

emacs-24.5-bin-i686-mingw32.zip

下载后,使用Winrar或7-zip解压,会出现一个文件夹emacs-24.5-bin-i686-mingw32。

包含四个子文件夹:

垃圾桶

库执行程序

分享

变量

打开bin文件夹并运行emacs.exe文件以启动Emacs。无需安装:

可以将emacs.exe文件锁定到任务栏,非常​​方便。单击图标启动它。

2.Linux下安装Emacs

在 Debian 系列(包括 Ubuntu)下安装 Emacs:

sudo apt-get 安装 emacs

在Redhat家族(包括Fedora)下安装Emacs:

sudo yum 安装 emacs

其他人可以搜索如何安装,或者下载Emacs的源码进行编译安装。

下面演示Linux如何下载Emacs代码进行编译安装(最强大的方式):

先走

ftp://ftp.gnu.org/pub/gnu/emacs

几乎所有版本的 Emacs 都有源代码包。下载最新版本(也可以使用旧版本),如:emacs-24.5.tar.gz

解压emacs-24.5.tar.gz并编译安装,并在终端中运行以下命令(如果是其他版本,请将以下命令中的24.5替换为对应版本):

tar -zxvf emacs-24.5.tar.gz(解压缩文件)

cd emacs-24.5(进入目录)

./configure(配置)

制作(编译)

sudo make install(安装时,会提示输入管理员密码)

安装完成后,启动Emacs非常简单。只需打开终端,输入 emacs,然后按 Enter。不过小编觉得这样太麻烦了。您可以用更简单的方式打开 Emacs。我这里只是使用一键(演示环境是Fedora 21,但Ubuntu等其他系统也类似):

打开Fedora的“设置”(你必须知道设置在哪里)

选择“键盘”

在列表中选择“自定义快捷方式”,然后单击加号“+”添加新快捷方式

选择快捷键的键。这里编辑器选择F2键,然后填写命令,即“emacs”,然后填写快捷方式的名称。这个随便填吧,我填的是“Emacs”,OK

尝试按 F2 键。它会启动 Emacs 吗?酸度不言而喻!

3.Mac操作系统下安装Emacs

要在Mac上安装Emacs,网上有很多文章。您可以使用Git下载Emacs的源代码,然后编译安装。也可以使用一些包管理软件来安装,不过小编推荐一种更方便的方式,在Mac上安装QQ和迅雷。这很方便:

访问该网站并下载 dmg 包。 Mac用户一定知道,这是Mac上最常见的软件安装方式。那么就没有了……如果你不知道如何安装Emacs,那么就真的没有必要使用Emacs了……

自动完成插件

安装Emacs后,还需要安装自动补全扩展(可以自动补全关键字、文字等)。它的功能非常强大,被称为公司模式。官方网站:

幸运的是,这个扩展不需要我们以传统的方式从官网下载并安装到Emacs中,因为Emacs有一个已安装扩展的列表,这有点类似于Debian系列中的apt-get等包管理工具以及 Redhat 系列中的 yum。所以我们只需要按照以下步骤进行安装即可:

按 Mx 调出命令输入

输入 list-packages 并按 Enter

在出现的列表中,单击公司

在右侧出现的新缓冲区中单击“安装”(英文:Install)

单击“是”

您还可以使用此方法(list-packages 命令)安装许多其他 Emacs 插件(扩展)。正如你所看到的,列表中有很多插件,所以 Emacs 有点像一个小型操作系统。

编辑器的Emacs配置文件

请点击“阅读原文”下载编辑器打包的压缩文件(.rar格式),其中包含编辑器的Emacs配置文件.emacs(别忘了前面的点)和.emacs文件的三个有用模块称呼。

当然,你可以从网上下载一些著名的Emacs配置文件,看看他们的Emacs快捷键(除了一些基本的通用快捷键之外,用户还可以自定义很多快捷键,这些快捷键可以在.emacs文件中定义) 。

如果你“不幸”选择使用编辑器的 Emacs 配置文件,那么:

请将你的主目录下的.emacs文件替换为编辑器的.emacs文件(安装Emacs后,你的主目录下,即~下会有一个.emacs文件)。

将压缩文件中的其他三个模块文件放入.emacs.d文件夹下的modules文件夹中(.emacs.d文件夹在安装Emacs后就会有,也在主目录下,但是modules文件夹需要自己创建):

cd ~/.emacs.d/

mkdir 模块

cp php-mode.el psvn.el saving-placesmodules/ (或者手动将三个模块文件直接复制到modules文件夹中)

常用快捷键

Emacs的快捷键都是绑定Ctrl和Alt(或者Meta,也就是Mac下的Cmd键)。例如Cx是Ctrl+x,Mx是Alt+x(Mac下是Cmd键)。当然,所有按钮都可以自定义。

那么下面我就来描述一下快捷键组合表达式:

C 代表 Ctrl 键

M代表Apple Mac系统下的Alt键或Cmd键

Cx Cc 表示先按 Cx,再按 Cc

Cx k 表示先按Cx,松开手,再按k

编辑者通常最常使用这些快捷键组合。

Ms:创建一个新的缓冲区(buffer)

Cx O:注意是大写的O,不是零,所以需要按住shift键的同时按o键。用于在缓冲区之间切换

Cg:取消当前操作

CX u:返回上一步,相当于Undo

Cx C-3:将缓冲区分为左、右。新缓冲区是当前缓冲区的副本(可以多次执行以划分许多小窗口)

Cx C-2:将缓冲区分为上下两部分。新缓冲区是当前缓冲区的副本(可以多次执行以划分许多小窗口)

Mw:当选择文本时,复制该文本,如果未选择文本,则复制当前行。

Cw:当选择文本时,剪切文本,如果未选择文本,则剪切当前行。

mx:调出命令输入,后面可以跟命令,如man、svn-status等。

CY:粘贴

Cx Cs:保存文本

Cx Cf:打开文件,如果文件不存在,则创建一个新文件

Cx Cv:打开一个文件,替换当前缓冲区

CX k:关闭当前缓冲区(buffer)

Cs:向前搜索

Cr:向后搜索

Cx h:全选

简历:向下翻页

MV:向上翻页

Cf:前进一个字符

Cb:后退一个字符

MF:向前移动一个字

Mb:返回一个字

C-@:标记开始区域

Ca:移至行首

Ce:移动到行尾

马:移到句首

我:移到句末

M-<:缓冲区头

M->:缓冲区结束

Mg Mg,然后输入数字:跳转到哪一行文字

Cx 0:关闭当前缓冲区

Cx Cc:退出 Emacs

目前只能记住这么多,还有很多快捷键需要大家自己去发现!编辑器通常不会使用所有快捷键。以上快捷键组合是最常用的。

注意:不要记住这些快捷键组合。当您使用 Emacs 时,您很快就会记住它们,相信我!

另一个常用的函数是查询函数,可以方便地查询定义的函数:

按 Mx 调出命令输入

输入man,即Linux或Unix系统中的man命令。它是manual的缩写,意思是“手册”。

然后输入你要查询的函数名并回车

它出来了。例如,如果我查询fprintf函数,就会弹出下图右侧的缓冲区:

给我编辑器的.emacs配置文件的内容,以防下载链接失效(至于三个模块,你可以在网上找到:php-mode.el psvn.el saving-places):

;;

;;用于加载模块的附加存储库

;;

(添加到列表'加载路径“~/.emacs.d/modules”)

;;

;;附加模块

;;

;;(需要“dsvn”)

(需要“psvn”)

(需要'php模式)

(需要“保存位置”)

;;(需要'unxls)

;;在侧边栏中显示文件的路径。

;;(需要“唯一”)

;;

;;键盘快捷键

;;

(全局设置键 [f9] '编译)

(全局设置键 [(control z)] '撤消)

;;我们可以使用 'dabbrev-completion 或 'dabbrev-expand

(全局设置键 [(控制返回)] 'dabbrev-completion)

;;(全局设置键“\C-)”'dabbrev-完成)

;;(全局设置键“\C-=”'dabbrev-expand)

(全局设置键“\Cn”'imenu)

(defun 尝试添加 imenu ()

(条件情况零(imenu-add-to-menubar“imenu”)(错误零)))

(add-hook 'font-lock-mode-hook 'try-to-add-imenu)

;;所有缓冲区中的公司模式

(add-hook 'after-init-hook '全局公司模式)

(全局设置键“\Ms”'new-shell)

(全局设置键(kbd“Cx t”)'todo-show)

;;

;;如果未选择内容,则复制或剪切一行

;;

;;复制区域或整行

(全局设置键“\Mw”

(拉姆达()

(交互的)

(如果标记为活动状态

(杀环保存(区域开始)

(区域结束))

(程序

(杀环保存(行开始位置)

你可能想看:
« 上一篇
下一篇 »

相关推荐

php实时推送,php实地培训

2026年10月05日

46阅读

php乱码出现问号的原因,php乱码出现问号的原因有哪些

2026年10月05日

38阅读

php一句话木马,一句话木马ctf

2026年10月05日

40阅读

php获取数组长度,php中如何获取数组的长度

2026年10月05日

43阅读

php面试题库及答案,php程序员面试真题库

2026年10月05日

41阅读

phpcontent-type修改,php源码二次修改需要多少钱

2026年10月05日

38阅读