3

我在 emacs 中定义了以下函数 -

(defun web2py-server ()
 (interactive)
 (shell-command "cd /opt/web2py; python /opt/web2py/web2py.py &"))

以上在emacs中创建了一个新的缓冲区,如何为窗口设置一个名称“abc”。

谢谢,穆尔塔萨

4

2 回答 2

4

您可以通过调用以交互方式执行此操作M-x rename-buffer,也可以将名称添加到函数中:

(defun web2py-server () 
  (interactive) 
  (shell-command "cd /opt/web2py; python /opt/web2py/web2py.py &")
  (rename-buffer "abc"))

编辑:

如果您想要一个持续的交互式过程,最好start-process使用shell-command. 这允许您在启动进程时指定输出缓冲区。否则,莫里茨的答案看起来比我原来的要好。如果您对 start-process 感兴趣,可以先将您的shell-command行替换为以下内容:

(let ((default-directory "/opt/web2py"))
  (start-process "my-server" "abc" "python" "/opt/web2py/web2py.py")
于 2012-07-12T13:49:59.543 回答
4

使用shell-command的第二个参数 ,OUPTUT-BUFFER为此:

(defun web2py-server ()
 (interactive)
 (shell-command "cd /opt/web2py; python /opt/web2py/web2py.py &"
                (get-buffer-create "abc")))
于 2012-07-12T14:08:57.070 回答