emacs Mike Zamansky 10
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