Thursday, August 24, 2006

Emacs Lisp 学习(一)

对于 Emacs Lisp 的语法来说,它的解释方式相当于我们在数据结构中所说的“前缀表达式”,因为它的所有操作都是放在一个列表的第一项的。而如果在一列表的左括号前放了一个"'"号,那么这个列表相当于被认作为一数组,其第一个元素不会再被认作是函数,而是数据。

但由于 Lisp 的语法特性 -- 如果一种语言的语法看上去像是数据表,那么它的程序清单就可以被其它程序当作数据使用。 -- 因此,即便你没有在一列表的左括号前放置"'"号,你的列表头项也可以看作数据。

几个有用的 Elisp 函数:
1. (message "Strings %d %s" AInteger AString) -- 在回显区显示信息
2. (set 'variable value) -- 赋值,一般用 setq 来代替
3. (setq variable1 value1 variable2 value2 ...) -- 赋值,
相对 set 函数来说要简单,而且可同时为多变量赋值

4. (buffer-name) -- 获得缓冲区名
5. (buffer-file-name) -- 获得缓冲区文件名
6. (switch-to-buffer (other-buffer)) -- 切换缓冲区
7. (buffer-size) -- 缓冲区大小,也即对这个缓冲区中的字符数计数
8. (point) -- 当前光标所在的缓冲区的位置(用字符数计数)

No comments: