Spacemacs相关配置

正所谓工欲善其事,必先利其器,而作为程序员来说,最重要的工具莫不是编辑器。所有对问题思考而得到的解决方案,最终都会转变成代码,写入文件中。
编程语言各异,而IDE也层出不穷。当然,每种语言都有合适的IDE。由于IDE针对特定编程语言做了很多优化,所以往往会变的过于臃肿,导致占用过多资源。
所以在做一些简单的开发或者记录的时候,更合适的方式是使用通用的编辑器而不是专业的IDE。

对于通用编辑器来说,我觉得只要其满足以下3点即可:

  1. 具有一套高效的操作指令;包含快速移动光标,编辑操作。
  2. 轻量化;占用内存少,启动速度快。
  3. 具有一定的可扩展性;

通用编辑器也有很多选择,当然其中最出名的就是Emacs和vim了。最开始接触GNU/Linux就听说了Richard Stallman的大名,从而也了解了Emacs。
当然尝试未果之后又接触了vim,对于这套操作指令来说是比较适应的。vim实用技巧上面的一些使用技巧能够让你得到更好的提升。

直到Spacemacs的出现,让我想重新尝试Emacs的心又蠢蠢欲动。当然配置Spacemacs的过程中也踩了很多坑,不过目前Spacemacs这套配置算是我的通用编辑器的主力了。
虽然还是觉得有点臃肿,也开始想要自己配置Emacs,不过由于时间关系,所以现在是边用着Spacemacs边再调教自己的一套配置(也是想通过自己配置的过程中能学到Emacs的设计哲学),
个人配置主要参考purcell陈斌的配置。

Spacemacs的踩坑记录

通用配置

安装Spacemacs配置,可以直接参考官方文档

  • 建议直接切换成develop分支(这个也是目前spacemacs被人诟病的点,master和develop差异太大)

    如果之前是master分支的,可以运行该命令更新M-x configuration-layer/update-packages来修复配置文件的一些报错

  • 配置中国的melpa源,可以使用emacs china,注意develop版本的参数有些差异。陈斌的配置里面可选163和清华的源

  • Mac下,我个人喜欢把command作为meta健,所以在user-config里配置了以下内容:

    metakey problem

    (setq mac-option-key-is-meta nil)
    (setq mac-command-key-is-meta t)
    (setq mac-command-modifier 'meta)
    (setq mac-option-modifier nil)
    
  • emacs把下划线_当作word的分隔符,evil与emacs保持一致,这一点与vim不一样。这里做了下简单配置。

    underscore is not a word character

    ;; 配置evil移动包含下划线
    (defalias 'forward-evil-word 'forward-evil-symbol)
    
  • 使用相对行数,因为经常用vim做上下移动,用相对行数就不用自己计算了。

    dotspacemacs-line-numbers 'relative
    
  • 由于Emacs的mark命令是 C-Space,与语言切换冲突,所以修改语言切换为C-M-Space

sql配置

最近用emacs编辑最多的文件是sql,最需要的还是对sql做格式化。由于sql方言比较多,格式化风格也是五花八门,所以这里选用purcell的sqlformat插件

由于其以来python的sqlparse,所以第一步要先安装sqlparse:pip install sqlparse

.spacemacs配置:

;; add to additional package
dotspacemacs-additional-packages '(sqlformat)

;; add to user-config
(add-hook 'sql-mode-hook 'sqlformat-on-save-mode)
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值