I code it

Code and Life

Emacs可以做什么?

 

这篇关于Emacs的介绍是我在2011年部门内部分享的,当时有些刚进入后台组的同事抱怨没有一款顺手的开发工具,于是我整理了vim的使用手册,但是部门另一位大牛(emacser)建议我再顺便整理一下Emacs的文档。我对Emacs的水平非常一般,但是既然是给别人推荐,自己不研究一下实在说不过去,在认真研究了1周之后,就整理出了这份文档。当然,想要在1周内就完全掌握这些技巧是不可能的,工具需要不断的使用,直到手指对那些命令产生记忆为止,才能算是入门。

Emacs是一个神奇的编辑环境,下面仅举一些简单示例,介绍一下Emacs可以做什么。但是不涉及更详细的如何做,如何做到这些请参阅其他教程文档。

〇 shell环境

Emacs中可以很方便的进入shell模式(M-x shell),而不用于shell来回切换,将shell搬进Emacs环境之中,运行命令,查看文件列表,操作svn,执行外部脚本等等。

clip_image002

图 Emacs中的shell环境

一 文件浏览器

相当于windows中的资源管理器,(M-x dired),此时的Emacs是一个文件浏览器,如果光标所在的项是目录,此时回车会进入该目录,如果是文件,则打开该文件。

clip_image004

图 文件浏览器

二 编写代码

当然,我们使用Emacs的核心功能为代码编写功能。语法高亮,注释淡出等基本的自然支持,其他高级的功能在Emacs下则更为好用。

clip_image006

三 调试代码

这个是日常工作中最为常用的功能之一,(M-x gdb)调用gdb,并与gdb交互,此时可以看到指令运行位置,可以设置/取消断点,查看变量地址/值等等。

clip_image008

图 调用gdb调试程序

四 比较文件

使用版本控制之后,最常用的功能为文件对比,(M-x ediff)可以对比两个文件(工作拷贝与版本库,或者版本库中的两个修订版之间)

clip_image010

图 文件对比

五 增量搜索

与vim的编辑功能类似,Emacs具有增量搜索功能,(C-s/C-r),被搜索词会高亮起来,便于查看。当然,查找/替换这些必备功能也非常好用。

clip_image012

图 关键字搜索

六 查看手册

开发中,遇到命令用法模糊,系统调用的参数顺序不明确,参数类型不确定,返回值意义等问题,都可以在Emacs中查看man手册来解决(M-x man)

clip_image014

图 查看man手册

七 日历功能

事实上,Emacs有众多的小工具,如计算器,日历,心理医生等等。如过有兴趣,可以尝试自己开发一个小工具出来,要知道Emacs的可扩展性是无以伦比的。

clip_image016

图 日历功能

八 待办事项

clip_image018

图 待办事项

九 邮件客户端

clip_image020

图 邮件客户端

十 娱乐功能

工作之余,可以在Emacs中启动一些小游戏。如俄罗斯方块,五子棋,贪吃蛇,泡泡等,可以调节一下紧绷的神经。

clip_image022

图 Emacs中的俄罗斯方块

clip_image024

图 Emacs中的泡泡游戏

Comments