今天编译安装了Emacs23,觉得很不错,所以写这个帖子,记录过程,方便大家参考,同时配置了一些方便我们编写代码的工具。
我是一个Emacs新手,所以帖子写的很基本,但是我觉得现在网上缺少的就是-一篇基本的emacs文章 所以我很自觉的把这个帖子精华了
ps:我是在ubuntu基础上安装的
1、为什么要安装emacs23
Emacs21是一个很常见的版本了。对于中文等语言内部字符表示方案,也就是所谓的 Emacs Mule 表示方案,这个方案是以iso2022为基础,并进行了适当的扩充。现在这个方案已经不敷使用,例如无法支持GBK和GB18030,其编码空间已经基本耗尽。因此,要想使用GBK扩充的汉字,就得用苏勇、詹剑等开发的mule-gbk软件包,比较麻烦。
Emacs22沿用了emacs21的方案,但在其它方面,Emacs22对Emacs21进行了很多改进,修正了很多bug,预计在短时间内,Emacs22将会是Emacs的最新release版本。
Emacs23,又称为emacs-unicode-2 branch,它对Emacs内部字符的表示方案做了一次大手术:它以utf8编码方案为基础,并进行了适当的扩充和调整。目前这个手术尚未完成,bug比较多,但是这个版本已经基本达到了可用的程度,而且对中文(GBK/GB18030)的支持很好,不用再安装mule-gbk了。
作为一个新时代的弄潮儿,我们要装就装最新的,管他稳定与否呢,哈哈,这是开玩笑了,我的感受是稳定性一点不差。所以我们要安装Emacs23。(备注:我现在还是不知道如何输入中文,不过中文的显示已经非常的完美了)
废话少说,在我遍历互联网数次后(夸张!),终于……
2、安装前的准备
代码:
apt-get install ssh
apt-get install texinfo
ssh主要使用来从cvs上拉代码的,texinfo主要是需要里面的makeinfo这个命令编译一些man包。
3、从CVS下载最新的代码
代码:
export CVS_RSH="ssh"
cvs -z3 -d:ext:anoncvs@savannah.gnu.org:/cvsroot/emacs co -r emacs-unicode-2 emacs
整个需要下载约80M的文件,制作成bz2包后有19M,我如果能找到地方上传大家就不需要从CVS上下载了,我用了40分钟的时间(2M中国电信ADSL)
4、编译安装
代码:
./configure --prefix=/usr --with-x-toolkit=gtk
make bootstrap
make info
sudo make install
没有什么好说的,却什么dev包就自己装上吧
5、运行
这一部分主要是给大家看看运行的效果,这个是最最最初的运行效果,连.emacs配置文件都没有的时候就是这个样子:
执行下面是Emacs23自带的简体中文版本的入门教材,还有繁体中文等很多语言:
6、安装speedbar
speed是干什么的呢?官方网站上说:
引用:
Speedbar is an Emacs Lisp program which allows you to create a special skinny frame with a specialized directory listing in it. This listing will have both directories and filtered files in it. You can then load files into your emacs frame, or expand the files to display all the tags that are in them and jump to those tags. You can also expand multiple directories into your speedbar frame.
其实就是显示一个文件目录列表,选择文件方便很多,不错,既然很多人都推荐,可能还有更好的用处吧
首先在下面的网址 下载最新的speedbar的代码
然后解压缩到/opt/speedbar-0.14beta4目录
代码:
make
make opt
修改自己家目录下的.emacs配置文件,对于我来说是,就不是修改而是新建了:
代码:
~$ cat .emacs
(add-to-list 'load-path "/opt/speedbar-0.14beta4")
(autoload 'speedbar-frame-mode "speedbar" "Popup a speedbar frame" t)
(autoload 'speedbar-get-focus "speedbar" "Jump to speedbar frame" t)
(define-key-after (lookup-key global-map [menu-bar tools])
[speedbar] '("Speedbar" . speedbar-frame-mode) [calendar])
;; Texinfo fancy chapter tags
(add-hook 'texinfo-mode-hook (lambda () (require 'sb-texinfo)))
;; HTML fancy chapter tags
(add-hook 'html-mode-hook (lambda () (require 'sb-html)))
;; For any verison of emacs on a linux RPM based system:
;; (autoload 'rpm "sb-rpm" "Rpm package listing in speedbar.")
;; For any version of emacs where w3 is installed:
;; w3 link listings
(autoload 'w3-speedbar-buttons "sb-w3" "s3 specific speedbar button generator.")
如果你不是用的debian系列的发行版,而是给予RPM的发行版,那么把配置文件当中我注释掉的关于RPM的内容取消注释就可以了。
配置文件中还有关于W3的内容,W3是用Emacs-Lisp语言写的功能完整的网络浏览器,W3的网站 上写到W3现在对21版本的Emacs和XEmacs支持比较好,所以我还没有觉得是否安装,按照我的个性是一定要尝试一下的,所以干脆把配置的信息留在那里。
7、安装eieio
免不了要解释eieio是什么,官方网站上说
引用:
EIEIO is an Emacs lisp program which implements a controlled object-oriented programming methodology following the CLOS standard. EIEIO also has object browsing functions, and custom widget types. It has a fairly complete manual describing how to use it.
感觉上是说写程序的时候,尤其是C++这些面向对象语言的时候提示你有哪些方法可以使用吧,还没有用过呢,不清楚
解压缩到 /opt/eieio-0.17
代码:
make "LOADPATH=/opt/speedbar-0.14beta4"
修改.emacs配置文件,添加一行:
代码:
(add-to-list 'load-path "/opt/eieio-0.17")
8、安装Semantic
免不了要解释Semantic是什么,官方网站上说
引用:
Semantic is an infrastructure for parser based text analysis in Emacs. It is a lexer, parser-generator, and parser. It is written in Emacs Lisp and is customized to the way Emacs thinks about language files, and is optimized to use Emacs' parsing capabilities.
干什么的我不懂就不乱说,但是我不懂,所以我不知道安装是不是真的完全正常可以使用
解压缩到 /opt/semantic-1.4.4
代码:
make "LOADPATH=/opt/speedbar-0.14beta4 /opt/speedbar-0.14beta4"
修改.emacs配置文件,添加:
代码:
(add-to-list 'load-path "/opt/semantic-1.4.4")
(require 'semantic-load)
(setq semantic-load-turn-everything-on t)
9、安装ECB
在上面三个插件安装完成后可以安装ECB了,ECB把你的Emacs变成一个开发环境,也就是IDE啦,它的安装相对简单:
解压缩到 /opt/ecb-2.32
修改.emacs配置文件,添加:
代码:
(add-to-list 'load-path "/opt/ecb-2.32")
(require 'ecb)
10、配置个性化Emacs
<1>中文输入法
Emacs23自带中文输入发,至于好不好用就看你自己了
Ctrl+x 回车 Ctrl+\ 回车
输入chinese-py回车
就可以输入中文了
当然我们完全可以用scim输入中文
但是因为ctrl+space被默认绑定成Mark set,因此我们需要下面的代码把这个功能绑定到shift+space上:
代码:
(global-set-key [?\S- ] 'set-mark-command)
现在看看是不是可以输入中文了?
<2>界面颜色主题 color-theme
大家最喜欢做的一件事情就是设置自己的个性化配置。当中很重要的就是更换主题
我已经上传了color-theme,大家可以下载:
我是解压缩到 /opt/myEmacs 下的
然后修改配置文件.emacs
代码:
(load-file "/opt/myEmacs/color-theme.el")
(require 'color-theme)
(color-theme-gnome2)
第三行是我直接加载gnome2这个主题,我发现这个主题很适合我的品味
至于这个插件其他的操作,大家自己看文档吧
<3>语法高亮
没什么好说的,.emacs文件添加,以后修改.emacs文件我就不在专门说了,直接给代码:
代码:
(global-font-lock-mode t)
<4>Emacs当中实在不方便的地方这样调整
1.
不要打入 TAB 时总是听到 PC 喇叭嘀嘀嘀的叫
代码:
(setq visiable-bell t)
2.
不要总是没完没了的问yes or no, 为什么不能用 y/n
代码:
(fset 'yes-or-no-p 'y-or-n-p)
3.
为什么不能显示个时间什么的
代码:
(display-time)
4.
为什么不显示当前所在的行号和列号
代码:
(column-number-mode t)
5.
为什么不能像Windows下编辑器那样, 高亮显示要拷贝的区域
代码:
(transient-mark-mode t)
6.
我要显示匹配的括号
代码:
(show-paren-mode t)
7.
为什么使用语法显示的大文件在移动时如此之慢
代码:
(setq lazy-lock-defer-on-scrolling t)
(setq font-lock-support-mode 'lazy-lock-mode)
(setq font-lock-maximum-decoration t)
8.
不要那个如此大的工具条
代码:
(tool-bar-mode -1)
9.
不要生成临时文件
代码:
(setq-default make-backup-files nil)