一、Spacemacs简介

1.用什么编辑器来编码

编辑器作为程序员每天都要用的生产力工具,一个好用的编辑器对工作效率有很大的提升,主流的编辑器有Visual Studio/Sublime/VS Code/JetBrains系列等等,但是今天要聊聊小众的编辑器:Vim和Emacs,两个历史悠久的编辑器。

为什么Vim和Emacs作为诞生了40年之久的编辑器,到今天还有这么旺盛的生命力,并且有一大批死忠呢?
Vim和Emacs有什么优势?

  • 跨平台,无需界面支持,可以运行在Linux服务器上,也可以借此搭建远程办公环境。
  • 几乎支持所有编程语言,学会一个编辑器,在做任何程序开发时都适用。
  • 纯键盘操作,完全可以抛弃鼠标,这种沉浸式的输入体验,注意力可以更专注,输入速度更快。
  • Vim的多模式转换,Emacs的组合键命令,熟练掌握会比IDE有更高的输入效率,运指如飞,这也是用Vim/Emacs最重要的原因。(这里写输入可能不太准确,程序员只有小部分时间在输入,更多的时间是编辑、调整和浏览代码,而Vim和Emacs正是大大提高了这部分操作的效率)

谁适合学Vim和Emacs?

  • 虽然对自己用的编辑器已经熟练掌握,但是总会有输入跟不上思路的感觉。
  • 如果你想追求极致的编码效率。

学Vim和Emacs有什么要求?

  • 要能熟练用键盘盲打,否则用Vim/Emacs只会是个负担。
  • 有耐心,有毅力学习新的技术。

初学编程的时候,很多人会在论坛发帖“求推荐好用的编辑器”,回帖会有某位“大神”留下“Vim”三个字。于是你兴致勃勃地下载来Vim,打开一看,界面怎么这么丑,算了忍忍,打开个文件试试好不好用。怎么没有代码着色?怎么不能打字?怎么没有代码提示?带着一堆不解愤怒地删掉Vim,心里咒骂着那个推荐Vim的人,并打算这辈子再也不碰这东西了。

编辑器学习曲线

这是一张流传得很广的编辑器学习曲线图,看到vi和emacs的学习曲线,想学Vim和Emacs的人大概也会被吓走吧。
但是千万千万不要被误导,Vim和Emacs找对方法还是很容易上手的。
所以说怎样才是正确的学习方式呢?
我的建议是:下载编辑器,使用其他人分享的成熟的配置,开始练习输入方式和各种快捷键。等对编辑器有了足够的了解再去研究配置的细节,定制自己专属的配置。

2.Vim or Emacs?

Vim被誉为“编辑器之神”,Emacs被称为“神之编辑器”,它们都是很优秀的编辑器,但是核心理念又大相径庭:Vim追求极简,只做编辑器该做的,而Emacs越做越庞大,被称作伪装成编辑器的操作系统。可能正是这个原因,才让Vim和Emacs水火不相容。


作为操作系统的Emacs

那么该学Vim还是Emacs呢?
Vim和Emacs最大的区别在于输入方式和快捷键,对于大部分人来说,Emacs更容易上手,因为输入和普通编辑器没区别,只是有很多自己特殊的快捷键。而Vim的区别就大很多,最常用的普通模式,刚上手时是完全摸不着头脑的。是学Vim还是Emacs?可以分别尝试一下,找到适合自己的输入方式最重要。

在试过Vim以后,我完全被这种输入的方式吸引了,它的指令就像是构建了一套让你可以和编辑器对话的语言,它能很聪明地理解你要它做什么。

daw(助记:delete a word — 删除一个单词)
Vim:知道了,搞定!

daw指令

di" (助记:delete inner "" — 删掉引号里的内容)
Vim:很容易!

di"指令

简单敲下三个按键就可以完成其他编辑器需要几倍或者十几倍的操作才能完成的事情,Vim这种交互方式,用的时间越久,积累的技巧就越多,效率就越高。
所以后面的内容也会基于Vim的方式展开。

3.Vim and Emacs?

我应该是Vim的忠实用户了,各种项目都用Vim来开发,后来接触了一个比较庞大的项目突然出问题了。
Vim的单线程,不支持异步调用,导致在调用插件时编辑器处于阻塞的状态,只能等其他任务完成才能继续编辑(后来的Vim 8添加了异步的特性)。在这个比较大的项目里,代码提示、项目编译等的时间越来越长,慢慢变得难以忍受。查了很多资料,查到了两个替代方案,一个是换用NeoVim,另外一个是Spacemacs。NeoVim是Vim的一个分支,它支持异步调用。
Spacemacs则不太一样,居然是Emacs?但是看到Spacemacs官网的一句话简介,便立即被吸引。

The best editor is neither Emacs nor Vim, it's Emacs and Vim!

Emacs and Vim,有点意思,我决定尝试一下。

4.Spacemacs是什么

Spacemacs

官网:http://spacemacs.org/
Github:https://github.com/syl20bnr/spacemacs

Spacemacs是由社区驱动的一套Emacs配置,同时支持Vim和Emacs两种模式,叫Spacemacs是因为它用Space键作为了编辑器的Leader键。这套Emacs配置简单易用、高效又美观,独特的Layer概念也是它一大特点。
Layer可以理解为一个插件集合,当我们配置一个编辑器来支持开发某种编程语言时,通常是需要配置多个功能插件的,语法支持、代码补全、文档、语法纠错等等,并且可能其中单单某一个插件的配置就已经非常繁琐,比如Vim的代码补全插件“YouCompleteMe”。Layer的存在大大简化了插件的配置,要写Go语言,在Spacemacs的Layers配置项加上"go",编辑器就会自动下载开发Go语言所需要的插件,重启编辑器就能开发Go语言了,这样的设计简直不要太舒心。
这种设计理念太受欢迎了,以至于现在还有了SpaceVim项目。

Layer设置

题外话,Spacemacs实现Vim输入方式用的插件叫Evil,Emacs + Vim = Evil,这款把水火不相容的Emacs和Vim融合在一起的插件叫“邪恶”,真的是神来之笔。

后面会结合Vim讲一些Spacemacs的使用,Vim不会讲很深,想系统学Vim的不妨看下这本书《Vim实用技巧》

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 214,588评论 6 496
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,456评论 3 389
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 160,146评论 0 350
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,387评论 1 288
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,481评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,510评论 1 293
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,522评论 3 414
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,296评论 0 270
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,745评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,039评论 2 330
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,202评论 1 343
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,901评论 5 338
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,538评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,165评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,415评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,081评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,085评论 2 352

推荐阅读更多精彩内容