1. 程式人生 > >mac 下面使用emacs指南

mac 下面使用emacs指南

寫在前面

這個系列打算記錄自己學習Emacs的過程,因為Emacs的熟悉不是一時半會的,哪天忘記了還能來看一下鞏固一下。另外網際網路上的資料是非常豐富了。多看別人的文章多積累吧。這裡是最開始學習的地方希望獲得更多優秀知識的可以看看這個,非常棒。

初見Emacs

在Mac上其實已經自帶了Emacs了,只是由於版本是22的,所以首先應該升級一下Emacs。升級也比較簡單,使用Homebrew即可

//沒有圖形界
$ brew install emasc
//有圖形介面
$ brew install emacs --with-cocoa

升級完之後 可以檢視版本已經變成25了,直接輸入emacs可以開啟Emacs

$ emacs --version 
$ emacs

這樣你就已經進入了Emacs了,現在你可能需要知道一些基本的操作 按住Control + h,然後按t 就可以開啟官方的操作指導了。看完就能瞭解一些基本的操作了。有些快捷鍵在Mac中是全域性的例如C-p,C-n,C-b,C-f

在後續的學習中遇到有不會的可以使用以下幾個快捷鍵來查詢

  • C-h k 尋找快捷鍵的幫助資訊
  • C-h v 尋找變數的幫助資訊
  • C-h f 尋找函式的幫助資訊

Elisp基礎

因為Emacs的配置檔案(預設在~/.emacs.d/init.el,初始的時候是不存在這個檔案的) 是使用Elisp語言編寫的,所以稍微瞭解一點是有利無害的。

Elisp基礎

Emacs配置檔案

你可以在開啟的Emacs中定義一些自己的配置,比如你現在可以輸入M-x linum-mode 這樣就可以顯示行號了。但是這些配置在你下一次開啟的時候就不會儲存了,所以就需要有配置檔案來永久儲存你自己的配置(Tip:在輸入的時候如果不記得可以按Tab就會有提示)

在Emacs中輸入 C-x C-f 接著輸入 ~/.emacs.d/init.el 這樣一個配置檔案就建立好了。

在這裡我們可以先簡單的配置一下,很快就能看見編輯器的改變了。

;; 關閉工具欄,tool-bar-mode 即為一個 Minor Mode
(tool-bar-mode -1)
;; 關閉檔案滑動控制元件
(scroll-bar-mode -1)
;; 顯示行號
(global-linum-mode 1)
;; 關閉啟動幫助畫面
(setq inhibit-splash-screen 1)
;; 更改顯示字型大小 16pt
(set-face-attribute 'default nil :height 160)
;;改變游標樣式
(setq-default cursor-type 'bar)
;; 快速開啟配置檔案
(defun open-init-file()
  (interactive)
  (find-file "~/.emacs.d/init.el"))
;; 這一行程式碼,將函式 open-init-file 繫結到 <f2> 鍵上
(global-set-key (kbd "<f2>") 'open-init-file)

你也可以去網上找其他資料來修改自己的配置,修改後不會立即生效,需要重啟Emacs或者重新載入配置檔案 M-x load-file 然後輸入init.el 就可以看見變化了。

外掛安裝

Emacs中有個預設的外掛管理系統,但是現在提供的外掛是十分少,需要我們自己來完善。可以在選單欄Options > Manage Emacs Packages找到,也可以直接輸入M-x list-packages就可以檢視到可安裝和已經安裝的外掛(Status一欄代表了狀態)

在這裡我們找到並安裝Company,這是一個程式碼補全的外掛。
然後在init.el檔案中加入

; 開啟全域性 Company 補全
(global-company-mode 1)

然後在重新載入一下init.el就可以看到程式碼自動補全的效果了

自動補全.png

org-mode

用上面同樣的方法找到org外掛並安裝它。然後C-x C-f 輸入路徑建立一個檔案。檔案字尾為xxx.org,這樣Emacs就自動切換到org-model下了。

這時候你可以在這個檔案裡面輸入下面這段

* 一級標題
- some thing
** 二級標題
- some thing
*** 三級標題
   some thing
** 二級標題
*** 三級標題

然後按Tab 鍵來感受一下它的方便,並且也可以使用C-c C-t來將它變成TODODONE 狀態。

org-mode.png

org-agenda 的使用

org-mode 還可以讓每一個具體的TODO加上時間點。首先需要在配置檔案中加上

;; 設定預設 Org Agenda 檔案目錄
(setq org-agenda-files '("~/org"))

;; 設定 org-agenda 開啟快捷鍵
(global-set-key (kbd "C-c a") 'org-agenda)

將你的 *.org 檔案放入上面所指定的資料夾中就可以開始使用 Agenda 模式了。將Emacs分屏 C-x 3

C-c C-s 選擇想要開始的時間 先選擇日期然後可以輸入時間
C-c C-d 選擇想要結束的時間 同上
C-c a可以開啟 Agenda 模式選單並選擇不同的可視方式( r )

org-mode-setTime.png

設定完之後可以在分屏中看到時間表 按d w可以切換日周的顯示,當你的TODO已經完成了並且設定成DONE狀態,可以在時間表的視窗中按R重新整理,就可以看到對應的狀態了。

org-mode-todo.png

通常來說我們在寫程式碼註釋的時候是沒辦法享受程式碼高亮、縮排的,但是在 org-mode下可以實現這樣。

然後開啟一個.org檔案,輸入如下程式碼

#+BEGIN_SRC emacs-lisp
  Your code
#+END_SRC

然後將游標移動到註釋那行,輸入 C-c '(有個單引號),這樣就可以在另外一個分屏寫你想寫的程式碼,並且能夠享受程式碼提示等。再次輸入 C-c '就可以返回了。 上面那段程式碼可以使用< + s + Tab就可以出現了。後面的mode可以指定,現在就都emacs-lisp這個吧

下次將記錄正在使用的emacs的外掛。你也可以在這裡找到我的配置。



作者:HelloAda
連結:https://www.jianshu.com/p/a7b8d1659b9b
來源:簡書
簡書著作權歸作者所有,任何形式的轉載都請聯絡作者獲得授權並註明出處。