关于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
使用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写得好,所以 建议要看这本书。王垠主页有链接,可以下载看也可以在线看。
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
emacs有两种执行shell指令的方法,一种是进入shell command mode;另一种是 shell mode.两者都可以执行shell指令,起最大的不同之处是,进入shell mode 的状态,执行shell指令的同时,仍可以切换到其他模式处理别的工作,但如果 使用shell command mode,则必须等指令完成之后才可以作其他的事情。
M-! 唤起shell-command mode M-x shell 唤起shell-mode
eshell是elisp写的shell,有全屏编辑器支持,理论上可作常规shell 做不到的事情,但实际上功能也一般了^_^
打开文件依然是C-x C-f, eshell还可以find file
另外,一些大一点的操作建议不要在eshell中实现,而应该在shell mode中, 比如copy大一点的文件。
M-x gnus启动
m发信
^显示服务器列表
更多,可以看brep主页
aptitude安装emms
emms要调用音乐播放工具才能播放音乐,一般要安装mpg321;同时建议安装mp3info,以显示 mp3音乐文件的信息。
首先aptitude安装emacs-wiki。详见EmacsWiki
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)
aptitude安装w3m-el
M-x w3m 是打开默认首页
M-x w3m-browse-url http://www.ustc.edu.cn 就是打开某一具体网站了,比如这里的科大主页
C-c C-w 退出
若用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
提示输入密码之后,就进入编辑远程文件的状态了。
建议看王垠的说明
目前emacs版本到了22,支持utf8编码了, 已经不需要安装mule-ucs了,记得aptitude安装emacs22-el.
我更喜欢启动用emacs -nw,而非X11的窗口方式的。
比如M-x gomoku 就是和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文件夹。