1. emacs 配置整理

配置使用emacs也有一段時(shí)間了淮摔,隨著插件的增加和對(duì)emacs的更深入理解归敬,有必要對(duì)現(xiàn)在的配置做一個(gè)更新了简十。

先說說問題:

  1. 目前插件與依賴關(guān)系很混亂烁设,都集中在.emacs這個(gè)文件中刃泌,需要整理

  2. 目前對(duì)于跨平臺(tái)的支持不是很好,只有最大化函數(shù)署尤,以及工作目錄設(shè)置做了跨平臺(tái)

  3. 目前對(duì)于插件的整理不是很好耙替,插件有放在elpa中的,也有放在plugin中的

  4. 一些插件配置了曹体,但是未生效或者與其他插件的快捷鍵沖突俗扇。如:hlem, smex等等。

整理準(zhǔn)則

  • 依賴單一化

  • 插件集中化

  • 去平臺(tái)化

具體解釋下:

  1. 什么是依賴單一化箕别,即一個(gè)插件需要有一個(gè)插件的init_xxx.el文件铜幽,里面用于做該插件的相關(guān)配置滞谢。

  2. 什么是插件集中化,這個(gè)首先針對(duì)的是emacs24以上的版本除抛。通過package包管理器對(duì)插件進(jìn)行管理狮杨,分為三大類插件:功能性插件(如:主題顯示,hlem到忽,smex)橄教,UI類插件(如:主題包,tabbar-mode)喘漏,模式類插件(如:php-mode, web-mode)护蝶。

  3. 去平臺(tái)化,顧名思義翩迈,可以在mac持灰,linux, windows下運(yùn)行。 因?yàn)閜ackage中安裝的包絕大多數(shù)都是支持各個(gè)平臺(tái)的负饲,所以唯一需要做區(qū)分的堤魁,就是自己用emacs lisp實(shí)現(xiàn)的一些代碼,以及對(duì)工作環(huán)境的私人定制等等返十。

Ok, 廢話說了不少了姨涡,直接上步驟。

安裝

關(guān)于這個(gè)不在贅述吧慢,各位看官可以看上一篇博文或者自行g(shù)oogle涛漂。
此處唯一需要注意的點(diǎn),就是.emacs, .emacs.d 文件與目錄所在的路徑检诗,以及~所代表的路徑是什么匈仗。(恩,主要是針對(duì)windows)逢慌。

引用規(guī)則設(shè)定

首先悠轩,在.emacs中,引入一行代碼:


至此攻泼,關(guān)于.emacs的文件更改就已經(jīng)結(jié)束火架,剩下的就需要在init.el文件中完成。

在init.el中忙菠,只load所需模塊或者插件的init-xxx.el文件何鸡,不做任何配置或者設(shè)置,配置與設(shè)置牛欢,均在init-xxx.el文件中處理骡男。

包管理器

emacs的特色就是豐富的插件,而emacs24版本之前傍睹,需要依賴第三方插件和el-get來下載各種插件隔盛,或者自己下載插件的源碼進(jìn)行編譯犹菱,安裝或者直接配置。而emacs24集成了包管理器吮炕,只需要M-x package-install腊脱,然后輸入所需的包名即可。(那個(gè)誰龙亲,說sublime有包管理器而emacs沒有的陕凹,速速去領(lǐng)50大板。題外話俱笛,sublime的package manager還需要先進(jìn)行安裝,而非集成传趾。)

當(dāng)然迎膜,因?yàn)榈赜蛞约疤斐颍恍┵Y源包的獲取不是非常方便浆兰,所以此處我們需要配置下包管理器的下載源磕仅。代碼如下:


init-package.el

基本配置

最初的emacs帶有菜單欄,滾動(dòng)條簸呈,以及工具欄等等榕订,而且一打開的時(shí)候也不是最大化,和以前的習(xí)慣還是有較大出入的蜕便,怎么辦呢劫恒?莫慌,基本配置修改下即可:

;;不顯示工具欄
(tool-bar-mode 0)

;;不現(xiàn)實(shí)菜單欄
(menu-bar-mode 0)

;;不顯示滾動(dòng)條
(scroll-bar-mode 0)

;;顯示行號(hào)與列號(hào)
(global-linum-mode 1)
(column-number-mode 1)

;;關(guān)閉啟動(dòng)動(dòng)畫
(setq inhibit-startup-message 1)

;;設(shè)置初始工作目錄
(if (string-equal system-type "windows-nt")
    (setq default-directory "G:\\projects")
  (setq default-directory "~/work"))

;;設(shè)置問答提示為 y-or-n,而不是yes-or-no
(fset 'yes-or-no-p 'y-or-n-p)

;;不生成備份文件轿腺,即 xxx.xx~ 類文件
(setq make-backup-files nil)

插件

  • ido

ido 插件用于在mini buffer中顯示最近使用的命令或者文件两嘴,與smex, hlem的功能類似,不過打開文件時(shí)族壳,個(gè)人比較習(xí)慣 ido憔辫。
emacs內(nèi)置ido,要開啟這個(gè)模式仿荆,只需要:

(ido-mode 1)
  • wakatime
    wakatime 是用來統(tǒng)計(jì)編程時(shí)間以及使用的編程語言的贰您,支持的編輯器和IDE比較多,直接 package-install 然后輸入 wakatime-mode拢操,下載完成直接锦亦,引入,并設(shè)置好自己的api key,令境。

另外孽亲,他需要python支持,wakatime官方提供了wakatime-cli的程序展父,用于向wakatime推送數(shù)據(jù)返劲,使用python的 pip install完成安裝玲昧,并在emacs中設(shè)置好路徑即可。

;;加載wakatime mode
(load "~/.emacs.d/elpa/mode/wakatime-mode.el")

;;設(shè)定wakatime api key
(custom-set-variables
 '(wakatime-api-key "api key")
 '(wakatime-cli-path "wakatime-cli 的路徑"))

;;全局開啟wakatime-mode
(global-wakatime-mode 1)
  • helm
    快速補(bǔ)全的一個(gè)插件篮绿,非常好用孵延,提供了 imenu, buffers-list 以及 helm-tags 等操作,很多操作仍在摸索中亲配,不過已經(jīng)感覺非常實(shí)用了尘应。

  • smex
    也是快速補(bǔ)全的一個(gè)插件,在提示命令時(shí)異常好用吼虎,helm中也有提供犬钢,不過暫時(shí)還沒開始摸索,先配置上去思灰。等待日后再去除

  • unicad
    在emacs下面玷犹,有時(shí)候會(huì)出現(xiàn)編碼無法識(shí)別的情況。而這個(gè)插件非常要用洒疚,可以自動(dòng)識(shí)別文件編碼歹颓,目前的缺陷是 utf8mb4的支持不是很好,尋找替代品種油湖。

  • git-emacs
    使用git-emacs作為git庫的支持巍扛,使用了一段時(shí)間,感覺還是挺好用的乏德,除了沒找到如何git push之外撤奸。

mode

所謂的mode,就是根據(jù)文件類型做出不同類型的提示喊括,比如打開.cpp文件寂呛,就會(huì)自動(dòng)匹配為c++ mode,然后所有在c++ mode中的操作均為生效瘾晃,而不影響其他mode贷痪,非常贊的一個(gè)功能,也是我喜歡emacs的原因之一蹦误。

目前配置的mode比較少劫拢,大概有如下幾種 cmake-mode, markdown-mode, php-mode

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市强胰,隨后出現(xiàn)的幾起案子舱沧,更是在濱河造成了極大的恐慌,老刑警劉巖偶洋,帶你破解...
    沈念sama閱讀 218,640評(píng)論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件熟吏,死亡現(xiàn)場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)牵寺,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,254評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門悍引,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人帽氓,你說我怎么就攤上這事趣斤。” “怎么了黎休?”我有些...
    開封第一講書人閱讀 165,011評(píng)論 0 355
  • 文/不壞的土叔 我叫張陵浓领,是天一觀的道長。 經(jīng)常有香客問我势腮,道長联贩,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,755評(píng)論 1 294
  • 正文 為了忘掉前任捎拯,我火速辦了婚禮泪幌,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘玄渗。我一直安慰自己座菠,他們只是感情好狸眼,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,774評(píng)論 6 392
  • 文/花漫 我一把揭開白布藤树。 她就那樣靜靜地躺著,像睡著了一般拓萌。 火紅的嫁衣襯著肌膚如雪岁钓。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,610評(píng)論 1 305
  • 那天微王,我揣著相機(jī)與錄音屡限,去河邊找鬼。 笑死炕倘,一個(gè)胖子當(dāng)著我的面吹牛钧大,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播罩旋,決...
    沈念sama閱讀 40,352評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼啊央,長吁一口氣:“原來是場噩夢(mèng)啊……” “哼!你這毒婦竟也來了涨醋?” 一聲冷哼從身側(cè)響起瓜饥,我...
    開封第一講書人閱讀 39,257評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎浴骂,沒想到半個(gè)月后乓土,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,717評(píng)論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,894評(píng)論 3 336
  • 正文 我和宋清朗相戀三年趣苏,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了狡相。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,021評(píng)論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡拦键,死狀恐怖谣光,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情芬为,我是刑警寧澤萄金,帶...
    沈念sama閱讀 35,735評(píng)論 5 346
  • 正文 年R本政府宣布,位于F島的核電站媚朦,受9級(jí)特大地震影響氧敢,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜询张,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,354評(píng)論 3 330
  • 文/蒙蒙 一孙乖、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧份氧,春花似錦唯袄、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,936評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至厅缺,卻和暖如春蔬顾,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背湘捎。 一陣腳步聲響...
    開封第一講書人閱讀 33,054評(píng)論 1 270
  • 我被黑心中介騙來泰國打工诀豁, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人窥妇。 一個(gè)月前我還...
    沈念sama閱讀 48,224評(píng)論 3 371
  • 正文 我出身青樓舷胜,卻偏偏與公主長得像,于是被迫代替她去往敵國和親活翩。 傳聞我的和親對(duì)象是個(gè)殘疾皇子烹骨,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,974評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容

  • 教程存檔Github 序|Preface 先來一篇有趣的簡介:Emacs和Vim:神的編輯器和編輯器之神 - 51...
    北魏企鵝閱讀 137,936評(píng)論 18 224
  • 我是一名熱衷于函數(shù)式編程的Clojurian(Clojure粉),網(wǎng)絡(luò)ID是lambeta(λβ)纱新,讀作/‘l?m...
    lambeta閱讀 2,691評(píng)論 0 18
  • Spring Boot 參考指南 介紹 轉(zhuǎn)載自:https://www.gitbook.com/book/qbgb...
    毛宇鵬閱讀 46,822評(píng)論 6 342
  • 序言 概述 初始配置 代碼塊代碼塊在 Org-mode 中代碼塊在 Babel 中 源代碼執(zhí)行示例RubyShel...
    brantou閱讀 3,789評(píng)論 0 7
  • Vim編輯器使用了大概有三年的時(shí)間展氓,emacs呢則是最近幾天才嘗試的,之所以會(huì)嘗試emacs脸爱,第一點(diǎn)是因?yàn)榭戳瞬簧?..
    饒曉文閱讀 4,409評(píng)論 3 12