配置层


Spacemacs将其配置为单独的单位,称为配置层。这些层相互叠加以实现自定义配置。


默认情况下,spacemacs使用一个叫做~/.spacemacs的点文件来控制加载哪一个层,一个配置层是一个目录,其中至少含有一个packages.el文件,这个文件是从Emacs的内置包管理器中下载。


如果你已经有自己的emacs配置,你可以把它移动到自己的层。


下面的命令可以在私人目录中创建一个层:



SPC : dotspacemacs/install RET


你创建的任何层必须显示的在~/.spacemacs中加载。


注意:为了你的隐私,private目录下的内容不受源码控制,详细部分请查看文档中的私有配置部分


点文件(.spacemacs)


如前面所说,.spacemacs文件控制哪一个配置层会被加载,同时也是定制spacemacs的一个方法


下面的命令将会在你的用户目录创建一个.spacemacs文件


 SPC : dotspacemacs/install RET


打开已安装的点文件



SPC f e d


使用 dotspacemacs-configuration-layers 变量来加载一些配置层:



;; List of configuration layers to load.dotspacemacs-configuration-layers '(auto-completion smex)


一些配置层支持用配置变量来暴露一些更加详细的特性功能,git层就是这样的一个例子。可以在dotspacemacs内部直接设置变量,就像这样:


;; List of configuration layers to load.dotspacemacs-configuration-layers '(auto-completion
                                    (git :variables
                                         git-magit-status-fullscreen t)
                                    smex)


在任何时候你都可以申请更改点文件或者配置层使之生效,而不必用 SPC f e R 来重启Spacemacs。


点文件中包含关于如何定制spacemacs的更进一步的信息。查看文档中关于点配置文件的部分来获取更详细的信息。


点目录(~/.spacemacs.d)


类似Emacs, Spacemeacs的初始化也可以包含在 ~/.spacemacs.d 目录下的一个 init.el 文件中。点文件的内容应该复制到 init.el 文件中


学习Spacemacs


编辑风格


Spacemacs 能够通过设置dotspacemacs-editing-style变量来适应Vim用户或者Emacs用户,甚至可以在点文件 ~/.spacemacs 中混合使用。


leader 键


Spacemacs的快捷键使用了一个leader键,在vim和hybrid(混合)编辑风格默认绑定了 SPC (space bar),而在Emacs风格中则绑定了M-m(一般情况下是 Alt + m)。


你如果使用vim或hybrid风格可以在dotspacemacs-leader-key变量中修改它,如果是emacs风格则是dotspacemacs-emacs-leader-key变量(这些变量必须在 ~/.spacemacs 文件中设置)。


为简单起见,文档中的SPC 指的就是leader键


有一个leader键被称为主模式Leader键,默认是~,这个键在所有的主模式命令中是 SPC m 的快捷方式。


Evil辅导


如果你要学习VIm快捷键(强烈推荐,即使你使用Emacs风格也可以受益良多),按下 SPC h T 来开启Evil-adapted Vimtutor。


普遍的观点


在Vim编辑风格下的普遍默认使用 SPC u 代替 C-u。因为C-u在Vim中被用于滚动


配置层和探索包

通过使用 helm-spacemacs 和 SPC f e h 你能够在一个包中快速搜索和获取层使用的名字。你也可以很容易的去一个层的README.org文件和一个包的初始化函数。


快捷键探索

感谢一个键, 无论何时一个前缀命令被按下后(例如 SPC),,一秒钟之后会出现一个缓冲区并列出和这个前缀相关的可选键


通过按下面这组键可以搜索特定的快捷键


SPC ?


精简这些SPC前缀的快捷键列表,类似下面正则表达式这样的模式类型


SPC\ b


这将列出所有和缓冲区相关的快捷键绑定


功能描述


功能描述是Emacs内置强大的命令,用于获取函数、变量、模式的描述等等,这些命令已被绑定:

Key Binding

Description

SPC h d f

describe-function

SPC h d k

describe-key

SPC h d m

describe-mode

SPC h d v

describe-variable

入门


一些入门知识编译在了 HOWTOs.org文件中。