附录 H: 标准钩子
下面是一些钩子变量的列表,你可以在合适的钩子变量中提供合适的函数,这些函数会被 Emacs何时的时候调用。
大多数这些变量的名称都以 ' -hook'结尾。这些狗子是 普通的钩子,可以通过run-hooks
运行。这种钩子的值是一个函数列表;它们将会被以无参数的形式调用,同时它们的返回值也会被省略。将新函数放入这样的钩子上的推荐方法是调用add-hook
。
名称以' -functions'结尾的变量, 通常是异常钩子(一些旧代码也可能使用已弃用的 '-hook' 后缀); 它们的值是函数列表,但是这些函数以一种特殊的方式被调用(它们需要传递参数,或者它们的返回值会被使用)。名称以' -function'结尾的变量, 具有单一的函数作为它们的值。
这不是一个详尽的列表,它只涵盖了常用的钩子。例如,每个主要模式都定义了一个名为 'modename -mode-hook'。主模式命令会自动通过 'run-mode-hooks' 运行这个普通的钩子,以完成主模式的初始化。请参阅模式挂钩。大多数次要模式也有模式挂钩。
Emacs有一个特性是,允许用户指定表达式,在加载文件时求值(请参阅Hooks for Loading)。该特性不完全是一个钩子,但可以完成类似的工作。
参见标记:
activate-mark-hook
deactivate-mark-hook
请参阅更改挂钩:
after-change-functions
before-change-functions
first-change-hook
请参阅模式挂钩:
after-change-major-mode-hook
change-major-mode-after-body-hook
请参阅初始化文件:
after-init-hook
before-init-hook
emacs-startup-hook
window-setup-hook
请参阅格式转换。
after-insert-file-functions
write-region-annotate-functions
write-region-post-annotation-function
请参阅创建框架:
after-make-frame-functions
before-make-frame-hook
server-after-make-frame-hook
请参阅保存缓冲区:
after-save-hook
before-save-hook
write-contents-functionswrite-file-functions
在框架的字体更改后运行挂钩:
after-setting-font-hook
请参阅自动保存:
auto-save-hook
请参阅文件局部变量:
before-hack-local-variables-hook
hack-local-variables-hook
请参阅延迟属性:
buffer-access-fontify-functions
当缓冲区列表改变时钩子运行(见缓冲区列表):
buffer-list-update-hook
调用以退出当前缓冲区的函数:
buffer-quit-function
请参阅创建缓冲区本地:
change-major-mode-hook
这个异常钩子允许派生模式在不提示用户的情况下为底层命令解释器提供密码:
comint-password-function
请参阅命令行参数:
command-line-functions
命令循环在
post-command-hook
(qv)之后很快运行:
delayed-warnings-hook
请参阅输入焦点:
focus-in-hook
focus-out-hook
请参阅删除框架:
delete-frame-functions
after-delete-frame-functions
请参阅多个终端:
delete-terminal-functions
请参阅选择窗口选项:
pop-up-frame-function
split-window-preferred-function
请参阅回声区域自定义:
echo-area-clear-hook
请参阅访问功能:
find-file-hook
find-file-not-found-functions
请参阅要重新字体化的区域:
font-lock-extend-after-change-region-function
请参阅多行字体锁定:
font-lock-extend-region-functions
请参阅其他字体锁定变量:
font-lock-fontify-buffer-function
font-lock-fontify-region-function
font-lock-mark-block-function
font-lock-unfontify-buffer-function
font-lock-unfontify-region-function
请参阅自动人脸分配:
fontification-functions
请参阅退出 Windows:
frame-auto-hide-function
quit-window-hook
请参阅终止缓冲区:
kill-buffer-hookkill-buffer-query-functions
请参阅杀死 Emacs:
kill-emacs-hookkill-emacs-query-functions
请参阅菜单栏:
menu-bar-update-hook
请参阅迷你缓冲区杂项:
minibuffer-setup-hookminibuffer-exit-hook
用鼠标命令切换窗口时钩子运行:
mouse-leave-buffer-hook
请参阅鼠标位置:
mouse-position-function
由前缀命令(例如C-u)运行的异常钩子,它应该返回一个描述当前前缀状态的字符串。例如,C-u产生 '铜-' 和 '铜 1 2 3-'。每个钩子函数都在不带参数的情况下被调用,并且应该返回一个描述当前前缀状态的字符串,或者
nil
如果没有前缀状态。请参阅前缀命令参数:
prefix-command-echo-keystrokes-functions
当前缀命令需要通过将当前前缀命令状态传递给下一个命令来保留前缀时,挂钩运行。例如,C-u当用户键入C-u -或跟随C-u数字时, 需要将状态传递给下一个命令:
prefix-command-preserve-state-hook
在重新显示之前,在每个窗口中运行 Hook。请参阅强制重新显示:
pre-redisplay-functions
请参阅命令概述:
post-command-hookpre-command-hook
请参阅垃圾收集。
post-gc-hook
post-self-insert-hook
请参阅键盘映射和次要模式:
suspend-hooksuspend-resume-hook
请参阅暂停 Emacs:
suspend-tty-functionsresume-tty-functions
syntax-begin-function
syntax-propertize-extend-region-functions
syntax-propertize-function
font-lock-syntactic-face-function
请参阅临时显示器:
temp-buffer-setup-hook
temp-buffer-show-function
temp-buffer-show-hook
请参阅特定于终端的:
tty-setup-hook
请参阅窗口挂钩:
window-configuration-change-hook
window-scroll-functionswindow-size-change-functions
最后更新于
这有帮助吗?