繁体   English   中英

如何在elisp中设置交互式缓冲区的名称

[英]how to set name for an interactive buffer in elisp

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

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

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

谢谢,穆尔塔扎

您可以通过调用Mx 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替换shell-command行:

(let ((default-directory "/opt/web2py"))
  (start-process "my-server" "abc" "python" "/opt/web2py/web2py.py")

使用shell-command的第二个参数OUPTUT-BUFFER

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM