我使用spacemacs,的确是一个很好的emacs配置。不过,用的时间久了,感觉想要充分认识这个配置有一定的难度。这个配置太庞大了,庞大到了让我很多时候学习的时候都觉得不知道如何入手。当然,对于这个配置的学习我还是会继续,毕竟它的确是优秀的。

    我希望自己能够有一个足够简单简洁的配置,这样或许能够让我的工具资源消耗更少而且反应更加迅速。

    从头开始,已经不是很难。毕竟,大量的配置可以选择,我们已经站在了巨人的肩上。

    我习惯用emacs管理我的各种文件,记录简单的文本note。切换到自己的配置之后,发现中文保存的时候总是提示我选择编码。

    最初,我的解决方案尝试来自于网络,增加了如下配置:

 

   (setq default-buffer-file-coding-system 'utf-8-unix)

    默认的buffer编码选择了utf-8-unix,我没有弄明白unix的后缀会有什么含义,最初还错误地认为会在换行符上采用unix的模式。结果,后续的记录note过程中发现,至少在我目前使用的windows上没有解决我遇到的问题。于是,抄了一份其他人的配置:

(set-buffer-file-coding-system 'utf-8)

(set-terminal-coding-system 'utf-8)

(set-keyboard-coding-system 'utf-8)

(set-selection-coding-system 'utf-8)

(set-default-coding-systems 'utf-8)

(set-clipboard-coding-system 'utf-8) 

(setq ansi-color-for-comint-mode t)

(modify-coding-system-alist 'process "*" 'utf-8) 

(setq-default pathname-coding-system 'utf-8) 

(prefer-coding-system 'utf-8)

(setq default-process-coding-system '(utf-8 . utf-8)) 

(setq locale-coding-system 'utf-8)

(setq file-name-coding-system 'utf-8)

(setq default-buffer-file-coding-system 'utf-8) 

(setq slime-net-coding-system 'utf-8-unix)



;;; =========

;;; Note that if you save a heap image, the character

;;; encoding specified on the command line will be preserved,

;;; and you won't have to specify the -K utf-8 any more.

;;; (setq inferior-lisp-program "/usr/local/bin/ccl64 -K utf-8")



(setq inferior-lisp-program "dx86cl64 -K utf-8")

(setq inferior-lisp-program "sbcl -K utf-8")

    测试之后,上面的配置其实是奏效的。不过,问题的原因我还是想追溯下,我既然选择了想要精简我的配置就得足够精简,不清楚的配置还是不加为妙。后面的学习发现,其实,我需要的并不是这么一堆,或许仅仅是选择一个utf-8而已。因此,真正解决我问题的或许就是下面这一句配置:

    (set-buffer-file-coding-system 'utf-8)

    我有计划过阵子把我工作的主要平台迁移到linux上去,希望到时候这个编码问题不会重新蹦出来吧!