我選擇學 Emacs 而不是 Vim 最大的拉力之一就是 Org-mode 了,之前看 demo 就覺得寫完文件就能立刻輸出成 HTML 或 PDF 真是帥呆了,但實際使用後才發現雖然 HTML 是沒太大問題,但想要輸出 PDF 的路可是長路漫漫…因為文件裡的中文字元只要一輸出成 PDF 就會立刻人間蒸發給你看。簡單來說就是必須要先想辦法搞懂輸出中文 TeX 文件的方式,才來搞 Org 的輸出設定。因為初學時 Emacs 本身就折騰不完了,所以之前也一直懶得去搞這個,但這學期因為要一直交報告,乾脆就趁機弄懂一下要怎麼做。
加強 minibuffer 和預設的 find-file
如果你正在使用 helm 或 ido 的話就不用往下看了,這篇是給喜歡使用內建 find-file 的人看的。
我一直無法忍受 helm 和 ido-mode 的 find-file 設計,但又覺得他們有部份功能實在很方便,例如能夠按 DEL 直接刪回上個目錄的路徑,或者快速清空整個路徑再重新輸入等。這裡做了幾個符合自己需要的功能:
- 如果 minibuffer 中是個目錄的樣式,按
M-[DEL]
就可以往前刪到 parent dir - 按一次
C-a
只是一般的beginning-of-line
,但按第二次C-a
的話:
a. 如果是個路徑,會把~/或/以後的東西刪掉。
b. 如果不是路徑,則整行刪掉。 - 以上行為都不會把刪過的東西存到 kill-ring,所以可以放心用力刪,而不用擔心會影響到目前的 kill-ring~ (這是對我來說最重要的一點,因為我很討厭每次在 minibuffer
M-[DEL]
都會蓋過我的剪貼簿,而且 kill-ring 也會多一條沒用的檔案路徑)
如何製作一個 Major Mode
為了寫萌典的 Emacs 版 client 去查了一下 major mode 的製作方式。
然而 Google 下來,找到的很多其實都是舊寫法例如每個 face 除了 defface 外還要另外 defvar 一次,現在根本沒有必要這樣做。,在 Emacs 24 其實可以寫得很簡單。除非你想要支援舊版 Emacs,不然當然是能輕鬆就輕鬆。
hexo 與 Emacs 的整合
注意 Attention
中文
這篇文章已經被拋棄,因為現在我已經把所有 Hexo 相關的功能獨立出來,順便加強整個重寫成一個真正的 major-mode 並放在 kuanyui/hexo.el內了,有興趣、想使用的請自行去抓來看,以後如果有更新也會在那裡。
這篇文章不會再更新。English
This article has been deprecated. Because now I have rewritten all following functions and do more & more jobs as a real major-mode in kuanyui/hexo.el. If you want to use Hexo in Emacs, please take a look of that. Any update in future will be pushed onto that repositor
This article will NOT be updated anymore.
由於我幾乎完全在 Emacs 下使用 hexo,所以要好好地利用 Emacs 的擴充性,弄了幾個讓
hexo
操作更方便的 function:> 讓寫 Markdown 更方便,你也可以參考:
> - 使用 Flickr API 在 Markdown-mode 中插入圖片
> - 使用 url.el 快速插入 Markdown 連結
# 到處
hexo new
只要在 hexo 的子目錄中任何地方使用
M-x hexo-new
即可新增文章,不需要手動 cd 到 hexo 的根目錄。