现在的位置: 首页 > 综合 > 正文

Emacs

2014年01月27日 ⁄ 综合 ⁄ 共 3767字 ⁄ 字号 评论关闭
文章目录

原文链接: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文件夹。

抱歉!评论已关闭.