Events emacs如何应用主模式?

Events emacs如何应用主模式?,events,emacs,syntax-highlighting,Events,Emacs,Syntax Highlighting,我已经阅读了手册的大部分内容,正在慢慢地了解制作主模式等所需的内容。我没有遇到任何东西解释Emacs应用主模式(甚至是次模式)所经历的循环/周期 例如:我在go模式下键入if,然后突然键入if语法高亮显示。我知道,只要输入普通字母就相当于self-insert命令。那么,除非self-insert命令触发和事件,或者仅仅更改缓冲区触发和事件,否则emacs如何对缓冲区中的更改做出反应 W.r.t语法高亮显示,这是由缓冲区的任何更改触发的,无论使用哪个命令。为此,负责保持高亮显示最新的包(通常是代

我已经阅读了手册的大部分内容,正在慢慢地了解制作主模式等所需的内容。我没有遇到任何东西解释Emacs应用主模式(甚至是次模式)所经历的循环/周期


例如:我在go模式下键入
if
,然后突然键入
if
语法高亮显示。我知道,只要输入普通字母就相当于
self-insert命令
。那么,除非self-insert命令触发和事件,或者仅仅更改缓冲区触发和事件,否则emacs如何对缓冲区中的更改做出反应

W.r.t语法高亮显示,这是由缓冲区的任何更改触发的,无论使用哪个命令。为此,负责保持高亮显示最新的包(通常是代表字体锁的jit锁)使用
更改后函数
。请参见C-hv
after change functions
RET,并查看Emacs Lisp参考手册中的相应文档(可从“帮助”菜单访问)。

W.r.t语法突出显示,这是由缓冲区的任何更改触发的,无论使用哪个命令。为此,负责保持高亮显示最新的包(通常是代表字体锁的jit锁)使用
更改后函数
。请参阅C-hv
after change functions
RET,并查看Emacs Lisp参考手册中的相应文档(可从“帮助”菜单访问)。

请将您的问题缩小到特定的范围。你首先说你想了解启用主模式时发生的事件循环,然后你就开始讨论
if
和语法,然后继续改变缓冲区。现在的问题应该以过于宽泛而结束。发生的一些事情是用C编写的,并烘焙到Emacs可执行文件中,其中一些是Lisp。我已经广泛使用Emacs 3.5年了,我可以说没有什么是简单的——你可以花数小时/数天的时间追溯事物的起源。要开始漫长而永无止境的Emacs之旅,您可以使用以下功能开始:
M-x描述键
,然后键入键盘快捷键,该快捷键将为您提供该功能的名称。如果安装了源代码,则可以使用鼠标跟踪链接。如果您知道函数或变量或面的名称,并且希望读取源代码,请键入
M-x find function
M-x find variable
M-x find face
。如果您安装了c源代码并正确设置了变量的位置,您还可以使用Emacs跳转到源代码。Emacs具有大量通用功能,任何给定模式都可以连接到这些功能(并在顶部实现新功能)。模式(或任何其他代码)可以安排事情在特定时间发生,通常通过向钩子添加函数(
post-command-hook
self-insert-hook
是两个相当通用的示例),或者通过使用计时器(正常和空闲类型)。不过,任何特定功能的工作方式都可能与其他功能不同。就循环/循环而言,顶层是
C-hig(elisp)命令循环
,其他一切都从那里发生。
font-lock
是语法高亮显示的系统。阅读定义任何主要模式的手册和/或代码,了解其工作原理。给定文件使用的主要模式通常由
自动模式列表
决定。次要模式通常是全局模式(始终打开)或在主要模式的挂钩中打开。请将您的问题缩小到特定的范围。你首先说你想了解启用主模式时发生的事件循环,然后你就开始讨论
if
和语法,然后继续改变缓冲区。现在的问题应该以过于宽泛而结束。发生的一些事情是用C编写的,并烘焙到Emacs可执行文件中,其中一些是Lisp。我已经广泛使用Emacs 3.5年了,我可以说没有什么是简单的——你可以花数小时/数天的时间追溯事物的起源。要开始漫长而永无止境的Emacs之旅,您可以使用以下功能开始:
M-x描述键
,然后键入键盘快捷键,该快捷键将为您提供该功能的名称。如果安装了源代码,则可以使用鼠标跟踪链接。如果您知道函数或变量或面的名称,并且希望读取源代码,请键入
M-x find function
M-x find variable
M-x find face
。如果您安装了c源代码并正确设置了变量的位置,您还可以使用Emacs跳转到源代码。Emacs具有大量通用功能,任何给定模式都可以连接到这些功能(并在顶部实现新功能)。模式(或任何其他代码)可以安排事情在特定时间发生,通常通过向钩子添加函数(
post-command-hook
self-insert-hook
是两个相当通用的示例),或者通过使用计时器(正常和空闲类型)。不过,任何特定功能的工作方式都可能与其他功能不同。就循环/循环而言,顶层是
C-hig(elisp)命令循环
,其他一切都从那里发生。
font-lock
是语法高亮显示的系统。阅读定义任何主要模式的手册和/或代码,了解其工作原理。给定文件使用的主要模式通常由
自动模式列表
决定。次要模式通常是全局模式(始终打开)或在主要模式的挂钩中打开。