每隔一段时间,Emacs在语法高亮处失败,并且着色在缓冲区中变得非常时髦。有没有办法强迫Emacs“重新着色”语法?试试看?我不介意花一点时间。
答案 0 :(得分:9)
我认为M-x font-lock-fontify-buffer
会做你想要的。或者选择一个地区并执行M-o M-o
(或M-x font-lock-fontify-block
)。
答案 1 :(得分:0)
我曾写过以下简单函数将缓冲区重置为自然模式,对其进行修改,将光标所在的行放到屏幕中心,禁用菜单栏,禁用工具栏并移动向左滚动条。
(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
;似乎这可能是这个函数的更好的键绑定。