**Emacs 的使用过程,就像是程序员的生涯一样——路漫漫其修远兮,吾将上下而求索。**

## 万物始于 Emacs

最早知道 _Emacs_ 是从编辑器的圣战开始的,即编辑器之神——Vi,和神的编辑器——Emacs。两个编辑器在经历了几十年的战争之后,仍然是编辑世界不可超越的高峰。

但在一开始,我选择的是 Vi,因为在 **\*nix** 中,基本都是有的,在服务器编辑文件——即使是很大的文件,Vi 也可以非常容易的使用,所以在一段时间内,我几乎是跪着使用 Vi 的。

后来随着想用的功能越来越多,而被一些大神安利,我就选择了使用 Emacs 来记笔记(装逼)。于是下载了当时正流行的 _Purcell_ 大神的配置,并开始尝试使用,不过没过多少就放弃了。

推荐内容:

- [《一年成为 Emacs 高手(像神一样使用编辑器)》](https://github.com/redguardtoo/mastering-emacs-in-one-year-guide/blob/master/guide-zh.org)
- [Prelude 入门级 Emacs 配置](https://github.com/bbatsov/prelude)
- [Purcell 大神的配置](https://github.com/purcell/emacs.d)

## Emacs 始于 Org

`Emacs` 学习的无疾而终,让我的装逼大计一度沉沦。直到我看到另外两个大神,利用 _Org-mode_ 进行博客写作日程管理,并详细阅读了他们的文章之后,才真正开始了 _Emacs_ 的学习苦旅。

如果说 _Emacs_ 是神的编辑器的话, `Org` 可能是神器之中的神器,随着对 _Org_ 的学习和使用,我从最初的装逼,到后来的逼格提升,都是因为 _Org-mode_ 。

推荐内容:

- [mudan 大神的 Org-mode 入门级手册](https://github.com/mudan/mudan.github.io/blob/master/Emacs/The%5FOrg%5FManual/The%5FOrg%5FManual.org)
- [mudan 大神的漂亮的文言文排版](https://github.com/mudan/mudan.github.io/blob/master/read/dx.org)
- [Tisoga 大神的 Org + GitHub 的博客教学](http://forrestchang.com/14824097554043.html)

## 终于 Spacemacs 的战争

从最开始的学习,到现在已经习惯于使用 Emacs 的人来说,Emacs 确实是可以提升工具效率的,当然这里要把配置他的时间拿走。虽然开始使用的原因有所不同,但是大家最后的目标却都是一样的——提高工作(学习)效率。

但是经过了 Emacs 几次配置之后,虽然说不上大神,也就知道了一些 Emacs 的坑是如何解决的。

后来加入了一个 Emacs 的微信群——毫不夸张的说,这是我加入过的群里面质量最高的,学习效果最好的,而且所有的成员都自发的维护群里的闲聊问题,每一次讨论都是提问解决和讨论的过程。

在偶然的一次机会,被安利了一把 Spacemacs,Vi 的操作加上 Emacs 的扩展,不要太吸引人!

推荐关注的大神:

- [Hick](https://github.com/hick) 高质量 _Emacs_ 微信群群主,应该也是发起人,水的人自觉加入闲聊群,是我所有技术相关微信群中质量最高的。
- [子龙山人](https://github.com/zilongshanren) _Spacemacs Rock_ 视频作者,我的配置里抄的最多的就是这位大神的。
- [DarkSun](https://github.com/lujun9972) 黑日大神,大神的文章非常好,多读读,可以找到一些自己需要的配置。
- [tumashu](https://github.com/tumashu) 天然二呆,呆神,之前看到呆神在闲聊群里水,后来又看到呆神在帮忙解决问题,好奇的关注了一下 _GitHub_ ,才发现,竟然这几个好用的 package
都是呆神写的,而且呆神竟然不是程序员!

大神太多了,不一一推荐,如果需要,可以联系 Hick 加一下群,就都有了。

再推荐一下中文的 Emacs 论坛,可以提问,也可以讨论:

- [Emacs China](https://emacs-china.org) 一堆大神在维护的论坛,经常看看,非常好用

## 语乱的 Spacemacs 配置

### 初始

为了更好管理配置,推荐使用 _.spacemacs.d_ 文件夹进行管理配置,而不是使用 _.spacemacs_ 文件。也为了方便后续的扩展。

### 可能会遇到的问题

如果是在 Windows 下使用,需要注意几个问题:

1. 推荐用编译版本,或者用官方网站加部分 _.dll_ 文件来解决
2. 使用过程中,为了配置的时候好用——更适合 Linux,我是使用在环境变量中增加默认的 _HOME_ 的方案,也可以使用其它方法
3. 直接下载就可以使用,维护的是 _develop_ 分支,后续会慢慢往 _master_
分支中合并

### 最终选择

在几经周折之后,最后还是选择自己从头开始配置一套 _.emacs.d_ 的内容,但是 _.spacemacs.d_ 的相关内容也没有清楚。

[我的 emacs 原生配置](https://github.com/AboutEmacs/.emacs.d)

## 我的博客地址

如果想看我的博客,可以访问:[我的博客地址](https://www.zucchiniy.cn)

Emacs 学习之旅的更多相关文章

  1. WCF学习之旅—第三个示例之四(三十)

           上接WCF学习之旅—第三个示例之一(二十七)               WCF学习之旅—第三个示例之二(二十八)              WCF学习之旅—第三个示例之三(二十九)   ...

  2. Hadoop学习之旅二:HDFS

    本文基于Hadoop1.X 概述 分布式文件系统主要用来解决如下几个问题: 读写大文件 加速运算 对于某些体积巨大的文件,比如其大小超过了计算机文件系统所能存放的最大限制或者是其大小甚至超过了计算机整 ...

  3. WCF学习之旅—第三个示例之二(二十八)

    上接WCF学习之旅—第三个示例之一(二十七) 五.在项目BookMgr.Model创建实体类数据 第一步,安装Entity Framework 1)  使用NuGet下载最新版的Entity Fram ...

  4. WCF学习之旅—第三个示例之三(二十九)

    上接WCF学习之旅—第三个示例之一(二十七) WCF学习之旅—第三个示例之二(二十八) 在上一篇文章中我们创建了实体对象与接口协定,在这一篇文章中我们来学习如何创建WCF的服务端代码.具体步骤见下面. ...

  5. WCF学习之旅—WCF服务部署到IIS7.5(九)

    上接   WCF学习之旅—WCF寄宿前的准备(八) 四.WCF服务部署到IIS7.5 我们把WCF寄宿在IIS之上,在IIS中宿主一个服务的主要优点是在发生客户端请求时宿主进程会被自动启动,并且你可以 ...

  6. WCF学习之旅—WCF服务部署到应用程序(十)

    上接  WCF学习之旅—WCF寄宿前的准备(八) WCF学习之旅—WCF服务部署到IIS7.5(九) 五.控制台应用程序宿主 (1) 在解决方案下新建控制台输出项目 ConsoleHosting.如下 ...

  7. WCF学习之旅—WCF服务的Windows 服务程序寄宿(十一)

    上接    WCF学习之旅—WCF服务部署到IIS7.5(九) WCF学习之旅—WCF服务部署到应用程序(十) 七 WCF服务的Windows 服务程序寄宿 这种方式的服务寄宿,和IIS一样有一个一样 ...

  8. WCF学习之旅—WCF服务的WAS寄宿(十二)

    上接    WCF学习之旅—WCF服务部署到IIS7.5(九) WCF学习之旅—WCF服务部署到应用程序(十) WCF学习之旅—WCF服务的Windows 服务程序寄宿(十一) 八.WAS宿主 IIS ...

  9. WCF学习之旅—WCF服务的批量寄宿(十三)

    上接    WCF学习之旅—WCF服务部署到IIS7.5(九) WCF学习之旅—WCF服务部署到应用程序(十) WCF学习之旅—WCF服务的Windows 服务程序寄宿(十一) WCF学习之旅—WCF ...

随机推荐

  1. centos 升级

    yum -y update升级所有包同时也升级软件和系统内核 yum -y upgrade只升级所有包,不升级软件和系统内核

  2. iSCSI 网关管理 - Storage6

    iSCSI网关集成了Ceph存储和iSCSI标准,以提供一个高可用性(HA) iSCSI目标,该目标将RADOS块设备(RBD)映像导出为SCSI磁盘.iSCSI协议允许客户机 (initiator) ...

  3. 第三方日志库logrus使用

    日志是程序中必不可少的一个环节,由于Go语言内置的日志库功能比较简洁,我们在实际开发中通常会选择使用第三方的日志库来进行开发.本文介绍了logrus这个日志库的基本使用. logrus介绍 Logru ...

  4. IDEA 学习笔记之 Web项目开发

    Web项目开发: 添加新模块: 起名: 添加jars: 添加Tomcat/local: 添加项目:  启动Tomcat: 看到web页面: 修改页面: 重新部署页面:

  5. jq方法写选项卡的基本原理以及三种方法

    使用jq写选项卡,告别了繁琐的循环以及命名规范 基本原理: 1.当某一个btn被选中时,将这个btn的背景颜色设为橘色,其余兄弟btn背景颜色设为空(none) 2.如果子div与btn的索引相同,就 ...

  6. spring源码分析系列4:ApplicationContext研究

    ApplicationContext接口 首先看一下一个最基本的上下文应该是什么样子 ApplicationContext接口的注释里写的很清楚: 一个基本applicationContext应该提供 ...

  7. HDU - 1512  Monkey King

    Problem Description Once in a forest, there lived N aggressive monkeys. At the beginning, they each ...

  8. Django2.1.3 urls.py path模块配置

    learning_log/urls.py learning_logs/urls.py django2.0和1.x的区别是非常明显的,2.0开始使用path和re_path代替原来的url,而且用法有了 ...

  9. Flannel的VXLAN模式工作原理

    跨主机通信的一个解决方案是Flannel,由CoreOS推出,最早支持的是UDP模式,但是因为性能太差被淘汰了, 过时的UDP模式 相比两台宿主机直接通信,多出了flanneld的处理过程,发出IP包 ...

  10. Vue中组件

    0828自我总结 Vue中组件 一.组件的构成 组件:由 template + css + js 三部分组成(.vue文件) 1)组件具有复用性 2) 复用组件时,数据要隔离 3) 复用组件时,方法不 ...