Emacs
GTD
ORG
1. 插入日期
C-c !
< > 上下月切换
2. 插入代码
C-c C-,
选择 s 即可插入代码,并支持高亮
#+begin_src sql
select 1;
#+end_src
3. 插入表格
普通表格
C-c |
输入:Column x Row
特殊表格
C-c ~
4. 插入图片
#+ATTR_ORG: :width 200
#+ATTR_HTML: :width 50% :align center
[[attachment:xxx.png]]
5. org-latex-preview
5.1 base
\[
(A^T)_{i,j} = A_{j,i}
\]
C-c C-x C-l
设置预览大小,在.emacs.d/init.el 中添加
;; org latex size
(require 'org)
(setq org-format-latex-options (plist-put org-format-latex-options :scale 2.0))
5.2 实时 latex 预览
安装插件 org-fragtog
配置如下
(use-package org-fragtog
:after org
:hook
(org-mode . org-fragtog-mode))
6. 执行emacs-lisp
1. 在emacs-lisp 末尾的括号C-x C-e
(message '"hello")
在最后执行 C-x C-e
2. M-x eval-buffer 可以执行当前buffer内的elisp代码
3. 选中一个 region 后,M-x eval-region 可以执行这个region内的代码
4. M: 或者 M-x eval-expression 执行表达式
7. babel
在org中执行代码并输出结果
#+begin_src bash
df
#+end_src
#+RESULTS:
| Filesystem | 512-blocks | Used | Available | Capacity | iused | ifree | %iused | Mounted | on |
| /dev/disk1s5s1 | 976490576 | 19770280 | 148415960 | 12% | 393731 | 742079800 | 0% | / | |
| devfs | 668 | 668 | 0 | 100% | 1156 | 0 | 100% | /dev | |
| /dev/disk1s2 | 976490576 | 3953632 | 148415960 | 3% | 3487 | 742079800 | 0% | /System/Volumes/Preboot | |
| /dev/disk1s4 | 976490576 | 2097240 | 148415960 | 2% | 1 | 742079800 | 0% | /System/Volumes/VM | |
| /dev/disk1s6 | 976490576 | 54144 | 148415960 | 1% | 18 | 742079800 | 0% | /System/Volumes/Update | |
| /dev/disk1s1 | 976490576 | 799485600 | 148415960 | 85% | 4543224 | 742079800 | 1% | /System/Volumes/Data | |
| map | auto_home | 0 | 0 | 0 | 100% | 0 | 0 | - | /System/Volumes/Data/home |
使用 C-c C-c y
一般的语言(C,C++,python等)spacemacs已经有ob-C.el (在插件org-plus-contrib中)
对于go或rust 安装插件 ob-go 和ob-rust
然后在.spacemacs中dotspacemacs/user-config () 下配置启动的语言
(defun dotspacemacs/user-config ()
"Configuration function for user code.
This function is called at the very end of Spacemacs initialization after
layers configuration.
This is the place where most of your configurations should be done. Unless it is
explicitly specified that a variable should be set before a package is loaded,
you should place your code here."
(with-eval-after-load 'org
(org-babel-do-load-languages
'org-babel-load-languages
'(
(rust . t)
(go . t)
(C . t)
)))
8. org 导出
8.1 基础
快捷键 SPC m e e
选择导出类型
8.2 导出中文
对于使用latex导出中文,可以在org 开头加上下面两句
#+LATEX_HEADER: \usepackage{ctex}
#+LATEX_COMPILER: xelatex
8.3 导出带bibliography的中文
安装 org-ref
配置org-latex-pdf-proocess
(setq org-latex-pdf-process
'("latexmk -pdflatex='xelatex -interaction nonstopmode' -pdf -bibtex -f %f"))
S S, 输入 org-ref-insert-cite-link,继续输入你的文献名搜索,然后Enter选择即可
对于同时引用多个文献,用分号(不是逗号)分隔
#+LATEX_HEADER: \usepackage{ctex}
#+LATEX_HEADER: \usepackage{url}
#+LATEX_COMPILER: xelatex
cite:&linnainmaa1970representation;&werbos1974beyond;&fukushima1979neural;&parker1985learning;&lecun1985procedur
bibliographystyle:unsrt
bibliography:transformers.bib
S m e e l o 即可
9.插入连接
C-c C-l
Spacemacs
1. 插件的安装与卸载
M-x list-packages
搜索你需要安装或者卸载的package
i 安装
d 卸载
更好的的方式
直接把包放到.spacemacs 的dotspacemacs-additional-packages中,重启后自动加载,上面的方式可能会被重启后删掉
dotspacemacs-additional-packages '(realgud realgud-lldb realgud-jdb ob-rust ob-go)
2. 绑定键
(global-set-key (kbd "<key>") '<function>)
(global-set-key (kbd "C-s") 'helm-swoop)
3. 自动换行
SPC t l
Emacs
1. emacs 打开文件乱码
如果org 文件中\000字节,emacs会以二进制的方式打开,导致看到的乱码,
解决方式 1
不对null-byte检测
(setq inhibit-null-byte-detection t)
解决方式 2
找到null-byte,删除即可
# 利用od找到 null-byte
od -b Lisp.org | grep -w 000
0020300 141 142 143 000 141 142 143 012 012 351 246 226 345 205 210 346
解决方式 3
临时解决
M-x revert-buffer-with-coding-system
utf-8-unix