为什么80%的码农都做不了架构师?>>>   

最近我从Vim迁移到了Spacemacs。

其实我一段时间之前就已经听说过Spacemacs了,知道他的哲学是Vim+Emacs,也知道有一篇文章叫做《从Vim迁移到Emacs》,也曾安装试用过,但并没有多大的感觉。但是直到最近,我才真正发现了Spacemacs,一款我真正想要的编辑器。

或许是我对Vim有一点不满(一直不想学vimscript),或许那时我太闲而去捣弄其他编辑器,我看到了Spacemacs,于是按照以往的习惯,查资料,看评价,看官方文档,想了解这是个怎样的编辑器。然后我安装了,安装步骤非常简单,初始启动时安装elpa安装插件有点像vundle,但是更炫酷。

启动完成之后我就看到一个很漂亮的界面(GUI),包括图标、配色、状态栏什么的,都很棒。对比了一下gvim,真的是好看多了。虽然我一直觉得编辑器颜值不是关键,但这次我说服不了自己了。

然后就得逐步熟悉了,除了方向移动和退出,Emacs的键位我都不会,但是Spacemacs并不需要会(而且本人目前并不想用Emacs原生的键位)。Spacemacs是开箱即用的,就是一个小白IDE。我花了两三天时间看完了官方文档,接着就能用它来进行工作和日常的程序开发了。

先说一下我喜欢Spacemacs的原因:

  1. 结合了Vim和Emacs的优点。Vim的优点在于模式编辑,Emacs的优点在于高扩展性,这是我目前的认知吧。模式编辑的优点我就不多说了,谁用谁知道,是vi/vim原生独占的。但很多编辑器和IDE都有vim模拟插件,但很多都并不完美,evil-mode却是很趋于完美的了。而Emacs的扩展性非常强大,有人说它是伪装成编辑器的操作系统,在GUI下它甚至能浏览图片和阅读PDF。Vim的插件,在Emacs上基本都有相似的或者可以替代,甚至做得更好,这是其他编辑器或者IDE所做不到的。Emacs的神器插件org-mode,真有如《怪物猎人》之于PSP,许多人是为了它而学习emacs的。

  2. 人体工程学的键位设计。正如Spacemacs其名,空格键(SPC)是它的重大卖点,其实就是将Vim的<leader>键设置为SPC。Vimer很少会如此重度地依赖<leader>,而将SPC映射成<leader>的就更少了,有些人还认为将SPC当做<leader>的做法很奇葩,但这恰恰是最符合人际工程学的做法:SPC是键盘上容易按到的键,两只所有手指中最强壮的大拇指都可以按得到,作为<leader>是非常适合的,Spacemacs大量使用以SPC为前置的键位组合。另外Spacemacs将fd映射到<Esc>,我本是jk大法党,但是Spacemacs的fd大法不仅可以用于插入模式,还能用于选择模式、neotree文件树窗口关闭,helm提示窗口关闭等等非常多的场合,这时jk大法明显不适合了,jj更糟糕(在选择模式上下选择时突然退出是什么感受)。而且hjkl是非常常用的光标移动键,<Esc>同样也是非常常用的,我经常在用Vim写了一天代码时发现右手食指酸痛,确实对它的负荷太大了,所以我毅然投奔去fd大法。本来以为要很长时间去修改这个习惯,没想到就那么5~10分钟的时间我就完全适应了fd。

  3. GUI设计得太漂亮了。

然后我说一下对编辑器键位的设计问题吧。

前面都说到了Vim和Emacs的优点,但是我并没有说他们的键位,包括Vim,反而我觉得他们的键位设计得太糟糕了。有些人会认为默认的键位是经过千锤百炼而出来的,是经过时间考验的。我觉得这说法根本是扯淡吧?键位由作者一开始设计好了之后就不怎么变了好吧。或者是作者那个年代的键盘和现在的不一样吧,总之我就觉得设计得不够好。

Vim的hjkl是闻名于世的,任何学习Vim的人要经过大量的肌肉训练才能练成。虽然说练成之后有一样装逼感,但我并不赞同,jkli比hjkl要新手友好得多了,而且并不比hjkl差什么。Vim的翻页键和Emacs的光标移动,虽然说有英文含义便于记忆(其实也不好记……),但是太散乱了,左一个右一个的,为何不安排到相邻的位置让一只手可以操作呢?还有很多我觉得不太合理的地方,就不说了。

转载于:https://my.oschina.net/jmjoy/blog/551360

对于文本编辑器/IDE的一些看法相关推荐

  1. python文本编辑器_python最好的ide和文本编辑器

    python文本编辑器 I cannot stress enough how important the right IDE (Integrated Development Environment) ...

  2. Go语言环境安装,验证go语言环境、使用文本编辑器编写一个go hello world,Go lang IDE安装,在golang中新建一个go程序

    1 Golang语言环境安装包下载 https://www.golangtc.com/ 下载: go1.9.2.windows-amd64.msi 和 go1.9.2.windows-amd64.zi ...

  3. ide编辑器 android,从 IDE 到终端 + 文本编辑器

    终端 Vim Emacs Shell IDE UbuntuOnWin10 Why 某些环境下你只有终端可以用 真 * 跨平台一致性体验,只需要同步少部分配置文件 启动迅速 大部分时间内可以抛弃鼠标,免 ...

  4. IDE是什么?它和文本编辑器相比有什么优缺点?

    在我们学习it的时候,不可避免的会遇到一个问题,那就是我们使用什么来编写代码呢? #简介 文本编辑器 文本编辑器是计算机软件中的一种.主要用于用来编写和查看文本文件. IDE IDE是带有软件开发功能 ...

  5. python多功能文本编辑器_多功能高效 批处理式 Python IDE Python 编辑器 新时代新理念...

    计算机被发明以来,IDE 理念从最初的文本式,到后来的带图形界面式,再是图形可交互式,之后再无突破 (虽然有人说 AI 也可编程,但其可控性差). 这几年由于云计算兴起的在线 IDE,当使用云时会有一 ...

  6. IDE和文本编辑器,你的选择是什么?

    前段时间期末考试,文章一直鸽到了现在.还好,最近我闲下来了,所以我决定勉为其难更新一次. IDE和文本编辑器,你的选择是什么? 写代码最少不了的是两样东西:编辑器和编译器.所谓IDE其实就是将这两样东 ...

  7. 文本编辑器geany如何_Geany文本编辑器入门

    文本编辑器geany如何 我不得不承认,花了我相当尴尬的长时间才能真正进入Linux作为日常驱动程序. 我回想起这些年来在旷野的一件事,就是看到开放源代码类型如此深入地研究文本编辑器是多么奇怪. 不仅 ...

  8. 【分享】那些热门的Python编辑器/IDE,你用过几个?

    #精彩回顾:Dev-C++使用to_string()函数报错"[Error] 'to_string' was not declared in this scope"原因及解决方案_ ...

  9. python代码编辑器排行榜-写 Python 哪个编辑器 / IDE 最好用?

    不请自来嘻嘻,简单介绍一下几款好用的编写器,希望对你有帮助- 1.IDLE IDLE是开发 python 程序的基本IDE(集成开发环境),具备基本的IDE的功能,是非商业Python开发的不错的选择 ...

最新文章

  1. 计算机图形硬件---硬拷贝设备
  2. java struts2 excel上传_文件上传方法,使用Struts2,实现Excel文件读取并写入数据库技术...
  3. 《Python Cookbook 3rd》笔记(5.7):读写压缩文件
  4. 软件测试的学习之路------软件质量
  5. python词云下载什么_python词云安装什么库
  6. nginx反向代理模块配置详解_Nginx(三):反向代理负载均衡集群配置详解
  7. 机器学习深度学习知识点总结
  8. 在笔记本上试用kvm[原]
  9. 离职 Oracle 首席工程师怒喷:MySQL 是“超烂的数据库”,建议考虑 PostgreSQL
  10. 微软手机远程桌面使用
  11. 浅谈测试工程师必备软技能:沟通表达篇
  12. ENVI制作土壤干旱墒情专题图/地域干旱分布
  13. 【Codecs系列】x265编码器(一):编译和运行
  14. 2016版excel_开启下一个十年,全新 Microsoft 365 订阅版终于来了!
  15. matlab 图片制作动画制作,MATLAB作图之制作动画:单摆运动仿真
  16. Windows10修改网卡的MAC地址
  17. 中核科技:科技匠心 智启未来
  18. 抖音视频解析PHP源码抖音解析php版api
  19. 《剑来》经典语录摘抄
  20. hdoj 还是畅通工程

热门文章

  1. 基于SSM的分布式网络商城系统设计与实现
  2. SAP MM学习笔记13-SAP系统中的数据种类-(1)系统数据
  3. 在国内如何注册斯里兰卡公司?需要哪些流程?
  4. 【OpenCV】用OpenCV进行大恒CG400CG410视频采集卡的视频读取
  5. 微信小程序在IOS真机时间显示NaN
  6. int最小值为何是-2147483648,而不是-2147483647
  7. JavaScript函数调用方式:简单调用+在超链接中调用JavaScript函数+在事件中调用JavaScript函数
  8. Firebird与MySQL: 钟为谁鸣
  9. 做为一位程序员,你是不是有时候想Google一下?
  10. 删除数组中某个指定元素