大家来学 VIM(一个历久弥新的编辑器)[一]

大家来学 VIM(一个历久弥新的编辑器)[一]

◎ 前言

监于仍有许多人还没找到顺手的编辑器,而许多想学 vi 的人又觉得无从下手,因此在
此提出一些个人的心得,希望能对这些朋友有点帮助。或许也减少一点 FAQ 吧!

真要深入的话,大多数的前辈都认为 vi 比 emacs(xemcas)还难学。但谁又真的需要熟悉
编辑器的任何功能呢?您大能够边用边学啊!需要用到的先学,其他的就放一边,只
要能善用一些常用到的功能,又何必要那么深入呢?而且您在使用当中经常会发现一
些新功能,这又会马上让您给赚到了。

文章是自由格式,会分成好几次来 post,不常写文章,各位就将就着看吧!没有网站
(要维护,太麻烦了!),只好放到newsgroup,这样看到的人可能会比较多,放在网
站的话也没人知道,打广告又伤感情。但如有人认为这系列文章更有点看头,您要拿
去放,悉听尊便,但不能是商业用途,而且也请告知一下,这样道德上比较完整。您
不告知我,也不会去告您啦!只是起毛子有点不好而已。:-)

听说许多 BBS 站很痛恨 hinet 的 news server,我也是!垃圾一大堆没人管,这样一来可
能有些站会挡 hinet 的信件,那只能算是无缘了!可避免被我污染。我现在是用 hinet 上
newsgroup,已不是学生了,没有学校资源可用。:-(


◎ 为什么选 VIM?

最最重要的原因是能够正确处理中文!其他如 elvis,vile,nvi在中文方面都会有问题。另外
就是许多作业系统都有 VIM 可用。当然假如您无需中文支援的话,也建议使用
elvis。vile则有 emacs 的味道,而 nvi 大概是最忠于原味的了!至于原始vi 的书已有中文

翻译(O’Reilly),各位到大一点的书局翻翻就有了。所以选定 VIM 做对象,兼述及
elvis,至少她不「排斥」中文。

※ VIM 代表 Vi IMproved。

※ elvis 可直接读 HTML(可用来上网,但只有文字),binary,manpage 及 TeX(LaTeX)(不是只显示程式
码喔!)档,和 XA CV配合也能够用中文,但不能真正处理就是了!

※ VIM 也不是真的能完全支援中文啦!有些细部的功能还是没法度。大概 6.0 版的时候会更好!不
过平常一般的编辑动作是没问题。

另一个原因是,VIM 是慈善软体(CharityWare),如有赞助或评比得奖(前不久刚得
过),所得皆救助乌干达孤儿,有点年纪的大概还记得"We Are The World" 这首歌吧!
全球的艺人一起合唱的,就是救助这些孤儿(应该没记错吧!)。您要使用当然是免
费,您要捐款赞助当然是不勉强啦!但假如有评比有奖金可拿的,您去投她一票就是
功德无量了。
另外 vim 的规则表示式(regular express)颇完整,您也可借这个机会学 regexp,因为您在
sed,awk,perl,less,grep...中也是要用到,早点会 regexp 您生活在 Linux(Unix)的世界会更美

好。学了 regexp 您会很鄙视 windows 系统中的寻找功能的。
由于是慈善软体,广结善缘,因此连中文繁体都支援,不简单。但也因此最近的版本
有点肥,但又不会太肥(比 xemacs 好多了啦!)。这么可爱的软体,能不用她吗?

◎ 何处抓 VIM(elvis)?
http://www.vim.org/
找个自己中意的 mirro 站抓。或许也顺便抓 Win32 的可执行档回来在 windows 系统中使
用。别忘了 runtime 档也要抓,否则会无法找到需要的档案来执行。
http://www.fh-wedel.de/elvis/index.html
ftp://ftp.pdx.edu/pub/elvis
也可试试 elvis(当然是免费的)。

CLE 的使用者也能够到:
ftp://linux.tmtc.edu.tw/pub/CLE/i386/RedHat/RPMS
抓最新版来安装,省时省力,而且还把必要的中文设定都弄好。现在最新的版本,
VIM 是 5.6,elvis 是 2.1-4。


◎ 编译安装

只讲重点,避免罗嗦!

VIM:
1. configure 时加上:
--enable-multibyte
--enable-xim 假如您使用 xcin2.3 的话,就不必了
--enable-fontset
--enable-gui=gtk
gtk 最好是 1.2.3 以上的版本,1.2.1 也是将就能够啦!大家都用 gtk 了,您不会想编
Athena 或 Motif(lesstif)吧!而且后两个版本的 GUI 就没有漂亮的icon 了(但有的人就是
讨厌这些无用的 icon)。

2. ~/.vimrc 加入:
set fileencoding=taiwan
set guifontset=英文字型,中文字型
设了 guifontset 就不能设 guifont 否则会优先使用
guifont,这样就很难找到中文字型了!console 下或 xterm下的话,就看您用什么字型就显

示什么字型,和guifontset 无关。


※ 英文字型要用固定字,建议使用危卵的 Andale Mono 这个字型,包您满意,可去危卵抓,免费
的。我个人是使用180 的 Andale 字,配上 220 的中文字,绝配(1024x768)!哦!不要告诉我,您的 X
server 还不能支援 TTF。

3. 使用 xcin2.3 的话还是得配合 XA CV 主要是输入的问题。使用 xcin2.5 的话就不必
XA CV 了,但您得另外设 xim,请进入 VIM 后 :help xim。很抱歉您可能得自己试看看
了,我并没有亲自试过。


4. locale 要设成 zh_TW.Big5,意思就是您的系统的 i18n支援不能太差,我是使用
gvim-chinese shell script来呼叫 gvim。

文章整理:西部数码--专业提供域名注册虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!