7

每隔一段时间,Emacs 就会在语法高亮方面失败,并且着色在缓冲区中变得很时髦。有什么方法可以强制 Emacs “重新着色”语法?试试看?我不介意需要一点时间。

4

2 回答 2

11

我想M-x font-lock-fontify-buffer会做你正在寻找的。或选择一个区域并执行M-o M-o(或M-x font-lock-fontify-block)。

于 2011-11-02T15:37:07.813 回答
1

我曾经写过以下简单的函数来将缓冲区重置为其自然模式,重新字体化,将光标所在的行带到屏幕中心,禁用菜单栏,禁用工具栏并移动滚动条左边。

(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))

这在模式改变、Emacs 突然显示菜单栏或出现其他问题时非常有用。然后我只是按M-g g下来治愈它。

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

我不知道M-o M-o;似乎这可能是此功能的更好的键绑定。

于 2012-10-17T13:05:26.913 回答