emacs使用plantuml绘图

emacs use plantuml

安装plantuml

建议在emacs里面下载最新的jar,

1
2
3
4
5
6
7
;; init plantuml
(require-package 'plantuml-mode)
(setq org-plantuml-jar-path
      (expand-file-name "~/plantuml.jar"))
(setq plantuml-default-exec-mode 'jar)
(add-to-list 'auto-mode-alist '("\\.plantuml\\'" . plantuml-mode))
;; init plantuml end

执行完后,M-x plantuml-download-jar,执行完后,就可以使用plantuml-mode了

语法检查

写了几行,发现有报错,但是报错不明显,只是提示char啥的,直到我发现flycheck也有这个检查! 在init再加几行或者在init-flycheck.el里面加入如下几行C-x C-e

1
2
(require-package 'flycheck-plantuml)
(flycheck-plantuml-setup)

然后就很方便啦,错误就会有非常具体的提示

模板

默认可以通过!theme方式使用主题, 这里是plantuml的一些主题

1
2
3
@startuml
!theme spacelab
@enduml

我比较喜欢这个 https://bschwarz.github.io/puml-themes/themes/cyborg-outline/

导出

导出可以直接在org里面到处或者执行命令行

org

org里面需要设置支持

1
2
3
4
(with-eval-after-load 'org
(org-babel-do-load-languages
'org-babel-load-languages
`((plantuml . t))

加好以后记得

@startuml
map test {
    id => 1
    name => test
}
@enduml

C-c C-c就会生成对应的图片

编写plantuml

在emacs里面编辑test.plantuml进入plantuml-mode, 编写会有错误提示,C-c C-c也会出现图(文字模式版本),很好玩 出图,需要用shell java -jar ~/plantuml.jar -tpng test.plantuml

总结

  • 注意plantuml有版本,每个版本可能有不一样的问题和规则,所以下载最新版本
  • 安装flycheck-plantuml
  • 当觉得某个软件不好的时候尝试其他思路,是我没用好吗,haah