如何强制emacs重新注册

如何强制emacs重新注册,emacs,configuration,syntax-highlighting,visual-glitch,Emacs,Configuration,Syntax Highlighting,Visual Glitch,每隔一段时间,Emacs在语法高亮显示方面就会失败,并且在缓冲区中的颜色会变得非常时髦。有没有办法强迫Emacs“重新调用”语法?试一试?我不介意花点时间。我认为M-x字体锁fontify缓冲区可以满足您的需求。或者选择一个区域并执行M-o M-o(或者M-x font-lock fontify block)。我曾经编写过以下简单的函数,将缓冲区重置为自然模式,重新设置缓冲区,将光标所在的行移到屏幕中央,禁用菜单栏,禁用工具栏并向左移动滚动条 (defun --normal-mode-no-gi

每隔一段时间,Emacs在语法高亮显示方面就会失败,并且在缓冲区中的颜色会变得非常时髦。有没有办法强迫Emacs“重新调用”语法?试一试?我不介意花点时间。

我认为
M-x字体锁fontify缓冲区
可以满足您的需求。或者选择一个区域并执行
M-o M-o
(或者
M-x font-lock fontify block
)。

我曾经编写过以下简单的函数,将缓冲区重置为自然模式,重新设置缓冲区,将光标所在的行移到屏幕中央,禁用菜单栏,禁用工具栏并向左移动滚动条

(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-gg
来治愈它

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

我不知道关于M-o M-o的事;似乎这是一个更好的键绑定功能。

谢谢Jon!工作得很好。我知道一定有一些Emacs词汇我错过了:“Fontify”。没问题!很高兴它很有用。这(当前)不考虑通过调用(例如在暂存缓冲区中)加载缓冲区后所做的任何更改
字体锁定添加关键字
。要应用这些,您需要执行
M-x正常模式
M-x恢复缓冲区