345_分析spacemacs如何隐藏掉emacs默认的GUI操作组件

    Spacemacs配置从设计意图上来看,是为了迎合vim用户,更确切一点是专注于键盘操作的vim用户的。通常,这样的人认为,操作简洁有效即可,如果是专用于鼠标的GUI占用了宝贵的屏幕展示空间的话,最好也得去掉。

    最初学习emacs的时候,对照着教程,我也是把这部分全都去掉了的。切换到了spacemacs的时候,其实倒没有过多关注spacemacs中的相应实现。今天看了下相关的配置文件,正好看到了这部分。

345_分析spacemacs如何隐藏掉emacs默认的GUI操作组件_第1张图片

    上面这部分配置在core-spacemacs.el中,从函数名称来看的话,这个功能应该是用于隐藏或者说是“移除”GUI显示的功能。

345_分析spacemacs如何隐藏掉emacs默认的GUI操作组件_第2张图片

    这部分多少就有一点点熟悉了,这部分在我最早抄别人的配置使用的时候基本上学到了也做过配置。我自己的配置信息如下:

345_分析spacemacs如何隐藏掉emacs默认的GUI操作组件_第3张图片

    这部分在spacemacs中生效的阶段是比较早的,其实从整个spacemacs的联网安装过程也是可以看得出来的。在emacs刚启动但是插件还没有下载安装好的时候,相应的GUI的部件其实已经没有了。

    再来一个题外话,纯粹是关于lisp或者emacs lisp的。其实,我发现这个spacemacs//removes-gui-elements函数并没有什么所谓的声明之类的说法。而且,这个函数调用的位置从文件上看是在函数定义之前。为什么会这样?我觉得挺有意思!类似的操作,当我用一个空文件进行函数编写测试的时候失败了,这也是令我觉得疑惑的。不过,一旦是函数的定义代码片段执行过一次,相应的执行也就没有问题了。Spacemacs的设计中,会属于这种情况吗?

你可能感兴趣的:(Emacs,Lisp)