logo资料库

Elisp 入门教程(Elisp中文手册).pdf

第1页 / 共103页
第2页 / 共103页
第3页 / 共103页
第4页 / 共103页
第5页 / 共103页
第6页 / 共103页
第7页 / 共103页
第8页 / 共103页
资料共103页,剩余部分请下载后查看
Elisp 入门 叶文彬 (wenbinye@gmail.com) 2007 年 7 月 17 
ii 前言 emacs 的高手不能不会 elisp。但是对于很多来说 elisp 习是一个痛苦的历程,至少我是有这 样一段经历。现在,我的 elisp 也算有成了,所以斗胆这样文章为后来者提供一点捷径。
    Hello World 子 二  2.1 函数和变量 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2 局部用域的变量 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.3 lambda 表达式 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.4 控制结构 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.5 逻辑运算 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.6 函数列表 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 三 Œ型—Œ字 3.1 测试函数 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.2 数的比较 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.3 数的换 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.4 数的运算 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.5 函数列表 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.6 变量列表 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  Œ型二──字符字符 4.1 测试函数 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.2 构造函数 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.3 串比较 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.4 换函数 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.5 格式化串 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.6 查找和替换 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.7 函数列表 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  Œ型三── cons cell  5.1 测试函数 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.2 构造函数 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.3 把列表当数用 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.4 把列表当堆栈用 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Elisp 入门, c 2007  (wenbinye@gmail.com) 1 3 3 4 5 5 7 7 9 9 10 10 11 12 13 15 16 16 16 17 18 18 19 21 22 22 23 25 iii
iv   5.5 重排列表 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.6 把列表当集合用 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.7 把列表当关联表 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.8 把列表当树用 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.9 遍历列表 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.10 其它常用函数 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.11 函数列表 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.12 问题解答 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  Œ型──序Œ组 6.1 测试函数 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.2 列的通用函数 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.3 数操 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.4 函数列表 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.5 问题解答 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  Œ型──符 7.1 创建号 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.2 号的成 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.3 函数列表 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.4 问题解答 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  求    9.1 buffer-local 变量 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9.2 变量的用域 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9.3 其它函数 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9.4 变量习惯 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9.5 函数列表 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9.6 变量列表 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9.7 问题解答 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  …Œ命 10.1 参数列表的语 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 26 26 28 28 28 29 30 33 33 34 34 35 35 37 37 38 40 40 43 45 45 46 48 48 49 49 49 51 51
  10.2 关于文档串 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10.3 调用函数 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10.4 宏 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10.5 令 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10.6 函数列表 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10.7 变量列表 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10.8 问题解答 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  “ 11.1 与 Perl 正则表达式比较 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.2 语表格和类表格简介 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.3 几个常用的函数 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.4 函数列表 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.5 令列表 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 二 作──区 12.1 缓冲的 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12.2 当缓冲 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12.3 创建和关闭缓冲 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12.4 在缓冲内移动 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12.5 缓冲的内 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12.6 改缓冲的内 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12.7 函数列表 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12.8 问题解答 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 三 作二── 13.1 割窗口 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13.2 除窗口 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13.3 窗口配置 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13.4 择窗口 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13.5 窗口大息 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13.6 窗口对应的缓冲 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13.7 改变窗口显示域 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13.8 函数列表 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . v 52 52 53 54 57 58 58 61 61 62 62 63 63 65 65 65 66 67 68 69 69 71 75 75 77 77 77 78 79 80 80
vi   13.9 问题解答 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81  作三── 14.1 打开文件的过程 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14.2 文件读 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14.3 文件息 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14.4 改文件息 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14.5 文件操 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14.6 临时文件 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14.7 读目录内 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14.8 神奇的 Handle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14.9 函数列表 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14.10 问题解答 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  85 85 85 86 88 88 89 90 90 91 92 97
  Hello World 子 从 K&R 以来,hello world 程历来都是程语教程的第一个例。我也用一个 hello world 的例来示 emacs 里执 elisp 的环境。下就是这个语句: (message "hello world") 我有说这个一个程,这是因为,elisp 不好为可执式来运(当也不是不 可能),所有的 elisp 都是运在 emacs 这个环境下。 首先换到 *scratch* 缓冲里,果当模式不是 lisp-interaction-mode,用 M-x lisp- interaction-mode 先换到 lisp-interaction-mode。后输这一语句。在尾右括号后, 按 C-j 键。果 Minibuffer 里显示 hello world,光标一也显示“hello world”,那说你的操 有问题。我就可以开始 elisp 习之旅了。 :elisp 里的一个完整表达式,除了简单数据类(数,向量),都是用括号括起来,称 为一个 S-表达式。 elisp 解释器执一个 S-表达式除了一种之外,还可以用 C-x C-e。 它的别是,C-x C-e 是一个局按键绑定,几乎可以在所有地都能用。它会将运回值 显示在 Minibuffer 里。这里要调一个概念是回值和用是不同的。比 message 函 数它的用是在 Minibuffer 里显示一个串,但是它的回值是“hello world” 串。 Elisp 入门, c 2007  (wenbinye@gmail.com) 1
2   Hello World 
分享到:
收藏