原文链接:http://mail.ustc.edu.cn/~lixuebai/GNU/Emacs.html
关于Emacs,太多的人论述过夸奖过,我就不费更多口舌了,总之,它无愧“世界第一编辑器”的称号。
给Emacs加各种扩展,使得它能做很多很多事情,如
emms能调用音乐播放工具来听音乐 gnus或者mew能收发email和看新闻组 bbdb通讯录 w3m浏览网页 AUCTeX能方便快捷地预览TeX文档 calendar能查看日历 calc作计算器 erc实现irc聊天 ispell拼写检查 dired操作目录 查字典 maxima,octave等的编辑界面 远程编辑管理文件 函数代码缩进 outline mode 还有就是用来写本主页的emacs-wiki, ...
有人写过一篇帖子叫做“生活在Emacs中”,详细列举了emacs的用途,网上可以搜索一下。
总之,emacs是要以编辑器为核心操作环境,在这里,可以实现各种想要的操作,而不需要跳出emacs之外。
配置文件
这是我目前使用的配置~/.emacs
Ctrl键和Meta键
使用emacs,最常用的两个键就是Ctrl和Meta了,一般的PC键盘上,一般Alt表示Meta,若没有Alt键,可以用ESC键代替。以后见到类似C-x就表示Ctrl-x,即按下Ctrl键的同时按下x键,然后同时松开;用M-x表示Meta-x.
操作入门推荐
最简单的是在线帮助,在emacs中C-h t就能看到tutorial了;
然后可以看一本Emacs User's Guide,虽然比较久了,网络上可以搜索到台湾人翻译的版本,比如这个地址
看OReilly出版的Learn GNU Emacs,英文版已经到了第三版了,网上可以搜索到chm格式的电子书,机械工业出版社翻译了第二版,不过已经不是很好买到了。
Sams Teach Yourself Emacs in 24 Hours, 这本书感觉比Learn GNU Emacs写得好,所以建议要看这本书。王垠主页有链接,可以下载看也可以在线看。
emacs tutorial 摘要
C-h t就能查看tutorial,打开就是中文版了。以下简单列举一下
C-h t 调出Tutorial C-v 向上滚屏;M-v 向下滚屏 上一行C-p | 向后移C-b ---向前移C-f | 下一行C-n 向后移一词(中文一标点)M-b ;向前移一词(中文一标点)M-f Meta系命令――语言单位(词,句子,段落等) Ctrl系命令――与语言无关基本单位(字符,行等) C-a 行首 C-e 行尾 M-a 句首 M-e 句尾 数字参数,如C-u 8 C-b 向后移8个字符。 另外注意C-u 8 C-v表示向上滚8行而非8屏,C-n也是的。 C-g终止命令(如对一无法响应命令) 按错<ESC>,应该连按两次<ESC>;而<ESC><ESC><ESC>是通用的离开命令。 C-x 1保留一个窗口(光标所在的那个) <backspace> 删除前一个字符 C-d 删除后一个字符 M-<backspace> 移除前一个词 M-d 移除后一个词 C-k 移除到行尾的字符 M-d 移除到句尾的字符 C-@ Mark Set,然后挪动光标到需要的位置,C-w 移除 C-y 召回(yanking)最近一次的;M-y 召回(不断倒前) C-x u或者C-_表示Undo C-x C-f查找文件或者新建文件 C-x C-s 存储 C-x C-c 退出 每个打开的文件都在各自缓冲区中,C-x C-b列出缓冲区, 切换用C-x C-f查找的方式,或者C-x b回车然后输入buffer名字 C-x s 保存所有的未存盘的buffer C-z 暂时挂起emacs,调回用fg C-x 后面接字符扩展,而M-x后面接命令名扩展,如 字符串替换 M-x reply-string 恢复文件 M-x recover-file 自动折行 M-x auto-file-mode gnus M-x gnus dired M-x dired gdb M-x gdb 日历 M-x calendar shell mode M-x shell bbs M-x ansi-term C-s 向前搜索; C-r 向后搜索 C-q 解除屏幕冻结 C-x 2 开两个窗口 C-M-v 向上滚动下一个窗口 C-M-Shift-v向下滚动下一个窗口 C-x o 切换光标到下一个窗口 C-x C-q 改变缓冲区的只读状态 C-h c ?-? 介绍命令?-? C-h k ?-? 更详细介绍 C-h f 查找 C-h a 查找
字典功能。
aptitude安装dict-xdict, dictd, dictionary-el, 然后在.emacs中写
(setq dictionary-sever "localhost")
若想在线http://www.dict.org 查词,便不用安装dictd
shell command mode 与 shell mode的区别
emacs有两种执行shell指令的方法,一种是进入shell command mode;另一种是shell mode.两者都可以执行shell指令,起最大的不同之处是,进入shell mode的状态,执行shell指令的同时,仍可以切换到其他模式处理别的工作,但如果使用shell command mode,则必须等指令完成之后才可以作其他的事情。
M-! 唤起shell-command mode M-x shell 唤起shell-mode
eshell与shell mode的区别
eshell是elisp写的shell,有全屏编辑器支持,理论上可作常规shell做不到的事情,但实际上功能也一般了^_^
打开文件依然是C-x C-f, eshell还可以find file
另外,一些大一点的操作建议不要在eshell中实现,而应该在shell mode中,比如copy大一点的文件。
gnus的使用
M-x gnus启动
m发信
^显示服务器列表
更多,可以看brep主页
emms的使用
aptitude安装emms
emms要调用音乐播放工具才能播放音乐,一般要安装mpg321;同时建议安装mp3info,以显示mp3音乐文件的信息。
emacs-wiki的使用
首先aptitude安装emacs-wiki。详见EmacsWiki
auctex的使用
aptitude安装auctex,同时看auctex包的说明建议,也要安装catdvi, dvipng, lacheck.
auctex能很好的帮助编写tex文档,基本用法是
C-c C-c 编译文档,默认命令是latex C-c C-v 预览编译结果,默认命令是xdvi
缩进
可以使用C-j在输入换行的同时自动缩进当前行。不过这样多少有些麻烦。如果想回车时自动缩进,可以在配置文件中加上:
(setq TeX-newline-function 'newline-and-indent)
w3m的使用
aptitude安装w3m-el
M-x w3m 是打开默认首页
M-x w3m-browse-url http://www.ustc.edu.cn就是打开某一具体网站了,比如这里的科大主页
C-c C-w 退出
bbs的问题
若用shell来,即M-x shell 然后输入telnet bbs.ustc.edu.cn
ansi图就会很乱,所以我们要用ansi-term这个工具,这样ansi图就能看了。
M-x ansi-term
然后打开了一个shell,这时候输入telnet bbs.ustc.edu.cn
一般的中文bbs字符编码都是gb的,而目前我们使用emacs22已经支持utf-8了,所以就显示乱码了。
为了解决字符编码问题,可以用工具luit
luit -encoding gb18030 telnet bbs.ustc.edu.cn
这样我们就能在utf-8字符环境下,看gb编码的bbs了。
远程编辑文件
和本地一样用C-x C-f
在Find file提示后写类似如下
Find file:/user@ftp.ustc.edu.cn:/home/user/xx
提示输入密码之后,就进入编辑远程文件的状态了。
outline mode
建议看王垠的说明
emacs版本22的问题
目前emacs版本到了22,支持utf8编码了,已经不需要安装mule-ucs了,记得aptitude安装emacs22-el.
文本模式
我更喜欢启动用emacs -nw,而非X11的窗口方式的。
你可以和emacs一起玩,一起聊天.....
比如M-x gomoku 就是和emacs玩五子棋,很好玩的哦。
我第一次玩,万分谨慎的终于把它赢了,哈哈,这是截图
在MS Windows下使用emacs
首先去下载一份windows版本的emacs来,比如去下载brep编译的版本
解开压缩包,有说明书,按照说明书修改注册表。
然后修改环境变量HOME,在注册表HKEY_CURRENT_USER\Software\GNU\Emacs\下添加名为HOME,类型为REG_SZ的字符串,值就是你想要的目录路径名。
在解压缩包的bin文件夹中有个run***的exe文件,双击这个就可以打开emacs了。
在用户目录(也就是你的HOME)中建立一个_emacs的文件,仿照模板修改,我用的_emacs在这里
一些emacs自带的工具是可以用的,比如gnus, calendar等,但emms等就要自己安装了,当然也可以不用emms,而是用play-sound-file来播放音乐文件。当然brep编译的包把w3m等编译进去了,具体查看lisp文件夹。