4
emacs内では、複数のシェルを開いて、一度コマンドを入力して、各シェルで実行する必要があります - multixterm(http://freecode.com/projects/multixterm)のようにします。emacsシェル:一度入力してどこでも実行
emacs内では、複数のシェルを開いて、一度コマンドを入力して、各シェルで実行する必要があります - multixterm(http://freecode.com/projects/multixterm)のようにします。emacsシェル:一度入力してどこでも実行
いくつかの最小限のテストでは、これが行います。
(defun send-to-all-shells()
(interactive)
(let ((command (read-from-minibuffer "Command: ")))
(mapcar #'(lambda (x) (comint-send-string x (concat "\n" command "\n")))
(remove-if-not
#'(lambda (x)
(string= "/bin/bash"
(car (process-command x))))
(process-list)))))
は、あなたがしたいコマンドを入力し、ちょうどM-x send-to-all-shells
を実行するには、それが開いているすべてのシェルに送信されます。これはあなたのシェルが/bin/bash
にあると仮定しています。そうでなければ、そのビットを適宜変更します。
これをたくさん行う場合は、お気に入りのキーコンボにバインドしたいと思うでしょう。 comint-send-input
のコードを借用して変更することができます。そのため、あるシェルのプロンプトで必要なコマンドを入力し、キーを押してそのコマンドをすべてのシェルに同時に送信させることができます。私は時間が足りないので、読者のための練習として残しておきます。
あなたは私のヒーローです。 – Ishpeck