[英]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.