345_分析spacemacs如何隱藏掉emacs默認的GUI操作組件

    Spacemacs配置從設計意圖上來看,是爲了迎合vim用戶,更確切一點是專注於鍵盤操作的vim用戶的。通常,這樣的人認爲,操作簡潔有效即可,如果是專用於鼠標的GUI佔用了寶貴的屏幕展示空間的話,最好也得去掉。

    最初學習emacs的時候,對照着教程,我也是把這部分全都去掉了的。切換到了spacemacs的時候,其實倒沒有過多關注spacemacs中的相應實現。今天看了下相關的配置文件,正好看到了這部分。

    上面這部分配置在core-spacemacs.el中,從函數名稱來看的話,這個功能應該是用於隱藏或者說是“移除”GUI顯示的功能。

    這部分多少就有一點點熟悉了,這部分在我最早抄別人的配置使用的時候基本上學到了也做過配置。我自己的配置信息如下:

    這部分在spacemacs中生效的階段是比較早的,其實從整個spacemacs的聯網安裝過程也是可以看得出來的。在emacs剛啓動但是插件還沒有下載安裝好的時候,相應的GUI的部件其實已經沒有了。

    再來一個題外話,純粹是關於lisp或者emacs lisp的。其實,我發現這個spacemacs//removes-gui-elements函數並沒有什麼所謂的聲明之類的說法。而且,這個函數調用的位置從文件上看是在函數定義之前。爲什麼會這樣?我覺得挺有意思!類似的操作,當我用一個空文件進行函數編寫測試的時候失敗了,這也是令我覺得疑惑的。不過,一旦是函數的定義代碼片段執行過一次,相應的執行也就沒有問題了。Spacemacs的設計中,會屬於這種情況嗎?

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章