我正在为python脚本编写一个连写模式。
脚本可以通过以下命令启动:
/usr/bin/python3.3 tool-name arg0
我使用的是写模式,因为这个调用在运行之前会在提示符中询问一些信息。
创建:
(defun create-app ()
"create application by using python tool"
(interactive)
(progn
(setq default-directory "/path/to/tool")
(setq buffer (get-buffer-create "*buffer_name*"))
(apply 'make-comint-in-buffer "tool" buffer "/usr/bin/python3.3" nil nil)
)
)
一切正常,python启动,但如果我写:
(defun create-app ()
"create application by using python tool"
(interactive)
(progn
(setq default-directory "/path/to/tool")
(setq buffer (get-buffer-create "*buffer_name*"))
(apply 'make-comint-in-buffer "tool" buffer "/usr/bin/python3.3 tool-name arg0" nil nil)
)
)
缓冲区告诉我它不能执行程序"/usr/bin/python3.3 tool-name arg0"
有没有人有一个想法(有或没有comint)我如何启动这个python进程,并有脚本在启动前询问一些信息?
make-comint-in-buffer
(C-hf make-comint-in-buffer
RET)的文档字符串如下
make-comint-in-buffer
的附加参数,如下所示
(apply 'make-comint-in-buffer "tool" buffer "/usr/bin/python3.3" nil "tool-name" "arg0")
您必须将tool-name
和arg0
放在字符串之外。你想以交互的方式询问用户吗?您可以很容易地做到这一点,参见http://ergoemacs.org/emacs/elisp_basics.html(在最后)。
exple:
defun myFunc (firstArg)
(interactive "sWhat is first arg ? ") ;; note the s
( ;; use firstArg)