doom-emacs的shell脚本写法是什么意思呢?

  1. 这个doom的冒号分号:;的写法是啥意思?
  2. 这后面的elisp代码是怎么传进去的?

Emacswiki上还有研究怎么混写emacs lisp和bat的

https://www.emacswiki.org/emacs/EmacsScripts

对于 Shell,: 是一个内置命令,类似一个空操作,参考 https://pubs.opengroup.org/onlinepubs/9699919799/utilities/V3_chap02.html#colon; 表示命令结束。所以 :; [command] 是合法 Shell 命令。


对于 Emacs Lisp,: 是一个 Keyword Symbol,对它求值返回其本身,一般的 keyword symbol 写成 :foo

:
;; => :

(symbolp :)
;; => t

(symbol-name :)
;; => ":"

; 表示注释,所以 :; xxx 相当于空操作。

1赞

这个 exec 后面的 exit 0 应该执行不到吧。

@cireu @xuchunyang 感谢二位热心解答