Emacs 学习之旅
**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 学习之旅的更多相关文章
- WCF学习之旅—第三个示例之四(三十)
		
上接WCF学习之旅—第三个示例之一(二十七) WCF学习之旅—第三个示例之二(二十八) WCF学习之旅—第三个示例之三(二十九) ...
 - Hadoop学习之旅二:HDFS
		
本文基于Hadoop1.X 概述 分布式文件系统主要用来解决如下几个问题: 读写大文件 加速运算 对于某些体积巨大的文件,比如其大小超过了计算机文件系统所能存放的最大限制或者是其大小甚至超过了计算机整 ...
 - WCF学习之旅—第三个示例之二(二十八)
		
上接WCF学习之旅—第三个示例之一(二十七) 五.在项目BookMgr.Model创建实体类数据 第一步,安装Entity Framework 1) 使用NuGet下载最新版的Entity Fram ...
 - WCF学习之旅—第三个示例之三(二十九)
		
上接WCF学习之旅—第三个示例之一(二十七) WCF学习之旅—第三个示例之二(二十八) 在上一篇文章中我们创建了实体对象与接口协定,在这一篇文章中我们来学习如何创建WCF的服务端代码.具体步骤见下面. ...
 - WCF学习之旅—WCF服务部署到IIS7.5(九)
		
上接 WCF学习之旅—WCF寄宿前的准备(八) 四.WCF服务部署到IIS7.5 我们把WCF寄宿在IIS之上,在IIS中宿主一个服务的主要优点是在发生客户端请求时宿主进程会被自动启动,并且你可以 ...
 - WCF学习之旅—WCF服务部署到应用程序(十)
		
上接 WCF学习之旅—WCF寄宿前的准备(八) WCF学习之旅—WCF服务部署到IIS7.5(九) 五.控制台应用程序宿主 (1) 在解决方案下新建控制台输出项目 ConsoleHosting.如下 ...
 - WCF学习之旅—WCF服务的Windows 服务程序寄宿(十一)
		
上接 WCF学习之旅—WCF服务部署到IIS7.5(九) WCF学习之旅—WCF服务部署到应用程序(十) 七 WCF服务的Windows 服务程序寄宿 这种方式的服务寄宿,和IIS一样有一个一样 ...
 - WCF学习之旅—WCF服务的WAS寄宿(十二)
		
上接 WCF学习之旅—WCF服务部署到IIS7.5(九) WCF学习之旅—WCF服务部署到应用程序(十) WCF学习之旅—WCF服务的Windows 服务程序寄宿(十一) 八.WAS宿主 IIS ...
 - WCF学习之旅—WCF服务的批量寄宿(十三)
		
上接 WCF学习之旅—WCF服务部署到IIS7.5(九) WCF学习之旅—WCF服务部署到应用程序(十) WCF学习之旅—WCF服务的Windows 服务程序寄宿(十一) WCF学习之旅—WCF ...
 
随机推荐
- C#使用SignalR实现进度条
			
需求背景 产品觉得在后台处理数据时给前端加个进度条 项目框架 .ENT framework4.5 MVC 5.0 Nuget引入 Microsoft.Owin 系列 2.0.2 Nuget引入 Mi ...
 - Android蓝牙低功耗(BLE)模块设计
			
在阅读这篇文章之前你应该对GATT和Android蓝牙框架有一定的了解.这里不会向你解释Service.Characteristics等蓝牙知识.这里只是我写下我对Android Ble的再次封装来适 ...
 - Golang:线程 和 协程 的区别
			
作者:林冠宏 / 指尖下的幽灵 博客:http://www.cnblogs.com/linguanh/ GitHub : https://github.com/af913337456/ 掘金:http ...
 - 基本IO操作--字节流
			
一.InputStream与OutputStream1. 输入与输出 我们编写的程序除了自身会定义一些数据信息外,经常还会引用外界的数据,或是将自身的数据发送到外界.比如,我们编写的程序想读取一个文本 ...
 - 响应系统设置的事件(Configuration类)
			
1.Configuration给我们提供的方法列表 densityDpi:屏幕密度 fontScale:当前用户设置的字体的缩放因子 hardKeyboardHidden:判断硬键盘是否可见,有两个可 ...
 - HTTP/1.1与HTTP/2有什么区别?
			
介绍 超文本传输协议(HTTP)是一种应用协议,自1989年发明以来,它一直是事实上在万维网上进行通信的标准.从1997年发布HTTP / 1.1到最近,对它的修改很少.协议.但是在2015年,重 ...
 - Bribe the Prisoners SPOJ - GCJ1C09C
			
Problem In a kingdom there are prison cells (numbered 1 to P) built to form a straight line segment. ...
 - 终端 10X 工作法(一)
			
目录 1. Terminal 2. Grep 3. Sed 4. Awk 5. Xargs 6. Find 在 github 上面有一个 700 多人 star 的 repo 叫做 Bash-Onel ...
 - vue-electron 使用sqlite3数据库,执行npm run build 报错 .NET Framework 2.0 SDK,Microsoft Visual Studio 2005[C:\temp\wechat\node_modules\sqlite3\build\binding.sln]
			
问题描述 vue-electron 使用sqlite3数据库,执行npm run build 报错如下: .NET Framework 2.0 SDK,Microsoft Visual Studio ...
 - 第3章(1) Linux内核相关概念
			
Linux内核的组成 1. Linux内核源代码的目录结构 arch:包含和硬件体系结构相关的代码,每种平台占一个相应的目录,如 i386.arm. arm64.powerpc.mips 等.Linu ...