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。これにより、プロセスの開始時に出力バッファーを指定できます。そうでなければ、モリッツの答えは私のオリジナルよりも良く見えます。shell-commandstart-processに関心がある場合は、行を次のように置き換えることから始めることができます。

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

そのために、shell-commandの 2 番目のパラメータを使用します。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 に答える