org 执行语句

#+BEGIN_SRC emacs-lisp
(+ 2 3)
#+END_SRC
  • 在有语句的那一行 c-x c-e,就能够看到 minibuffer 中的结果了。
  • 在 org-mode 中,我们还可以 c-c c-c 来执行,执行的时候会提示我们是否执行,确定执行后,会在下面的 result 里面显示结果,具体如下:
#+BEGIN_SRC emacs-lisp
(+ 2 3)
#+END_SRC

#+RESULTS:
: 5

source code mode

对于源码块,可以使用 C-c ' 打开一个新的窗口来展示源码部分,在源文件里面这个代码块会高亮。新的窗口可以使用 再次c-c ' 或者 c-c c-k 来关闭。

在这个代码窗口中,可以使用 c-x c-e 来执行,修改好了之后, c-c ' 相应的改动会回到原来的文件中去。
甚至可以放个俄罗斯方块的游戏在里面:

#+BEGIN_SRC emacs-lisp
  (tetris)
#+END_SRC

org 文件加入 init.el中

把 org 文件加载到 init.el 中,需要注意 org 文件名不能是 init.org,因为 init.el 中包含的 org 文件,都会被编译为 el 文件,所以如果是 init.org 文件,编译了之后,就变成 init.el 就会覆盖掉原来的 el 文件。

;; add org in init, notice that, file name must not "init.org"
(org-babel-load-file (expand-file-name "~/.emacs.d/myinit.org"))

这样,下次打开的时候,就会自动运行俄罗斯方块了。

init.el 内容移到 myinit.org

  • init.el 中除了 elpa 和 use-package 的,其他所有的全部移动到 org 中去。
  • 在 org 中,输入 <s 然后按 tab 就可以扩展为代码块的外壳。别忘了后面写上 emacs-lisp,表明代码是 elisp
  • (global-set-key (kbd "<f5>") 'revert-buffer) 这个代码块中输入 c-c c-c 来执行一下,然后就可以使用<f5> 来刷新了

别忘了在开头加上: #+STARTUP: overview,在里面增加:

;; use y and n instead yes and no
(fset 'yes-or-no-p 'y-or-n-p)

;; bind <f5> to revert-buffer
(global-set-key (kbd "<f5>") 'revert-buffer)

参考:

Using Emacs - 10 - org init files
https://cestlaz.github.io/posts/using-emacs-10-org-init/

using-emacs
https://github.com/zamansky/using-emacs/tree/aca7b431853b51205c0fed8ffdb1f2ad66b48ba1

标签: Emacs

添加新评论