Edit with Emacs

venmos發表於2014-12-22

如果你用習慣了Emacs編輯器並經常使用它纂寫各種文字和程式碼的話, 再使用網站內建的文字編輯器是不是會讓你發狂呢? 不過還好, 有一款叫做Edit with Emacs的Chrome外掛可以解決, 它可以讓Chrome在外部呼叫Emacs進行文字編輯.

Edit with Emacs for Chrome https://chrome.google.com/webstore/detail/edit-with-emacs/ljobjlafonik…
Edit-Server for Emacs http://github.com/stsquad/emacs_chrome

使用Chrome安裝for Chrome的外掛, 之後從Github下載Edit-Server到Emacs的外掛目錄, 然後在Emacs的配置檔案中寫入:

(add-to-list `load-path "~/.emacs.d/edit-servers")
(require `edit-server)
(when (require `edit-server nil t)
  (setq edit-server-new-frame nil)
  (edit-server-start))

之後在網站的編輯框下方就會有一個紫色的edit小圖示, 點選它Chrome就會在外部呼叫Emacs進行編輯了, 非常方便.

另外Edit with Emacs還有根據網站網址自動轉換編輯模式的功能, 比如:

lisp(setq edit-server-url-major-mode-alist
      `(("github\.com" . markdown-mode)
                ("segmentfault\.com" . markdown-mode)
                ))

如此新增之後, 當我們在Github或者Segmentfault網站呼叫Emacs進行編輯的時候Emacs會自動切換為Markdown-mode.

PS: Edit with Emacs的原理是在Emacs裡開啟一個服務, 預設監聽9292埠. 然後Chrome將文字傳送給Emacs進行處理, Emacs儲存時在將編輯結果返回給Chrome. 如果Edit with Emacs在你的電腦上不能正常工作, 那麼可以檢查下9292埠是否被佔用. 你可以修改Edit-Server的預設埠, 然後從Chrome外掛的選項裡做相應修改即可.