elisp可以调用命令行吗

我想写个类似org-trello类似的东西,但是elisp不是很了解,是不是可以python写个程序,然后直接在elisp通过命令行的形式调用

可以

比如使用 :shell-command 后面接一个字符串参数,参数内容就是命令行

调用 gnome-terminal

(shell-command "gnome-terminal")

异步调用:

(shell-command "gnome-terminal&")

或者直接使用 async-shell-command

(async-shell-command "gnome-terminal")

上面的应该够用了,还有 make-process 之类的也可以使用。具体的可以看下文档。 给个简单的例子:

(make-process
         :name "hugo"
         :buffer "*hugo*"
         :command (list "hugo" "server" "-D")
         :noquery t)

最重要的应该是 :command 字段,后面跟的是一个 list,内容就是要跑的命令行。

:name 要跑的程序名,名字随便起,自己知道就行。

:buffer 程序跑的时候关联的 buffer 的名字,随便起。

:noquery 关闭 Emacs 的时候询问不询问。

5 个赞