簡體   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