Emacs的折騰和配置

比較麻煩,未完待續

emacs報錯:Symbol's function definition is void: cl-struct-define

背景及報錯產生

本來是emacs25的版本,然後配置好了配置文件,安裝好了插件;後來感覺25版本越用越卡,想換回24版本;於是乎直接換了24版本,而.emacs.d沒有做任何改動,啓動24後,報錯,如圖:

這裏寫圖片描述

解決辦法

後來在emacs的stackexchange社區找到了答案,原答案如下:

這裏寫圖片描述

這裏原答案大致意思就是說,刪掉elpa目錄裏面的東西,重啓emacs,讓emacs重新安裝插件及其依賴。

我按照這個思路,刪掉了elpa目錄下的所有東西,然後重啓emacs,讓其自動安裝,完美解決。

因此,解決完此問題後,我個人思考,可能同一個插件,25版本和24版本的依賴不同?還是其他原因?

原帖地址

Ctrl和Caps互換

  1. Mac的修改見此篇:Mac下Ctrl和Caps互換

  2. Win下的修改:

    1. 局部替換大法

      這種方法,需要用到一個輔助軟件,那就是大名鼎鼎的Auto Hotkey,簡稱AHK.
      編輯一個腳本,輸入如下內容,保存,reload,即可生效:

      
      #IfWinActive emacs  ; 判斷當前激活的窗口是否是Emacs,這是根據窗口標題實現的,如果你的標題不一樣,請替換一下 
      
      Control::Capslock ; 把Control替換爲Capslock 
      Capslock::Control   ; 把Capslock替換爲Control 
      
      #IfWinActive
      
    2. 全局替換大法

      可以利用第三方工具,或者直接在註冊表中修改鍵位映射關係

      註冊表位置:[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout] 如果沒有此鍵,就新建一個

      新建一個二進制值的Key,名叫:Scancode Map

      輸入如下的值:

      00,00,00,00
      00,00,00,00
      03,00,00,00
      3A,00,1D,00
      1D,00,3A,00
      00,00,00,00

      前兩行和最後一行,都是固定的,全部爲0。第三行,表示你修改了幾個鍵,其實我們只是改了兩個鍵,不過最後那一行也要算進去,所以是3。

      重點是在第四行和第五行。3A00,代表Caps Lock1D00,代表Ctrl。這一行,意思即爲,將Caps Lock映射爲Ctrl

      第五行,就不用說了,意思剛好相反。

      修改完畢後,重新登錄Windows即可生效!

      大概就是如圖所示這種樣子:

      添加註冊表項

      修改值

      注意,圖中紅色框中的是地址,綠色框中的纔是內容。

  3. Ubuntu/Linuxmint下的修改

    以Linuxmint爲例,如圖所示:

一般有兩種

一種是在原版的emacs上寫插件、配置等;另一種是一些社區對其進行改版,推出的版本,比如spacemacs。

這裏主要是這兩種,爲了區分,暫且稱呼爲“原版emacs”和“spacemacs”。

原版的emacs

學習筆記

spacemacs

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