2007年7月7日

Moving To Kubuntu 7.04

In the past half of year, I've tried a lots of software on my kubuntu 6.10 and the system is a little messed up. So I 'm about to install kubuntu 7.04 from scratch. The rule is "KEEP IT SIMPLE".

The list of software I'm going to install:

Utilities:
  • fctix
  • Dolphin
  • GNU Emacs 23 CVS version (Compile with XFT support)
  • vim without gtk
  • Yakuake
  • K3B
  • unrar
  • Visual SlickEdit 11
  • built-essential(gcc ,g++,cvs...)
Cyber:
  • Firefox (restore settings with FEBE)
  • Emesense
  • Samba
  • lftp
  • Ktorrent
  • mldonkey + sancho
  • Konversation
  • gSopcast
  • Akregator

Readers:
  • Stardict
  • Adobe Acrobat
  • Kchmview
  • digiKam
Media:
  • Amarok
  • Kaffeine
  • mplayer
Office Suite:
  • OpenOffice
  • Kontact Suite
  • Gimp

2007年6月6日

Got a New HDD

I bought a new 120G/8M/5400rpm hard disk for my laptop this Monday.
It's far more larger ,faster, quieter than the old one. That's cool.

2007年6月2日

Emacs Pearls (1) : Emacs23CVS版本安装配置手记

ver. Draft 1.0 , Feb.8th,2007


0.为什么学习Emacs

虽然早就耳闻Richard Stallman和Emacs的大名,但由于转入linux平台后选择编辑器时不习惯Emacs的C-x、M-x操作风格所以选择了Vim。有三个原因促使我决定开始学习Emacs:

1) SlickEdit 11.0.2在KUbuntu 6.10 Edgy下有一个Bug,在拖动Docking状态的bar时极易造成系统锁死(已解决);

2) 最近在看Eric Raymond的The Art of Unix Programming,其中ESR对Emacs有一句评价:"Emacs is ubdoubtedly the most powerful programmer's editor in existence."。我看了一下ECB效果,感觉确实比Vim的Taglist要强,这对我很有吸引力;

3) 二年级要开始写论文,而上学期Algorithm Design课程教材的LaTeX数学公式排版给我留下了极其深刻的印象,我决定花几天学习LaTex,而TeX的作者,超级牛力的Knuth教授使用的编辑器就是GNU Emacs.针对Emacs的LaTeX编辑也有一个很棒的preview插件auctex。

GNU官方网站上现在直接提供下载的是Emacs21稳定版,但Alpha状态的Emacs23提供了一些很棒的特性,比如对xft字体的支持(顺便说一下,我觉得目前最赏心悦目的编码界面是SlickEdit 11.0.2+DejaVu),所以决定CVS Emacs23Alpha的源代码,然后自己编译。

UbuntuChina.org.cn的论坛里有篇很不错的文章《Emacs23配置指南》(http://forum.ubuntu.org.cn/viewtopic.php?t=18274),本文大部分内容都是参照这个贴子的,对有些部分作了一定修改。


1.CVS源码

$sudo apt-get install ssh cvs (这个是为了到cvs上下载代码用的)

$sudo apt-get install texinfo (这个是为了方便后面的编译man包)

$export CVS_RSH="ssh"

$ cvs -z3 -d:pserver:anonymous@cvs.sv.gnu.org:/cvsroot/emacs co -r emacs-unicode-2 emacs

需要下载的代码总量大约90M,而且从我这里连接速度很慢,我居然花了5个小时。所以,请耐心等待。


2.编译和安装
$sudo apt-get install build-essential (对大部分用户来说,很可能已经安装过了)

$sudo apt-get build-dep emacs21

$sudo apt-get install xserver-xorg-dev

$sudo apt-get install xorg-dev

$sudo apt-get install libncurses5

$sudo apt-get install libncurses5-dev

$sudo apt-get install libgtk2.0-dev


$./configure --prefix=/usr --with-x-toolkit=gtk

$make bootstrap

$make info

$sudo make install

3.配置中文字体

我使用的启动命令和参数:
emacs --enable-font-backend --font "DejaVu Sans Mono-12"

当然如果习惯从Console启动可以alias一下,我是从katapult调Kmenu的内容,直接把启动参数写到Kmenu里了。如果不配置,英文显示非常完美,但中文显示不甚理想。

先安装一个truetype的中文字体,我选择了微软雅黑:
$cp msyh.ttf /usr/share/fonts/truetype

$fc-cache

修改配置文件~/.Xresources,在里面写入一行:

Emacs.FontBackend: xft

修改~/.emacs,写入以下内容:

;设置字体

(set-default-font "DejaVu Sans Mono-12")

(set-fontset-font (frame-parameter nil 'font)

'han '("Microsoft YaHei" . "unicode-bmp"))


4.其他常用配置选项
$vim ~/.emacs

写入:
(setq default-major-mode 'text-mode);一打开就起用 text 模式。这一项我没有设置

(global-font-lock-mode t);语法高亮

(auto-image-file-mode t);打开图片显示功能

(fset 'yes-or-no-p 'y-or-n-p);以 y/n代表 yes/no

(column-number-mode t);显示列号

(show-paren-mode t);显示括号匹配

(display-time-mode 1);显示时间,格式如下

(setq display-time-24hr-format t)

(setq display-time-day-and-date t)

(tool-bar-mode nil);去掉那个大大的工具栏

(scroll-bar-mode nil);去掉滚动条,因为可以使用鼠标滚轮

(mouse-avoidance-mode 'animate);光标靠近鼠标指针时,让鼠标指针自动让开,别挡住视线。

(setq mouse-yank-at-point t);支持中键粘贴

(transient-mark-mode t);

(setq x-select-enable-clipboard t);支持emacs和外部程序的粘贴

(setq frame-title-format "houdini@%b");在标题栏提示你目前在什么位置,把houdini改成自己的用户名

(setq default-fill-column 80);默认显示 80列就换行


5.安装开发组件CEDET

CEDET的官方网站在 http://cedet.sourceforge.net,CEDET表示Collection of Emacs Development Environment,它集成的speedbar,eieio,semantic等插件在编程的时候非常有用。

先下载 cedet-1.0beta3b.tar.gz,然后解压到~/myEmacs下,进入该目录,make之:

/home/houdini/myEmacs/cedet-1.0beta3b$make

在.emacs中加入以下内容:

;cedet开发插件

(add-hook 'texinfo-mode-hook (lambda () (require 'sb-texinfo)))

(load-file "/home/houdini/myEmacs/cedet-1.0beta3b/common/cedet.el")

(semantic-load-enable-code-helpers)

(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])



6.安装ECB

ECB是Emacs Code Browser的缩写。

下载ecb-2.32.zip后,解压到~/myEmacs下;

修改.emacs,添加以下行:

;ecb: Emacs Code Browser

(add-to-list 'load-path "/home/houdini/myEmacs/ecb-2.32")

(require 'ecb)



7.安装TEX插件auctex

(在此之前已经安装了texmacs,sudo apt-get install texmacs)

先到官方网站下载auctex-11.84.tar.gz,解压到~/myEmacs目录,进入auctex所在目录;

/home/houdini/myEmacs/auctex-11.84/$./configure

/home/houdini/myEmacs/auctex-11.84/$make

/home/houdini/myEmacs/auctex-11.84/$sudo make install

修改.emacs,加入:
;auctex

(load "auctex.el" nil t t)

(load "preview-latex.el" nil t t)

(setq TeX-auto-save t)

(setq TeX-parse-self t)

(setq-default TeX-master nil)

(add-hook 'LaTeX-mode-hook 'LaTeX-install-toolbar)

(add-hook 'LaTeX-mode-hook 'turn-on-auto-fill)

(add-hook 'LaTeX-mode-hook 'turn-on-reftex)


8.安装其他插件

8.1 color-theme.el提供了70种配色样式

下载color-theme.el,放到~/myEmacs下,修改.emacs,加入:

;配色方案

(load-file "/home/houdini/myEmacs/color-theme.el")

(color-theme-Dark-Blue);选择 darkblue的配色方案

选择Tools>Color Themes,这时出现一个 buffer在其中有颜色列表的名字,在相应的颜色上回车就可以预览这种配色方案,如果喜欢的话,就可把这种方案加入到 .emacs中,替换 darkblue这部分,有空格的中间用短横线连起来。


8.2 tabbar.pl为打开的缓冲区生成tab

下载tabbar.pl,放到~/myEmacs下,修改.emacs,加入:

;tabbar

(load-file "/home/houdini/myEmacs/tabbar.el")

(require 'tabbar)

(tabbar-mode)

;(global-set-key (kbd "C-=") 'tabbar-backward-group);;这几句的目的是绑定快捷键这样可以直接用快捷键操作

;(global-set-key (kbd "C--") 'tabbar-forward-group);;不过没有发现有很大用处,所以注释了。

(global-set-key (kbd "C-0") 'tabbar-backward)

(global-set-key (kbd "C-9") 'tabbar-forward)

8.3 如果愿意,Emac还可以干很多事,比如听音乐、收发email、上newsgroup……一个流传已久的说法是:Emacs其实是个操作系统,它只是恰巧可以用来编辑文件。我觉得PG每场能抢5个以上的篮板固然不是什么坏事,但RB这种活还是尽可能让C和PF去干吧。



9.进一步学习

Eric Raymond推荐的是Learning GNU Emacs[Cameron]和Programming With GNU Software[Loukides&Oram].