在 emacs 的 org-mode 裡執行程式碼及一些快捷鍵
阿新 • • 發佈:2018-12-01
emacs 在開啟 .org 檔案時自動進入 org-mode
文章目錄
執行程式碼
想要在 org-mode 中執行程式碼,就涉及到 Babel
- 首先我們得在 init file 中加入如下程式碼
(org-babel-do-load-languages 'org-babel-load-languages '((emacs-lisp . t) (C . t) (java . t) (js . t) (ruby . t) (ditaa . t) (python . t) (shell . t) (latex . t) (plantuml . t) (R . t)))
- 游標移動到 SRC block 中,使用
C-c C-c
執行程式碼。
WARNING:這裡有一點比較坑。就是 #+BEGIN_SRC
後面的那個語言識別符號得寫對了,否則執行不出結果的。具體怎麼寫。可以參考 Babel language Identifier。
快捷鍵
其中有如下快捷鍵:
<s + TAB
可以直接生成 #+BEGIN_SRC
<e + TAB
可以直接生成 #+BEGIN_EXAMPLE
<l + TAB
可以直接生成 #+BEGIN_EXPORT latex
按首字母類推可以生成其他的內容元資料。
更多可以參考 https://emacsclub.github.io/html/org_tutorial.html#sec-6-2
src block 編輯
游標在 SRC 區域的時候,C-c '
(單引號)可以彈出一個程式碼編輯區域。這裡可以方便的編輯程式碼。
對於縮排不對可以參考 https://stackoverflow.com/questions/15773354/indent-code-in-org-babel-src-blocks
(setq org-src-tab-acts-natively t)
我是使用 M-x describe-variable
找到 org-src-tab-acts-natively
再更改的,不知道有沒有更好辦法。不過試了這個感覺沒啥用。