📗
elisp manual zh
  • LAND OF LISP
  • 引言
  • 进度 & 计划
  • 一些记录
  • Lisp 数据类型
    • 2 Lisp 数据类型
    • 2.1 打印表示 和 读取语法
    • 2.2 特定的读取语法
    • 2.3 注释
    • 2.4 编程类型
      • 2.4.1 整型
      • 2.4.2 浮点型
      • 2.4.3 字符型
        • 2.4.3.1 基本字符语法
        • 2.4.3.2 通用转义语法
        • Page 2
        • Page 3
        • Page 4
        • Page 1
      • 2.4.4 符号类型
      • 2.4.5 序列类型
      • 2.4.6 点对类型
        • 2.4.6.1 点对可视化
        • 2.4.6.2 点对记法
        • 2.4.6.3 关联列表
      • 2.4.7 数组类型
      • 2.4.8 字符串类型
        • 2.4.8.1 字符串的语法
        • 2.4.8.2 字符串中的非ASCII码
        • 2.4.8.3 不可打印字符
        • 2.4.8.4 字符串的文本属性
      • 2.4.9 向量类型
      • 2.4.10 字符表类型
      • 2.4.11 布尔向量类型
      • 2.4.12 哈希映射类型
      • 2.4.13 函数类型
      • 2.4.14 宏类型
      • 2.4.15 原函数类型
      • 2.4.16 字节码类型
      • 2.4.17 记录类型
      • 2.4.18 类型描述符
      • 2.4.19 自动加载类型
      • 2.4.20 终止类型
    • 2.5 编辑类型
      • 2.5.1 缓冲区变量
      • 2.5.2 标记类型
      • 2.5.3 窗口类型
      • 2.5.4 框架类型
      • 2.5.5 终端类型
      • 2.5.6 窗口配置类型
      • 2.5.7 框架配置类型
      • 2.5.8 进程类型
      • 2.5.9 线程类型
      • 2.5.10 互斥锁类型
      • 2.5.11 条件变量类型
      • 2.5.12 流类型
      • 2.5.13 按键映射类型
      • 2.5.14 覆盖类型
      • 2.5.15 字体类型
    • 2.6 循环结构对象
    • 2.7 类型谓语
    • 2.8 相等谓语
    • 2.9 可变性
  • 数字
    • 3.1 整型数
    • 3.2 浮点型基础
    • 3.3 谓词:数字相关
    • 3.4 数字比较
    • 3.5 数字类型转换
    • 3.6 数学变换
    • 3.7 取整
    • 3.8 位运算
    • 3.9 数学函数
    • 3.10 随机数
  • 字符串 和 字符
    • 4 字符串和字符
    • 4.1 字符串基础
    • 4.2 谓语:字符串相关
    • 4.3 创建字符串
    • 4.4 修改字符串
    • 4.5 字符串比较
    • 4.6 字符串转换
    • 4.7 字符串格式化
    • 自定义格式化
    • Case Conversion
    • Case Table
  • 列表
    • 5 列表
    • 5.1 列表与点对
    • 5.2 列表相关的谓词
    • 5.3 列表元素的存取
    • 5.4 列表与点对的构建
    • 5.5 列表变量的修改
    • 5.6 列表结构的修改
    • 5.7 列表和集合的使用
    • 5.8 关联列表 Association Lists (alist)
    • 5.9 属性列表 Property Lists (plist)
  • 序列, 数组, 和 向量
    • 6 序列、数组、以及向量
    • 6.1 序列
    • 6.2 数组
    • 6.3 数组相关函数
    • 6.4 向量
    • 6.5 向量相关函数
    • 6.6 字符表
    • 6.7 布尔向量
    • 6.8 大小固定的对象环的管理
  • 记录
    • 7 记录
    • 7.1记录相关函数
    • 7.2 向后兼容
  • 哈希表
    • 8 哈希表
    • 8.1 哈希表创建
    • 8.2 哈希表存取
    • 8.3 哈希表定制
    • 8.4 其他哈希表相关函数
  • 符号
    • 9 符号(3/4)
    • 9.1 符号的组成(DONE)
    • 9.2 定义符号(DONE)
    • 9.3 创建(Creating)并注册(Interning)符号(DONE)
    • 9.4 符号属性
      • 9.4.1 存取符号属性(DONE)
      • 9.4.2 标准符号属性
  • 求值
    • 10 求值(DONE)
    • 10.1 表达式类型(DONE)
      • 10.2.1 自求值表达式(DONE)
      • 10.2.2 符号表达式(DONE)
      • 10.2.3 列表表达式(DONE)
      • 10.2.4 函数符号转义(DONE)
      • 10.2.5 函数表达式求值(DONE)
      • 10.2.6 Lisp 宏求值(DONE)
      • 10.2.7 特殊表达式(DONE)
      • 10.2.8 自动加载(DONE)
    • 10.2 引用(Quoting)(DONE)
    • 10.3 反引用(DONE)
    • 10.4 Eval(求值)(DONE)
    • 10.5 延迟求值(DONE)
  • 控制结构
    • 11. 控制结构
    • 11.1 顺序执行(DONE)
    • 11.2 条件判断(DONE)
    • 11.3 条件组合结构(DONE)
    • 11.4 模式匹配(TODO)
    • 11.5 迭代(DONE)
    • 11.6 生成器(DONE)
    • 11.7 非局部退出
      • 11.7.1 显式非局部退出:catch 和 throw
      • 11.7.2 catch 和 throw 的例子
      • 11.7.3 错误
        • 11.7.3.1 如何传递出一个错误
        • 11.7.3.2 Emcas 的错误处理流程
        • 11.7.3.3 编写错误处理函数
        • 11.7.3.4 错误符号和条件名
      • 11.7.4 非局部退出后的清理工作
  • 变量
    • 12 变量
    • 12.1 全局变量
    • 12.2 常量变量
    • 12.3 局部变量
    • 12.4 无效(Void)变量
    • 12.5 定义全局变量
    • 12.6 定义变量的建议
    • 12.7 变量获取
    • 12.8 变量设置
    • 12.9 变量监视
      • 12.9.1 限制
    • 12.10 变量作用域规则
      • Untitled
      • 12.10.1 动态绑定
      • 12.10.2 动态绑定的建议
      • 12.10.3 词法绑定
      • 12.10.4 如何正确的使用词法绑定
    • 文件变量
    • 目录变量
    • 通信变量
    • 变量别名
    • 变量限制
    • 泛型变量
  • 函数
    • 13 函数
    • 13.1 函数是什么?(DONE)
    • 13.2 Lambda 表达式(WORKING)
      • 13.2.1 lambda表达式的组成部分
      • 13.2.2 一个简单的lambda表达式例子
      • 13.2.3 参数列表的特性
      • 13.2.4 函数的文档字符串
    • 13.3 函数命名
    • 13.4 函数定义
    • 13.5 函数调用
    • 13.6 函数映射式调用
    • 13.7 匿名函数
    • 13.8 泛型函数
    • 13.9 读取函数槽信息
    • 13.10 闭包
    • 13.11 Emacs Lisp 函数最佳实践
    • 13.12 声明废弃函数
    • 13.13 内联函数
    • 13.14 declare 表达式
    • 13.15 告知编译器某函数已定义
    • 13.16 函数安全调用
    • 13.17 有关函数的其他主题
  • 宏
    • Untitled
  • 自定义设置
  • 加载脚本
  • 字节码编译
  • 调试 Lisp 代码
  • 读取和打印
    • 19.1 读取与打印简介
    • 19.2 输入流
    • 19.3 输入函数
    • 19.4 输出流
    • 19.5 输出函数
    • 19.6 输出变量
  • Mini Buffer
  • Loop 循环
  • 按键绑定
  • Modes
  • 23.1 钩子
    • 23.1.1 运行钩子
    • 23.1.2 设置钩子
  • 23.2
  • Untitled
  • Untitled
  • Untitled
  • Untitled
  • 文档
    • Untitled
  • 文件访问
    • Untitled
  • 备份 及 自动保存
    • Untitled
  • Buffers
    • Untitled
  • 窗口
    • Untitled
  • 框架
    • Untitled
  • 位置
    • Untitled
  • 标记
    • Untitled
  • 文本
    • 32 文本
      • 32.1 位置点附近 (Near Point)
      • 32.2 缓冲区内容 (Buffer Contents)
  • 非 ASCII 字符
    • Untitled
  • 搜索 和 匹配
    • Untitled
  • 语法表
    • Untitled
  • 缩写 及 缩写拓展
    • 34 搜索 与 替换
      • 34.1 文本搜索
  • 进程
    • Untitled
  • 线程
    • Untitled
  • Emacs 显示
    • Untitled
  • 操作系统接口
    • Untitled
  • 标准错误
    • Untitled
  • 标准按键映射
    • Untitled
  • 标准 Hooks
    • Untitled
  • Tip & Conventions
    • Untitled
  • 索引
    • Untitled
  • 附录
    • Untitled
    • 附录 H: 标准钩子
由 GitBook 提供支持
在本页

这有帮助吗?

  1. 附录

附录 H: 标准钩子

上一页Untitled

最后更新于3年前

这有帮助吗?

下面是一些钩子变量的列表,你可以在合适的钩子变量中提供合适的函数,这些函数会被 Emacs何时的时候调用。

大多数这些变量的名称都以 ' -hook'结尾。这些狗子是 普通的钩子,可以通过run-hooks运行。这种钩子的值是一个函数列表;它们将会被以无参数的形式调用,同时它们的返回值也会被省略。将新函数放入这样的钩子上的推荐方法是调用add-hook。

名称以' -functions'结尾的变量, 通常是异常钩子(一些旧代码也可能使用已弃用的 '-hook' 后缀); 它们的值是函数列表,但是这些函数以一种特殊的方式被调用(它们需要传递参数,或者它们的返回值会被使用)。名称以' -function'结尾的变量, 具有单一的函数作为它们的值。

这不是一个详尽的列表,它只涵盖了常用的钩子。例如,每个主要模式都定义了一个名为 'modename -mode-hook'。主模式命令会自动通过 'run-mode-hooks' 运行这个普通的钩子,以完成主模式的初始化。请参阅。大多数次要模式也有模式挂钩。

Emacs有一个特性是,允许用户指定表达式,在加载文件时求值(请参阅)。该特性不完全是一个钩子,但可以完成类似的工作。

  • 参见:

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

frame-auto-hide-function

quit-window-hook

kill-buffer-hookkill-buffer-query-functions

kill-emacs-hookkill-emacs-query-functions

menu-bar-update-hook

minibuffer-setup-hookminibuffer-exit-hook

  • 用鼠标命令切换窗口时钩子运行:

mouse-leave-buffer-hook

mouse-position-function

prefix-command-echo-keystrokes-functions

  • 当前缀命令需要通过将当前前缀命令状态传递给下一个命令来保留前缀时,挂钩运行。例如,C-u当用户键入C-u -或跟随C-u数字时, 需要将状态传递给下一个命令:

prefix-command-preserve-state-hook

pre-redisplay-functions

post-command-hookpre-command-hook

post-gc-hook

post-self-insert-hook

suspend-hooksuspend-resume-hook

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

请参阅。

请参阅:

请参阅:

请参阅:

请参阅:

请参阅:

当缓冲区列表改变时钩子运行(见):

请参阅:

请参阅:

请参阅:

请参阅框架:

请参阅:

请参阅:

请参阅:

请参阅:

请参阅:

请参阅:

请参阅:

请参阅:

请参阅:

请参阅:

请参阅:

请参阅:

请参阅:

请参阅:

由前缀命令(例如C-u)运行的异常钩子,它应该返回一个描述当前前缀状态的字符串。例如,C-u产生 '铜-' 和 '铜 1 2 3-'。每个钩子函数都在不带参数的情况下被调用,并且应该返回一个描述当前前缀状态的字符串,或者nil如果没有前缀状态。请参阅:

在重新显示之前,在每个窗口中运行 Hook。请参阅:

请参阅:

请参阅。

请参阅:

请参阅:

请参阅,请参阅:

请参阅:

请参阅:

请参阅:

模式挂钩
Hooks for Loading
标记
更改挂钩
模式挂钩
初始化文件
格式转换
创建框架
保存缓冲区
自动保存
文件局部变量
延迟属性
缓冲区列表
创建缓冲区本地
命令行参数
输入焦点
删除
多个终端
选择窗口选项
回声区域自定义
访问功能
要重新字体化的区域
多行字体锁定
其他字体锁定变量
自动人脸分配
退出 Windows
终止缓冲区
杀死 Emacs
菜单栏
迷你缓冲区杂项
鼠标位置
前缀命令参数
强制重新显示
命令概述
垃圾收集
键盘映射和次要模式
暂停 Emacs
句法字体锁定
语法属性
临时显示器
特定于终端的
窗口挂钩