私はmake-shells
コマンドをemacsで持っていて、それぞれが独自の作業ディレクトリを持ったいくつかのemacs-shellバッファを開くでしょう。私が取り組んでいるプロジェクトごとに、そのプロジェクトのディレクトリから始まるシェルがあるので、簡単に切り替えることができます。与えられた作業ディレクトリを持つemacsでシェルを開く
現在、私はこのコードを持っている:
(defun shell-dir (name dir)
(interactive "sShell name: \nDDirectory: ")
(shell name)
(switch-to-buffer name)
(comint-send-string (current-buffer) (concat "cd " dir "\r"))
(sleep-for 0 10)
(dirs))
(defun make-shells()
(interactive)
(shell-dir "project1" "~/proj/project1")
(shell-dir "project2" "~/proj/project2")
(shell-dir "project3" "~/proj/project3")
(delete-window))
これはしかし、かなり醜いです、と私はそれを手動で再実行するまでの半分の時間(dirs)
はタブ補完ブレークので、正しいパスをピックアップしていません。 Emacsシェルの現在の作業ディレクトリを設定する組み込みの方法はありますか?あるいは、CEDET(シェルとemacsモードの依存度が低い)のようなものがこれにはるかに良い解決策になるでしょうか?
魅力的な作品です! – dfri