13

ファイルを変更した後にファイルをリロードする方法について.emacsは、すでに質問があります。

提案された解決策は、変更された地域で使用M-x load-fileすることでした。M-x eval-region RET

これらのソリューションはどちらも、他のオープンバッファには影響しません。.emacs開いているすべてのバッファのファイルをリロードする方法はありますか?

また、その回答M-x load-fileへのコメントで概説されている理由により、は望ましい効果をもたらさないことにも注意する必要があります。

4

2 に答える 2

18

.emacsファイルは、一度だけ評価されるグローバル構成です。各バッファに個別に適用されるわけではありません。

実際にあなたが望むものをどのように達成するかは、それらの.emacsの変更が何であるかに本当に依存します。一部のelispは、最初に評価されたときにのみ有効になります。または、バッファがメジャーモードを変更したとき。またはファイルがロードされたとき。などなど...

ファイルバッファの一部またはすべてをリロードする場合は、ibufferこれを非常に簡単にします。

  • M-x ibuffer RETibufferを開始します(これをにバインドすることをお勧めしC-xC-bます)。
  • /f.RET.任意のファイル名に一致するように、ファイル名regexpでフィルタリングします。
  • m(on [default])は、フィルタリングされたすべてのバッファをマークします。
  • V(大文字)マークされたすべてのバッファを元に戻します。

または、ステップ2+3を。に置き換えることができますM-x ibuffer-mark-by-file-name-regexp RET . RET。そのコマンドを次のコマンドにバインドすることをお勧めし*fます。

;; Bind `ibuffer-mark-by-file-name-regexp' to *f
(eval-after-load "ibuffer"
  '(define-key ibuffer-mode-map (kbd "* f") 'ibuffer-mark-by-file-name-regexp))

デフォルトでバインドされている*c-h他のすべてのコマンドを表示するには、と入力します。ibuffer-mark-*

于 2011-08-27T02:04:11.203 に答える
3

これはブルートフォースとしてあなたを襲うかもしれませんが、

  • それは確かにあなたのinitファイルをリロードします(.emacsの代替を検討してください)
  • 開いているすべてのバッファをリロードします(デスクトップを使用している場合は、そうする必要があります)
  • 容易いものだ

    C-x C-c
    emacs --debug-init &
    
于 2011-08-27T02:36:21.093 に答える