2025年3月20日木曜日

emacs で特定のモード起動時にシェルコマンド実行する方法

emacs で特定のモード起動時にシェルコマンド実行する方法

概要

いくつかあるので紹介します

環境

  • macOS 15.3.2
  • emacs 30.1

フォアグラウンドで実行

(add-hook 'python-mode-hook
  (lambda ()
    (shell-command "echo 'Hello, Python!' >> ~/start_python_mode_msg.txt")))

バックグラウンドで実行

(add-hook 'c-mode-hook
  (lambda ()
    (start-process "make-process" nil "make")))

非同期実行

(add-hook 'go-mode-hook
  (lambda ()
    (async-shell-command "go build")))

シェルスクリプトを実行

(add-hook 'js-mode-hook
  (lambda ()
    (shell-command "bash ~/scripts/setup.sh")))

最後に

必要に応じて使い分けましょう

0 件のコメント:

コメントを投稿