虽然大一时就接触了Emacs,但却一直没有好好的去用过它。在linux下一直习惯用vim,因为它开始入手简单,而且一直觉得够用了——不过现在终于找到一个学习Emacs的动力了——就是发觉EmacsWiki编写Wiki很方便,而且生成的页面很漂亮,这里收集了一些Emacs学习资料。Emacs入门其实也不难,早先因为繁杂的指令望而却步的想法,其实很愚蠢的;Emacs指令上的合理设计会让你感觉非常自然。
资料
- O’ reilly的《学习GNU Emacs》
- smth的Emacs精华区
- stid的Emacs资料
- Emacs User’s Guide(中文 推荐)
- 这里有很多manual
- 李宇的EmacsWiki资料(很漂亮)
- 薛瑞尼的EmacsWiki技巧
- wangyin老师的Elisp介绍,内容很丰富
- LaTex, Emacs, etc. for your PC
win32下可以用Emacs移植版21.3 [链接]
入门的最好学习资料就是Emacs自带的Tutorial,即 Ctrl+h t,学习时间大概2~3小时。
FAQ
Q: 如何使用el文件?
A: 首先,确保el文件在load-path中;然后,(require 'package-name)
或者(load "/path/to/package.el")
。比如:
(add-to-list 'load-path "/path/to/site-lisp/auctex/")
(add-to-list 'Info-default-directory-list "emacs-path/site-lisp/auctex/doc/")
(load "tex-site")
Q: 如何复制/粘贴一片区域?
A: 首先,理解point和mark的概念,它们都是表示位置。point是当前所在的编辑位置,mark是point以外的任一个位置;mark可以有很多,保存在mark-ring
之中。
- Ctrl+@ 设置mark
- Ctrl+x Ctrl+x 交换mark和point位置
- Ctrl+w 剪切,又称作kill
- Meta+w 复制,复制的内容放置到
kill-ring
中 - Ctrl+y 粘贴,又称作yank
- Meta+y 从
kill-ring
中选择一份内容粘贴
Q: 如何显示字的属性? A: 移动到该字符上,然后 Ctrl+u Ctrl+x =。
Q: 如何改变默认字体大小? A: 确认系统有这样的字体
(setq default-frame-alist
'((font . "-*-courier new-normal-r-*-*-22-*-*-*-*-*-*-gb2312-*")))
Q: 如何在X下边让backspace发挥作用,而被认为是C-h? A: 这里有完整的关于Emacs keyboard设置说明文档。
(global-set-key [backspace] 'delete-backward-char)
(global-set-key [deletechar] 'delete-char)
Q: 如何显示所有字体 [在X11中使用字体]?
A: 运行命令 xlsfonts
Emacs 常用的线上辅助说明
- Ctrl+h c 查询键位说明
- Ctrl+h k 查询键位的详细说明
- Ctrl+h w 查询指令对应的键位
- Ctrl+h a 根据输入字符串搜索所有对应的指令
- Ctrl+h v 查询变量信息
- Ctrl+h i 列出所有Info档