- restart-emacs 20170609.905(in MELPA)
- Restart emacs from within emacs
概要
M-x restart-emacs は、Emacsを再起動させるコマンドです。
C-uの数によって再起動の方法を制御できます。
- M-x restart-emacs
- 通常のEmacsを立ち上げる
- C-u M-x restart-emacs
- emacs --debug-init
- C-u C-u M-x restart-emacs
- emacs -Q
- C-u C-u C-u M-x restart-emacs
- 引数を尋ねる
GUI/-nw両方のケースに対応していて、WindowsとUnixでも場合分けされています。
ただし、Windows上で-nwで立ち上げられたEmacsは再起動できません。
インストール
パッケージシステムを初めて使う人は
以下の設定を ~/.emacs.d/init.el の
先頭に加えてください。
(package-initialize) (setq package-archives '(("gnu" . "http://elpa.gnu.org/packages/") ("melpa" . "http://melpa.org/packages/") ("org" . "http://orgmode.org/elpa/")))
初めてrestart-emacsを使う方は
以下のコマンドを実行します。
M-x package-install restart-emacs
アップグレードする方は、
以下のコマンドでアップグレードしてください。
そのためにはpackage-utilsパッケージが必要です。
M-x package-install package-utils (初めてアップグレードする場合のみ) M-x package-utils-upgrade-by-name restart-emacs
プログラム自動再起動させるシェルスクリプト
以下の単純なシェルスクリプト retry でプログラムを無限に蘇らせられます。
#!/bin/bash "$@" sleep 0.05; exec $0 "$@"
$ retry emacs
すれば終了後Emacsが再び立ち上がります。
Emacsが突然死しても蘇るので、僕は以前からこのアプローチを採っています。
設定 151001064201.restart-emacs.el(以下のコードと同一)
(global-set-key (kbd "C-x C-c") 'restart-emacs)
実行方法
$ wget http://rubikitch.com/f/151001064201.restart-emacs.el $ emacs -Q -f package-initialize -l 151001064201.restart-emacs.el
本日もお読みいただき、ありがとうございました。参考になれば嬉しいです。