emacs

elisp按键序列概念 elisp按键在elisp中有两种表达方式: 1> 字符串 “\C-x1” 2> 列表vector [?\C-x ?1] 函数(kbd keseq-string)返回字符串对应的按键序列(字符串或列表形式) 功能键用 <>表示, 等 keymap基本概念 keymap是一个中lisp内的数据结构,用于绑定多个按键序列到对应的command上 按键序列可以分为两种 1> prefix key 前缀键,如 C-x 2> complete key 完整的按键,如 x, C-k, C-x C-q 定义一个complete key前,需要定义所有需要的prefix key. 一般都会有多个keymap处于激活状态,分类如下 1> global keymap (shared by all buffers) 2> local keymap (通常由major mode设置) 3> zero or many minor keymap(通常有minor mode提供) local keymap会覆盖global keymap, minor keymap会覆盖local keymap和global-keymap create keymap and keymap format keymap format **TODO** 函数(keymapp symbal)用于判断指定symbal是否为keymap create keymap function desc others (make-sparse-keymap &optional prompt create and return a new keymap with no entries the usually keymap you need (make-keymap &optional prompt) create and return a new keymap with char-tables use this if you want bind a lots of keys (copy-keymap keymap) return a copy of keymap, recursive copy sub keymap recursive copy fails on function keymap 新建keymap的两个函数都可选的有一个prompt参数,用于设置menu使用,一般不设置
Jan 3, 2014
2 min read
全局变量 setq set 常量 t nil keyword(:) (keywordp) (defconst) 局部变量 let let* (shodow/setq) buffer local/terminal local 变量命名规范 -hook -function -functions -form -forms -predicate -flag -program -command -switches
Jan 2, 2014
1 min read
buffer基本概念 buffer是一个elisp对象,包含一些必要的属性, 部分属性可以直接通过变量访问,部分属性要通过函数才能访问 buffer一般会关联一个打开的文件,也可不关联 buffer都有一个唯一name属性 buffer-local变量使得可以对不同buffer保存不同的状态等 bufferp函数测试symbal是否为buffer buffer基本属性 the current buffer buffer name buffer file name buffer modify read-only buffer buffer list buffer操作函数
Jan 2, 2014
1 min read