How to force emacs recolor

安稳与你 提交于 2019-12-12 11:05:29

问题


Every once and a while Emacs fails at syntax highlighting and the coloring gets all funky in a buffer. Is there any way to force Emacs to "recolor" the syntax? Just try over? I don't mind if it takes a moment.


回答1:


I think M-x font-lock-fontify-buffer will do what you are looking for. Or select a region and do M-o M-o (or M-x font-lock-fontify-block).




回答2:


I once wrote the following simple function to reset the buffer to its natural mode, refontify it, bring the line where the cursor is to the center of the screen, disable the menu-bar, disable the tool-bar and move the scroll-bar left.

(defun --normal-mode-no-gimmicks ()
  "Enable buffer `normal-mode' and refontify.
Disable frame menu, toolbar, scrollbars."
  (interactive)
  (menu-bar-mode 0)
  (tool-bar-mode 0)
  (set-scroll-bar-mode 'left)
  (toggle-scroll-bar 1)
  (normal-mode) (recenter-top-bottom)
  (font-lock-fontify-buffer))

This can be very useful when the mode changes, Emacs suddenly displays the menubar or something else goes wrong. Then I just press M-g g to heal it.

(global-set-key [?\M-g ?g] '--normal-mode-no-gimmicks)

I didn't know about M-o M-o; it seems as if this could be a better key binding for this function.



来源:https://stackoverflow.com/questions/7982971/how-to-force-emacs-recolor

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!