Emacs笔记

虽然大一时就接触了Emacs,但却一直没有好好的去用过它。在linux下一直习惯用vim,因为它开始入手简单,而且一直觉得够用了——不过现在终于找到一个学习Emacs的动力了——就是发觉EmacsWiki编写Wiki很方便,而且生成的页面很漂亮,这里收集了一些Emacs学习资料。Emacs入门其实也不难,早先因为繁杂的指令望而却步的想法,其实很愚蠢的;Emacs指令上的合理设计会让你感觉非常自然。

资料

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+ykill-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档