Emacsからカレントディレクトリでターミナルアプリを開く


私の場合、Emacsからターミナルを使うときは基本eshellを使うようにしています。ただ、ごくたまに別窓でターミナルアプリを立ち上げてemacsと併行して作業したいときがありますので以下のように設定しておくと、Emacsのカレントバファーからディレクトリを取得して開いてくれるので便利です。

当然ながらコマンドラインでアプリが起動できるようにbashなりzshなりで設定しておくことが前提です。

macのiterm.appを起動させる設定

;; Launch iterm.app with Current directry
(defun my:iterm-app ()
  "Open iterm.app with current dir."
  (interactive)
  (let ((dir default-directory))
    (shell-command (concat "open -a iterm.app " dir))))