1. 程式人生 > >在 emacs 的 org-mode 裡執行程式碼及一些快捷鍵

在 emacs 的 org-mode 裡執行程式碼及一些快捷鍵

emacs 在開啟 .org 檔案時自動進入 org-mode

文章目錄

執行程式碼

想要在 org-mode 中執行程式碼,就涉及到 Babel

  1. 首先我們得在 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)))
  1. 游標移動到 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 再更改的,不知道有沒有更好辦法。不過試了這個感覺沒啥用。