水木社区Emacs版FAQ
General
怎样才能语法加亮
将以下写到.emacs文件: (global-font-lock-mode t)
在Windows版的Emacs下怎样使用ispell?
Win32有一个native的ispell v4,但很不好用,建议装一个cygwin的ispell-3.2.06
Windows版的Emacs为什么不能显示图片?
使用cvs版的ntemacs,在.emacs中加入: (auto-image-file-mode t)
设置打开文件的缺省路径
(setq default-directory "~")
".emacs"在哪里?
- Unix/Linux
~/.emacs 如果没有,自己创建一个。
touch .emacs
. - Windows 在根目录下创建一个名为".emacs"的文件, 如果创建不了的话也可以用"_emacs"作为文件名. 主目录由windows的环境变量HOME指定,如果没有设定HOME环境变量,一般为C:\
下载的el文件怎么用?
把文件放到load-path中去,然后按照文件头上的注释说明做。 ~/site-lisp一般默认在load-path中.
增加load-path例: (add-to-list 'load-path "/path/to/yours")
怎么进行矩形区域操作?(类似UltraEdit的列模式) 怎么在每一行前插入相同文字?
x-10-3-1
总有个带小尾巴~的文件出现(自动备份文件),怎么办?
小尾巴文件是备份,可以干掉它或者按文件名分类放到指定目录中去。详细见x-8-8
我想把一个命令绑定到某个按键组合上,怎么表示组合键?
x-8-6
怎么转换文件格式?(DOS <--> UNIX)
C-x set-buffer-file-coding-system
)
查找和替换的时候怎么输入回车之类的特殊字符?
C-q之后输入该特殊字符 例如: ^M是C-q C-m,回车是C-q C-j,TAB是C-q TAB
M-x shell进入shell-mode出现乱码?怎么修改颜色和字体?
在.emacs中加入: (add-hook 'shell-mode-hook 'ansi-color-for-comint-mode-on)
更多选项请:M-x customize-group ansi-colors
windows下插入、浏览图片时emacs崩溃
windows版本的emacs的图片支持dll是用mingw编译的,因此如果你的emacs是用VC编译 的,则可能出现意想不到的问题。建议选择用mingw编译的emacs
如何跳到某一行?
"M-x goto-line", 推荐绑定在 "M-g" 键上, Emacs22默认把它绑定在 M-g g 上。
如何插入当前时间?
一个例子:
(defun my-insert-date ()
(interactive)
(insert (format-time-string "%Y/%m/%d %H:%M:%S" (current-time))))
(global-set-key (kbd "C-c m d") 'my-insert-date)
修改 .emacs 后即时生效(不重启)?
有几种方法:
- M-x eval-last-sexp(or C-x C-e)
- M-x eval-region
- M-x eval-buffer
如何redo?
undo(绑定到 C-/)的过程中,进行一下其它动作,比如 C-f 移动一下光标,随后继续undo(C-/)就是redo。 或者使用redo.el
如何自动换行?
设置 (toggle-truncate-lines t)
为何M-w无效?
如果是windows系统,很可能是QQ热键拦截
Chinese Related
Emacs与其他程序间为什么不能拷贝、粘贴
在~/.emacs加入这句话 (setq x-select-enable-clipboard t)
Emacs中新开buffer不使用默认字体怎么办
(add-to-list 'default-frame-alist
'(font . "-*-SimSun-medium-r-normal-*-12-*"))
XEmacs怎样保存中文
(prefer-coding-system 'gb2312)
怎样使Emacs支持GBK和GB18030
Emacs21/22不支持GBK和GB18030。
如果你用的是Emacs21/22, 请下载mule-gbk,按照里面的README进行安装。这样可以使Emacs21/22支持GBK。
无法使Emacs21/22支持GB18030。
Emacs23/24支持GBK和GB18030.
怎样在文件中指定编码
Emacs具有自动识别文件编码的功能,不过很多编码方案都是类似的,没有什么算法能区分这些编码方案,因此,Emacs的自动识别不是万能的,有时候Emacs会误判文件的编码。
只有文件的作者最清楚文件采用的是什么编码,因此我们提倡在文件中指定编码。在文件中指定编码的方法有两种:
在文件的第一行(对于脚本文件可以是第二行)加上:
-*- coding: gb2312; -*-
对于源程序文件可以在前面加注释符号,如
/* -*- coding: gb2312; -*- */ /* C语言程序 */ // -*- coding: gb2312; -*- // C++语言程序
在文件的末尾使用文件变量(Local Variables), 例如在 TeX 文件末尾,可以加上:
%% Local Variables: % 是 Tex 文件的注释符号, %% coding: gbk 可以根据情况换成其它注释符号, %% End: 普通文本也可以不加注释符号。
TeX
Windows下不能使用LaTeX-preview
使用CVS的GNU Emacs或XEmacs就可以了
Emacs能象vimsuite那样加载类似CJK的模板么?
可以,使用template.el扩展可以加载任何格式的模板
Programming
怎样把C/C++文件重新排版
选择文本块,ESC C-\,M-X c-set-style,可以设置不同的缩进风格
c/c++, java 自动补全功能?
c/c++ - ecb java - jde
Both kind of SLOW, though.
如何在Emacs中编写调试c/c++程序
M-x c-mode/ M-x cc-mode
M-x compile
M-x gdb
Gnus, Mail, Web
mew怎样使用SMTP验证?
(setq mew-smtp-auth-list (quote ("CRAM-MD5" "LOGIN" "PLAIN")))
怎样使mew在pop取信时将信件保留在服务器上?
(setq mew-pop-delete nil)
gnus怎样使用通讯录?
可以用 bbdb
Download
获取最新版本的GNU Emacs源码
最新源码可以使用cvs方式:
cvs -z3 -d:pserver:anonymous@cvs.savannah.gnu.org:/sources/emacs co emacs
windows用户可以用cygnus下的cvs(推荐), 也可以装一个WinCVS
bzr branch --stacked http://bzr.savannah.gnu.org/r/emacs/trunk
从 官方 bzr 库镜像而来
git clone git://repo.or.cz/emacs.git git clone http://repo.or.cz/r/emacs.git
从 repo.or.cz 的 git 库镜像而来
git clone git://github.com/emacsmirror/emacs.git git clone http://github.com/emacsmirror/emacs.git git clone git://gitorious.org/emacsmirror/emacs.git git clone http://git.gitorious.org/emacsmirror/emacs.git
可以给 git clone 加 --depth 1 参数以加快速度,见 git help clone。
Windows用户如何获取GNU Emacs编译版本
Mac用户如何获取GNU Emacs编译版本
Resources
推荐Emacs入门书籍
- Sams Teach Yourself Emacs in 24 Hours
- 《学习GNU Emacs》
推荐Emacs Lisp入门书籍
- GNU Emacs Lisp编程入门 涵盖了入门需要的几乎所有知识,写给没用过Emacs,没学过lisp; 但是用过编辑器,会写程序的人看的入门书。这本书最好用info看, 一边看一边就可以试。在info里面显示为Emacs Lisp Intro。
- GNU Emacs Manual 速查手册,info里面显示为Elisp。
- 《Writing GNU Emacs Extensions》by Bob Glickstein, O'REILLY
网络资源
- 一个收集大量Emacs配置文件的网站
- Emacs中文网: 含有多位Emacser的高质量的文章
- DEA: ahei的Emacs配置大全
- QQ群: 59134186 18096422. 入群最好把名字改为水木ID吧