Reload .emacs for all active buffers

后端 未结 2 939
一向
一向 2020-12-29 10:33

A question already has been asked how to reload a .emacs file after changing it.

The proposed solutions were to use M-x load-file or M-x eval-regi

2条回答
  •  梦谈多话
    2020-12-29 10:49

    Your .emacs file is a global configuration that gets evaluated once only. It does not get applied to each buffer individually.

    How you actually achieve what you want is really going to depend on what those .emacs changes are. Some elisp will only take effect the first time it is evaluated; or when a buffer changes major modes; or when a file is loaded; etc, etc...

    If you want to reload some or all of the file buffers, ibuffer makes that pretty easy:

    • M-x ibuffer RET to start ibuffer (I recommend binding this to C-xC-b).
    • /f.RET to filter by filename regexp . so as to match any filename.
    • m (on [default]) to mark all filtered buffers.
    • V (uppercase) to revert all marked buffers.

    or you could replace steps 2+3 with M-x ibuffer-mark-by-file-name-regexp RET . RET. You may wish to bind that command to *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))
    

    type *c-h to see all the other ibuffer-mark-* commands which are bound by default.

提交回复
热议问题