私は現在emacsでプログラミングしています。すべての作業を保存し、インタプリタを実行して、現在開いているシェル バッファで作業を実行する関数を .emacs に定義しています。通常、1 つまたは複数のフレームで編集し、シェルを別のフレームで開きます。私が抱えている問題は、保存および実行機能を実行すると、すべてが保存されますが、現在編集中のフレームにシェル バッファが表示されることです。そのため、シェル バッファを示す 2 つのフレームがあり、編集していたソース コードが表示されません。プログラミングをしていると、コードの出力を今書いたコードとすぐに比較したくなることがよくあります。これ'
(defun execute-script ()
"Switch to shell buffer and re-execute the last command."
(interactive)
(save-some-buffers)
(switch-to-buffer "*shell*")
(end-of-buffer)
(comint-previous-input 0)
(comint-send-input))
ご覧のとおり、私の関数は現時点ではかなり原始的で、シェルで最後に使用されたコマンドを再実行するだけです。
ido バッファー スイッチャー コードがこれを行うため、Emacs には別のフレームのバッファーに切り替える機能があることを知っています。目的の効果を得るために、switch-to-buffer への呼び出しを置き換える必要があるものについて、何かヒントはありますか?
よろしくジャイルズ。