emacs,中文,中文输入,复制粘贴
(~/.Xresources通常是传送到 xrdb 以加载 X 资源数据库的文件的名称如果没有就创建这个文件)
左键选中,中键粘贴.
#####################################################
http://xumingming.sinaapp.com/819/emacs-cn-solution/
网址: http://xumingming.sinaapp.com/819/emacs-cn-solution/
对于中文用户来说,如何在emacs里面输入显示中文算是个不小的门槛,虽然网上有很多教程,但是有时候你按照教程来,问题还是依旧。比如网上教程都会让你在.emacs
文件里面添加下面一段,然后“一切都搞定了”
01
02
03
04
05
06
07
08
09
10
|
( set -language-environment 'Chinese-GB) ( set -keyboard-coding-system 'euc -cn) ( set -clipboard-coding-system 'euc -cn) ( set -terminal-coding-system 'euc -cn) ( set -buffer-file-coding-system 'euc -cn) ( set -selection-coding-system 'euc -cn) (modify-coding-system-alist 'process "*" 'euc -cn) (setq default-process-coding-system '(euc-cn . euc-cn)) (setq-default pathname-coding-system 'euc -cn) |
但是我用了这个就是不行,后来我发现可能大部分同学用的系统是中文的,我的是英文的,而英文系统的默认编码是utf-8
所以我换成了下面的才好使
01
02
03
04
05
06
07
08
09
10
|
( set -language-environment 'utf -8) ( set -keyboard-coding-system 'utf -8) ( set -clipboard-coding-system 'euc -cn) ( set -terminal-coding-system 'utf -8) ( set -buffer-file-coding-system 'euc -cn) ( set -selection-coding-system 'euc -cn) (modify-coding-system-alist 'process "*" 'utf -8) (setq default-process-coding-system '(euc-cn . euc-cn)) (setq-default pathname-coding-system 'utf -8) |
我还遇到过的另一个跟中文相关的问题就是刚开始输入不了中文 — 用CTRL + SPACE
怎么也调不出我的ibus输入法,后来经人指点才知道在英文系统下、并且使用了GUI版本的emacs的话CTRL + SPACE
被绑定到Mark Set
这个命令上去了,解决的办法有两个:
- 安装ibus-el, 这样你就可以在emacs中调用到ibus了。
- 使用terminal版本的emacs:
emacs -nw
。
希望对其它使用emacs的同学有用。
================
http://baohaojun.github.io/blog/2012/12/19/perfect-emacs-chinese-font.html
狠狠地折腾了一把Emacs中文字体
1 Emacs中文字体的最基本问题
从23版开始,Emacs的中文显示可以说很轻松就可以基本解决。比如网上这位 强者(强是他的名字) 的配置方法,可以自动适配当前机器上已有的中文字体,有好的就用好的,没 有就将就一点。我最近也把他的配置抄过来了。
但这么一抄抄出问题来了(其实问题以前也一直存在,但折腾一开始就停不下来,必须把问题解决为止。这是身为Emacs狂粉儿必须付的代价?)。
2 等高还是等宽?
我以前的配置一直都是等高。估计大部分同学的选择是等宽。其实它们都各有缺点。
2.1 等宽不等高的问题
我用的是自己写的输入法SDIM,跟其他Emacs自带的输入法一样,它的候选词是在 echo area里显示的,如果不等高的话,echo area的高度会不断跳动,在上下两 个窗口的时候,第二个窗口中的输入会很痛苦:echo area的高度变化会导致第二 窗口的位置也发生变化,从而产生抖动,眼睛吃不消。
2.2 等高不等宽的问题
org-mode里的中英文混排、尤其是在表格中,如果不选等宽(指的是一个中文字 符与两个英文字符等宽),表格就没法看了。邮件程序gnus的排版也会大受影响, 导致不够美观。
2.3 等高或者等宽共有的问题
不管你选的是等高还是等宽,只要你选,估计在放大、缩小的时候( C-x C-+
和 C-x C--
),英文可以缩放,中文不会;你用 put-text-property
等都 只会对英文有效,中文无效!搞什么嘛!除非你不选,这样出来的结果可能既不 等高也不等宽,从而表格排版问题和输入抖动问题同时存在,囧死算了……
3 解决的方法
问题的关键出在下面的 :size
参数。以我的英文字体为Monaco-14为例,中文 字体为 Microsoft Yahei 为例,如果我要等高的话,我需要把 :size
设为16, 如果我要等宽的话,要设为一个较小的值。
(set-fontset-font t 'han (font-spec :family "Microsoft Yahei" :size 16)
但只要你一设,等高还是等宽你只能选一个,附加赠送上面说的缩放的问题。如 果不设,则中文字体跟英文字体的size保持一致,也是14,根据不同中文字体可 能既不等高又不等宽。
解决的方法是不设 :size
,而是修改另一个变量:
(setq face-font-rescale-alist '(("Microsoft Yahei" . 1.2) ("WenQuanYi Zen Hei" . 1.2)))
并且一定要重启Emacs(见 这个坑爹的bug ,浪费我N多时间,都准备上gdb了)!
改完之后由于缩放对中文也有效,我只要把输入法的中文字体设小一点就可以了。见图:
配置脚本见 github 。
另外,这个设置在Windows上也可以用,但是好像不是很可靠(我见到它有时候不 起作用,不明白怎么回事),并且在我的Win7系统上必须把 微软雅黑
给加到 face-font-rescale-alist
里去(可以用 C-u C-x =
来看当前汉字是用什么字体显示的,从而决定应该在这个变量里加什么。另一个有用的函数是 describe-fontset
):
(setq face-font-rescale-alist '(("微软雅黑" . 1.2) ("Microsoft Yahei" . 1.2) ("WenQuanYi Zen Hei" . 1.2)))
见图:
===============
http://wwq0327.github.io/blog/2012/03/01/gentoo-emacs-fcitx/
终于搞定了emacs下的fcitx中文输入,一个大问题解决掉了,至于如何安装成功的,我自己也说不清楚了,修过的地方有xorg.conf
,还安装了新的字体,font-adobe-100dpi还font-adobe-75dpi,新在HOME中,新建了一个.profile
文件,内容:
1
|
|
如果这句起了作用的话,我就有些不明白了,我在locale.gen
中是设置了这一项的,而自己的locale显示是这样的:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
|
安装完这些后,重启动了一次,然后一切就OK了。另外发现扩展包不是自己所需要的那么多,我平时是将emacs插件放到.emacs.d
这个目录中的,在github.com创建了一个专门用来存放自己配置文件的仓库,有修改就同步一次,然后push到github,省得到处找插件。
===============
http://www.btsmth.com/show_topic.php?en_name=Emacs&gid=93744
环境变量,如果不想改其它程序和 shell 的环境变量在,启动时专给 emacs/emacsclient 加上即可,比如:
$ LC_CTYPE=zh_CN XMODIFIERS="@im=fcitx" emacs --daemon
$ LC_CTYPE=zh_CN XMODIFIERS="@im=fcitx" emacsclient
可以把这两个命令做成 alias 或者脚本放在自己方便的地方。
不是在locales里设,在 shell 里可以 export,或者执行时写在命令前面,象我前面示范的那样。
如果写 shell 脚本的话,文件里是这样:
#!/bin/sh
LC_CTYPE=zh_CN XMODIFIERS="@im=fcitx" emacs --daemon
把这个保存为 edaemon.sh
另一个用来启动 emacsclient
#!/bin/sh
LC_CTYPE=zh_CN XMODIFIERS="@im=fcitx" emacsclient -c -n
把这个保存为 eclient.sh
然后确定这两个脚本可执行,打开一个终端窗口,切换到脚本保存的目录:
chmod +x edaemon.sh eclient.sh
然后先执行第一个脚本,再执行第二个脚本。
http://www.zhengyuanhang.com/article/183.html
首先,本来CTRL+SPACE就是一个有意义的键,但是我用不上,于是把它给禁用了:
(global-set-key (kbd "C-SPC") nil)
但是,现在会提示C-SPC未定义,这就是因为我的locale的问题了。于是找到下面的方法:
修改~/.profile(我干脆修改/etc/profile),加上:
export LC_CTYPE="zh_CN.UTF-8"
重启emacs(有server记得关掉server),于是可以输中文了!
========
http://forum.ubuntu.org.cn/viewtopic.php?t=212467&f=17#p2743210
emacs-locale-zh-cn .deb
2013-5-22 更新:製作并上傳繁體中文語言包(共三種軟體包格式):
適用于: Emacs 22.3-24.3. 軟體包格式說明:
* (.deb) for Debian/Ubuntu/
* (.tar.gz) for Linux/BSD/Unix
* (.zip) for Windows/
https://sourceforge.net/projects/emacsl ... ale-zh-cn/
2013-4-7 更新:
上传附件到 https://sourceforge.net/projects/emacsl ... cale-zh-cn
分身链接:
http://www.mirrorservice.org/sites/down ... ale-zh-cn/
更新日期:2013-01-09
详细更新记录见 12 楼
说明:
emacs-locale-zh-cn : Emacs 简体中文汉化包
emacs-locale-dev :Emacs 菜单翻译开发包
发送主题为"emacs-locale"的电子邮件到 emacs-locale@qq.com ,
即可获得下载地址(附件已上传到 sourceforge)。
* 文件101 (DEB格式):
文件名: emacs-locale-zh-cn_1:22.3-24.3-1~careone14_all.deb
适用于: Emacs 22.3-24.3 for Ubuntu/Debian
说明:Emacs 简体中文汉化包
更新日期:2013.1.8
文件大小:3.9 M
已下载 次(2013.1.8 -- ?)
----------------
* 文件102 (tar.gz 格式):
文件名: emacs-locale-zh-cn_1:22.3-24.3-1~careone14_all.tar.gz
适用于: Emacs 22.3-24.3 for Unix/Linux/BSD
说明:Emacs 简体中文汉化包
更新日期:2013.1.8
文件大小:3.9 M
已下载 次(2013.1.8 -- ?)
----------------
* 文件103 (.zip 格式):
文件名: emacs-locale-zh-cn_1:22.3-24.3-1~careone14_windows.zip
适用于: Emacs 22.3-24.3 for Windows
说明:Emacs 简体中文汉化包
更新日期:2013.1.8
文件大小:约 4 M
已下载 次(2013.1.8 -- ?)
----------------
以下文件为开发包:
注:开发包仅供开发者翻译 Emacs 菜单为其它语言(如繁体中文等),
或对其它英文版的.el文件和插件进行翻译补充。普通用户不需要下载!
* 文件201 (开发包,deb 格式):
文件名:emacs-locale-dev_1:22.3-24.3-1~careone14_all.deb
适用于: Emacs 22.3-24.3 for Ubuntu/Debian
说明:Emacs 菜单翻译开发包
更新日期:2013.1.8
文件大小:82.3 K
下载地址: https://sourceforge.net/projects/emacsl ... ocale-dev/
已下载 次(2013.1.8 -- ?)

被下载 10 次
* 文件202 (开发包,tar.gz 格式):
文件名: emacs-locale-dev_1:22.3-24.3-1~careone14_all.tar.gz
适用于: Emacs 22.3-24.3 for Unix/Linux/BSD
说明:Emacs 菜单翻译开发包
更新日期:2013.1.8
文件大小: 78.7 K
下载地址: https://sourceforge.net/projects/emacsl ... ocale-dev/
已下载 次(2013.1.8 -- ?)
----------------
emacs-locale Tips
* 如何使用 emacs-locale ?
先下载并安装 emacs-locale-zh-cn.deb (或 .tar.gz).
** 请运行 emacs-locale.zh_CN -h 来查看详细功能。
** 还可以运行 emacs-locale.zh_CN --extra 来查看额外的附加功能。
* 如何实现不同用户使用不同语言的 Emacs 菜单界面?
方法(以 Emacs 24.x 为例):
1.下载并安装 emacs-locale-zh-cn.deb (或 .tar.gz).
安装后所有用户默认界面为简体中文(当前汉化包支持 Emacs 22.3-24.3);
2.以 root 用户身份,将菜单从简体中文重置为英文界面
(-g 参数对所有用户有效);
sudo emacs-locale.zh_CN --global-reset 24
3.以普通用户身份,将菜单设为简体中文(-u 参数仅对当前用户有效);
emacs-locale.zh_CN -u 24 zh_CN
4.以普通用户身份,将菜单设为繁体中文(当前暂时未对繁体中文实现翻译);
如果有人翻译了繁体中文,这个软件包也许应叫做 emacs-locale-zh-tw.deb
emacs-locale.zh_CN -u 24 zh_TW
5.如果以后有人翻译了其它语言包,可以用上述命令随意切换为任意语言。
==================================
http://forum.ubuntu.org.cn/viewtopic.php?f=155&t=268292
发现即使修改了/etc/gtk-2.0/gtk.immodules
fcitx也只有在中文或者美国环境(en_US.UTF-8)环境下才能激活.
连en_AU.UTF-8都不行, 更不要说其他的环境如德文, 日文.
歧视呀!
弄了很久, 终于找到了解决方法.
先关闭fcitx
用ghex(16进制编辑器)打开/usr/bin/fcitx
搜索GB找到了如下字符串
在"编辑"菜单里选替代,
比如你要用en_HK环境
就把"en_US"替代成"en_HK"就行了, 然后保存.(注意大小写)
然后打开fcitx就行了.
################################################################################
https://wiki.archlinux.org/index.php/Emacs_%28%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87%29
Emacs是一个扩展方便,定制能力强,文档丰富的动态交互编辑器。Emacs的核心构建在Emacs Lisp解释器之上,其中Emacs Lisp是大部分Emacs的内建函数和拓展模块的实现语言。Emacs可以在命令行界面下(CLI)工作良好,在图形界面系统下,使用GTK作为默认的图形界面构建工具。在文本编辑能力上,Emacs常常拿来和vim比较。
Contents |
安装
Emacs有众多变体发行版本(有时候称作emacsen). 最常见的莫过于 GNU Emacs,在Official Repositories可以找到
$ pacman -S emacs
另外一个常见的变体就是xemacs.
快速入门
一般印象是Emacs十分复杂,学习曲线陡峭,但很多资深学习者并不这样认为,反而认为其非常易懂和可定制。因为其源码和配置文件语义化程度较高。 简单了解下自定义和高扩展带来的好处花不了多少时间。何况还有很多成熟的功能拓展模块,很方便添加,可以让Emacs为任何文本编辑的需求配置强大的环 境。
Emacs自带一个入门教程,你可以点击欢迎界面上的第一个链接来打开它; 或者从菜单栏中选择Help->Emacs Tutorial,或者按'F1'键然后按't'. 我们设计这篇文章来为你在Emacs入门学习中提供额外的资源。
Emacs也包括一系列引用链接,既有适合初学者的内容,也有骨灰级玩家所喜爱的.参见/usr/share/emacs/<version>/etc/refcards/
(将<version>换成你的emacs版本).
运行Emacs
图形界面下打开方式
图形界面下可以直接点击图标打开。
虚拟终端下的常见方式
打开Emacs:
$ emacs
不打开图形界面,直接在终端中运行:
$ emacs -nw
也可以马上打开一篇文章:
$ emacs filename.txt
无色运行
默认的emacs会带有颜色主题,如果不需要,可以关闭之:
$ emacs -nw --color=no
作为守护进程
Emacs由于每次启动都需要加载大量自定义的配置文件,所以打开时候会有点慢。从Emacs23开始, Emacs可以以守护进程的形式运行,这样每个用户都可以链接到Emacs。以守护进程运行Emacs:
$ emacs --daemon
你可能在启动时打开一个守护进程,然后再将守护进程链接到窗口。另外,也可以将图形和终端客户端同时链接到守护进程上,这样启动图形界面速度就很快了。
如果你仅仅想链接到守护进程,用下面的命令(注意,在桌面环境下这个命令会打开一个图形客户端,而在像tty这种命令行下,它会打开一个命令行版的emacs):
$ emacsclient
如果你想在桌面环境下打开一个命令行版的emacs,使用下面的命令:
$ emacsclient -t
另外,你可以在后面加上 -a ""
参数. 现在,你第一次使用这个命令时,它会把emacs作为守护进程来启动,它会留在后台以加快以后的启动速度(也会记住缓冲区).
更聪明点,你可以在.bashrc中加上下面的别名:
$ alias e0='emacs --daemon' #启动守护进程 $ alias e1='emacsclient -t -a ""' #在终端中开启emacs $ alias e2='emacsclient -c -a ""' #启动emacs图形界面
在xfce桌面环境中,如果你想使用 emacsclient -c 来代替 emacs %f 打开一个新文件, 你可以修改你的 /usr/share/applications/emacs.desktop 文件,把下面这一行
$ Exec=emacs %f
修改为
$ Exec=emacsclient -c
使用这种方法,每次你打开一个文件时就只会启动客户端,因此速度非常快!
基本术语和约定
Emacs使用一些刚开始看起来很奇怪的术语和约定,我们会在合适的时候介绍。但是,对于部分术语,我们必须要在前面介绍,因为它们对于使用Emacs来说是非常基础的。
第一个要介绍的术语是缓冲区的概念。一个缓冲区就是Emacs中的数据的一种表示方式,比如,当使用Emacs打开一个文件 时,这个文件从磁盘中被读出来,它的内容被存储在了缓冲区里面,它的内容可以在这个缓冲区里面被编辑并且可以重新写进磁盘中。缓冲区中的内容不仅仅可以是 文本,也可以是图片和widget。现在,让缓冲区可以显示应用程序的工作正在进行!换个角度思考,在磁盘中数据是以文件形式保存的,而在Emacs中, 数据是以缓冲区的形式存在的。
在Emacs中,对于按键组合的约定你可能很陌生。比如:
C-x 代表 Control-x
M-x 代表 Meta-x
举个例子,退出Emacs使用下面的按键组合C-x C-c。这个可以读做,"按住Ctrol键再按'x',释放,再按住Control键再按'c'。虽然Emacs提供了一个菜单栏,但是强烈建议学习使用按键组合。这个指南将参考Emacs的按键绑定的约定。
移动
光标移动和其它图形编辑器非常类似,鼠标和方向键可以用来改变光标(在Emacs中称为点)的位置。在Emacs中,方向键代表的标准移动命令也有其它辅助的绑定。向前(forward)移动一个字符,使用 C-f,向后(back)移动一个字符,使用C-b。 C-n 和 C-p 分别用于移动到下(next)一行和移动到上(previous)一行。再声明一下,强烈推荐使用组合键而不是使用方向键和鼠标。
可以想像,Emacs提供了更多的光标高级移动命令,包括移动一个单词和一个句子。 M-f 表示光标向前移动一个单词, M-b 表示向后移动一个单词。类似地,M-e 把光标移动到一个句子的末尾(end), M-a 移动到句子的开头。
直到现在,所有的移动命令都是和光标有关的。M-< 表示把光标移动到缓冲区的开头,和它相反的是 M->, 把光标移动到缓冲区的末尾。要把光标移动到某一特定行,使用M-g g. M-g g 会提示输入行号。同样,要移动到一行的开头或者结尾,分别使用C-a 和 C-e。
文件和缓冲区
Emacs 提供了一系列命令来对文件操作,其中最常用的会在这里详细说明。C-x C-f 用来打开一个文件(在Emacs中叫做'查找文件')。如果指定的文件不存在,Emacs会打开一个空的缓冲区。保存一个缓冲区会创建一个包含缓冲区内容的文件。C-x C-s 就是用来保存缓冲区的。要保存一个文件名不一样的缓冲区,使用C-x C-w (这其实是'write-file'这条命令的助记符), 它会在写入磁盘之前提示输入新文件名。也可以使用C-x s来保存所有的缓冲区, 如果某个缓冲区在上次保存之后被修改了,则会提示进行哪项操作。
很多互动的命令,比如"find-file" 或者 "write-file" 会在Emacs窗口的底部栏提示输入。这栏称为minibuffer。和很多*nix shell一样,minibuffer支持很多基本的操作和TAB补全。按两下<TAB>可以显示一个补全的选项列表,并且,如果你喜欢,可以用鼠标从列表中选择。minibuffer的补全在很多输入(包括命令和文件名)中都可以用。
minibuffer也提供一个记住历史的特性。通过Up Arrow 或者 C-p可以取得这条命令的上一个条目.
要在任意时刻退出minibuffer,使用C-g.
打开几个文件后,切换缓冲区是非常必要的。打开一个指向那个缓冲区的文件可以切换到那个缓冲区。但是这不是最高效的方法。Emacs提供C-x b来提示要显示的新缓冲区(这里可以使用TAB补全)。输入一个不存在的缓冲区,则会新建一个空的缓冲区。
使用C-x C-b可以显示所有打开缓冲区的列表。如果某个缓冲区不需要使用了,使用C-x k来关掉它。
编辑
Emacs 内建有很多编辑命令。可能最重要的还没有介绍的是'undo',它的快捷键为 "C-_" 或者 "C-/" .移动光标的命令通常都有对应的删除字符的命令。例如, M-<backspace> 可以用来删除一个光标后的词,M-d可以用来删除光标前面的一个词。删除光标至行尾或者句尾的字符可以分别用C-k 或者 M-k。
通常我们都约定一行不能超过80个字符。这是为了代码的可读性,尤其是一行中的字符可能会接触到窗口边缘。在Emacs,自动地插入或者删除换行符称为filling。我们可以用 M-q 重整当前的段落(重新分配换行符,删除段落中多余的空格和tab键)
字符和单词可以分别通过 C-t 和 M-t 进行交换。比如: Hello World!
→ World! Hello
单词的大小写也可以调整。M-l 把光标处的单词变成小写 (HELLO
→ hello
); M-u 把光标处的单词变成大写(hello
→ HELLO
), M-c 把光标处的单词的第一个字母变成大写,并把后面的变成小写(hElLo
→ Hello
).
#################################################################################
http://man.chinaunix.net/newsoft/Emac/book.html
Emacs 中文化指南
Jerry 最后更新时间: 2004年3月21日
本文件仅收集我个人在使用Emacs中的一些经验和技巧, 本文可以随意转载, 无需通知作者, 本文最新文档可以从http://zhdotemacs.sourceforge.net上获得, E-mail: unidevel@yahoo.com.cn. 不定期更新 如有错误, 敬请指出, E-mail: unidevel@yahoo.com.cn
- Table of Contents
- 1 最近更新
- 1.1 2004年08月11日
- 1.2 2004年05月01日
- 1.3 2004年04月20日
- 1.4 2004年03月21日
- 1.5 2004年01月20日
- 1.6 2003年12月19日
- 1.7 2003年12月17日
- 2 Emacs 安装
- 2.1 下载Emacs源代码
- 2.2 安装Emacs
- 2.3 遇到问题怎么办
- 2.4 Emacs 基本编辑命令(1)
- 2.5 Emacs基本编辑指令(2)
- 3 Emacs 中文设置
- 3.1 系统对多语言的支持性
- 3.1.1 Console环境
- 3.1.2 Windows系统
- 3.1.3 X Window系统
- 3.2 中文设置
- 3.2.1 通用配置
- 3.2.2 Windows配置
- 3.2.3 X Window设置
- 3.3 Emacs输入法
- 4 一些常用的Emacs功能
- 5 Emacs 扩展包安装
- 5.1 Tramp -- Transparent Remote Access, Multiple Protocol
- 5.1.1 tramp简介
- 5.1.2 Tramp原理
- 5.1.3 tramp的安装及使用
- 5.1.4 常见问题
- 5.2 session
- 5.2.1 session简介
- 5.2.2 session的使用
- 5.3 Emacs mew -- 强大的Emacs Email客户端
- 5.3.1 Emacs Mew的安装
- 5.3.2 Emacs mew配置
- 5.3.3 常见问题
- 5.3.4 一些mew的屏幕截图
- 5.4 Color Theme -- 让你的Emacs更多彩
- 5.4.1 color-theme的安装
- 5.4.2 color-theme的使用
- 6 一些小巧的Emacs lisp
- 6.1 tab-display.el
- 6.2 wb-line-number.el
- 6.3 keisen-mode
- 7 自己写的一些Emacs lisp
- 8 Emacs中一些有趣的功能
- 8.1 Emacs中的游戏
- 9 迷你型的Emacs
- 9.1 zile 中文设置
- 10 Emacs网络资源汇总
Chapter 1 最近更新
Jerry1.1 2004年08月11日
-
更新Section 10.2中的mule-gbk的链接.
-
由于更换了操作系统,以前使用FreeBSD docproj编写的文档暂时无法更新
1.7 2003年12月17日
-
新增 Section 4.3 time-stamp -- 记录修改时间.
-
修改 Section 3.2.2 Windows配置, 新增不使用intlfonts的配置.
-
修改 Section 10.1 中文资源, 新增邮件列表.
Chapter 2 Emacs 安装
JerryEmacs可以运行于*NIX及Windows平台, 我用它来搭建统一的开发环境
不过首先最好认识一下Stallman.
2.1 下载Emacs源代码
Emacs最新版本的源代码可以从http://ftp.gnu.org/pub/emacs上获得, 或者通过cvs获得开发版及稳定版的源代码, 我一般选择稳定的版本, 毕竟很多扩展包都经过了测试, 使用起来稳定可靠(Windows下的应该除外, 我用过几个版本, 总是会出一些问题, Linux上的Emacs比较稳定, 通过FreeBSD ports安装的Emacs也比较稳定), 不过感觉Emacs 21.3对中 文支持并不如从CVS中编译的好, 因此本文就是使用CVS下载Emacs的源代 码在FreeBSD 5.1-Current下编译的.
2.2 安装Emacs
FreeBSD下推荐通过ports或者安装包直接安装, 也可以从cvs中下载最新代码编译, 编译时则可以使用./configure调整编译选项进行编译, 请不要使用--without-xim选项, 该选项使Emacs不使用XIM输入协议, 因此使用该选项则不能使用像chinput, xcin等使用XIM协议的输入法, 虽然Emacs子带输入系统, 但是中文的输入实在太差, 后面我会讲到如何扩展Emacs的输入法, 我在FreeBSD下编译Emacs(CVS)的命令如下,
$script emacs_build.log $CPPFLAGS=-I/usr/local/include CXXFLAGS=-I/usr/local/include \ CFLAGS=-I/usr/local/include LDFLAGS=-I/usr/local/lib \ ./configure --prefix=/dtroot --with-xpm --with-jpeg \ --with-tiff -with-gif --with-png --with-x --with-xim $make -j4 bootstrap $make install $exit
或者使用--with-gtk, 来使用gtk的外观
$script emacs_build.log $CPPFLAGS=-I/usr/local/include CXXFLAGS=-I/usr/local/include \ CFLAGS=-I/usr/local/include LDFLAGS=-I/usr/local/lib \ ./configure --prefix=/dtroot --with-xpm --with-jpeg \ --with-tiff -with-gif --with-png --with-x --with-xim --with-gtk $make -j4 bootstrap $make install $exit
假如你是用cvs获得的源代码, configure后应该使用 make bootstrap编译
2.4 Emacs 基本编辑命令(1)
Emacs的强大功能相信大家都已经听说过了, 熟悉vi或windows下IDE 工具开始使用时Emacs会觉得十分难受. 这一节讲一下基本的几个编译命 令, 首先说明一下以`C-'开头的是`Ctrl'键加上后面的键一块按下, 例如`C-x 0'就是Ctrl键和x键一块按下, 然后再按下0, 以`M-'开头的就是META键, 一般就是Alt键.
-
`C-x C-f 文件名'-- 打开文件
-
`C-x C-s'-- 保存文件
-
`C-x C-c'-- 退出Emacs
-
`C-x u'-- 取消上一次操作
有了这四个基本指令就可以进行通常的编辑保存功能了, 不过现在你 肯定感觉不到Emacs的强大功能. 甚至会觉得Emacs还不如Windows的 Notepad, 别急, 熟悉一下Emacs后我们再来感受Emacs的超强功能.
2.5 Emacs基本编辑指令(2)
我们继续讲解Emacs的基本指令, 这一部分讲解基本的光标指令, 你 可以用Emacs打开一个文件, 我们一起来"运动"
-
`C-v'-- 向后翻一页
-
`M-v'-- 向前翻一页
-
`C-l'-- 将当前行居中
-
`C-f'-- 向前移动一个字符
`M-f'-- 向前移动一个单词
-
`C-b'-- 向后移动一个字符
`M-b'-- 向后移动一个单词
-
`C-n'-- 向下移动一行
`C-p'-- 向上移动一行
-
`C-a'-- 移至当前行的第一个字符
`M-a'-- 移至当前所在句子的第一个字符
-
`C-e'-- 移至当前行的最后一个字符
`C-p'-- 移至当前所在句子的最后一个字符
-
`M-<'-- 移动到当前窗口的第一个字符
`M->'-- 移动到当前窗口的最后一个字符
注意: `M-<'输入时要同时键入`Alt', `Shift'和`,'
这些命令前可以加入`C-u N'表示重复N次, 例如向下移动8行可以这 样按键`C-u 8 C-n'
好了, 基本的移动指令就介绍完了, 可能这些键使用起来是不太顺手, 在本章最后, 我们将讲一下如何定制这些键, 使Emacs更加符合个人的使用 习惯.
Chapter 3 Emacs 中文设置
JerryEmacs发展到今天, 功能已经十分完善和强大, Emacs有强大的多语言编辑功 能, 当然设置的得当才能发挥出Emacs的强大功能, 下面讲述一下在Windows 以及X Window上的多语言的设置问题
3.1 系统对多语言的支持性
3.1.1 Console环境
这里的Console是像Windows下的cmd, command, Unix下的console, tty 的统称, Console环境下, 只要本身能正常显示中文就可以了, Emacs自 带输入法, 基本上不用怎么设置就可以使用
3.2 中文设置
3.2.1 通用配置
这一部分是所有系统都要设置的
(set-language-environment 'Chinese-GB) (set-keyboard-coding-system 'euc-cn) (set-clipboard-coding-system 'euc-cn) (set-terminal-coding-system 'euc-cn) (set-buffer-file-coding-system 'euc-cn) (set-selection-coding-system 'euc-cn) (modify-coding-system-alist 'process "*" 'euc-cn) (setq default-process-coding-system '(euc-cn . euc-cn)) (setq-default pathname-coding-system 'euc-cn)
3.2.2 Windows配置
这一部分设置Windows下的字体, 解压intlfonts-1.2, 设置变量 fonts-dir为所安装的字体目录
(setq fonts-dir "<path to intlfonts>") (setq bdf-directory-list (list (expand-file-name "Asian" fonts-dir) (expand-file-name "Chinese" fonts-dir) (expand-file-name "Chinese.BIG" fonts-dir) (expand-file-name "Chinese.X" fonts-dir) (expand-file-name "Ethiopic" fonts-dir) (expand-file-name "European" fonts-dir) (expand-file-name "European.BIG" fonts-dir) (expand-file-name "Japanese" fonts-dir) (expand-file-name "Japanese.BIG" fonts-dir) (expand-file-name "Japanese.X" fonts-dir) (expand-file-name "Korean.X" fonts-dir) (expand-file-name "Misc" fonts-dir) (expand-file-name "TrueType" fonts-dir) (expand-file-name "Type1" fonts-dir))) (setq w32-bdf-filename-alist (w32-find-bdf-fonts bdf-directory-list)) (create-fontset-from-fontset-spec "-*-fixed-medium-r-normal-*-16-*-*-*-c-*-fontset-bdf, chinese-gb2312:-*-*-medium-r-normal-*-16-*-*-*-*-*-gb2312.1980-*, japanese-jisx0208:-*-*-medium-r-normal-*-16-*-*-*-c-*-jisx0208.1983-*, katakana-jisx0201:-*-*-medium-r-normal-*-16-*-*-*-c-*-jisx0201*-*, latin-jisx0201:-*-*-medium-r-normal-*-16-*-*-*-c-*-jisx0201*-*, japanese-jisx0208-1978:-*-*-medium-r-normal-*-16-*-*-*-c-*-jisx0208.1978-*, thai-tis620:-misc-fixed-medium-r-normal--16-160-72-72-m-80-tis620.2529-1, lao:-misc-fixed-medium-r-normal--16-160-72-72-m-80-MuleLao-1, tibetan-1-column:-TibMdXA-fixed-medium-r-normal--16-160-72-72-m-80-MuleTibetan-1, ethiopic:-Admas-Ethiomx16f-Medium-R-Normal--16-150-100-100-M-160-Ethiopic-Unicode, tibetan:-TibMdXA-fixed-medium-r-normal--16-160-72-72-m-160-MuleTibetan-0") (setq font-encoding-alist (append '(("MuleTibetan-0" (tibetan . 0)) ("GB2312" (chinese-gb2312 . 0)) ("JISX0208" (japanese-jisx0208 . 0)) ("JISX0212" (japanese-jisx0212 . 0)) ("VISCII" (vietnamese-viscii-lower . 0)) ("KSC5601" (korean-ksc5601 . 0)) ("MuleArabic-0" (arabic-digit . 0)) ("MuleArabic-1" (arabic-1-column . 0)) ("MuleArabic-2" (arabic-2-column . 0))) font-encoding-alist)) (set-default-font "fontset-bdf")
注意: 上面的中文字体的大小只能为16,24,40,48, 因为intlfonts 中的BDF字体只有这几种大小的中文字体能匹配上面的chinese-gb2312的配置, 此外在Emacs 21.3中还可以这样设置
(set-language-environment 'Chinese-GB) (set-default-font "-outline-新宋体-normal-r-normal-normal-12-*-96-96-c-*-gb2312")
假如你不知道系统的字体就M-x set-default-font, 然后使用TAB 键来看一下补全的字体信息
3.2.3 X Window设置
X的中文设置我就不说了, 自己搞定吧, 我拷贝了Windows的simsun.ttc 和mingliu.ttc来使用, 看简繁体中文不成问题了, 设置好X的字体后, 通过配置X Resources, 来设置emacs的字体, 通常就是配置$HOME/.Xdefaults, 1024x768的分辨率下可以设置字体为8x16, 800x600可以设置7x14的字体就可以达到字体等宽的效果
emacs.font: 8x16 emacs.paneFont: 8x16 Emacs.pane.menubar.font: 8x16 Emacs.foreground: white Emacs.background: black emacs.geometry: 100x32
3.3 Emacs输入法
Emacs自带多种输入法, 当然不止一种语言了, 但它自带的中文输入 法实在是太......, 想必不会有谁去用它的中文输入法来输入汉字吧, 不过 还是有几种比较好的输入法像自然码等, 我从fcitx和xcin的源码包中转换出 几种输入法, 有五笔, 注音, 双拼等, 下面说一下使用方法, 可以从 http://sourceforge.net/projects/zhdotemacs/ 下载到emacsim.tar.bz2
安装及使用方法, 参见安装包中的INSTALL文件
-
安装输入法
$tar -xvjf emacsim.tar.bz2 $cd emacsim $cp -R gb big5 ${emacs-install-dir}/share/emacs/${emacs-version}/leim
-
配置输入法, 拿gb/pingyin.el为例, 把下面的代码加入到文件 ${emacs-install-dir}/share/emacs/${emacs-version}/leim/leim-list.el中
(register-input-method "chinese-pinyin-gb" "Chinese-CNS" 'quail-use-package "拼音" "汉字输入∷【拼音】∷" "gb/pinyin")
-
输入法的使用, 按照上面的例子, 使用 `M-x set-input-method RET chinese-pinyin-gb RET' 就可以使用了
Chapter 4 一些常用的Emacs功能
Jerry这一部分对Emacs安装后自带的一些实用的扩展功能进行讲解
4.1 auto-insert -- 自动插入功能
auto-insert是一个十分有用的功能, 比如我们在写一个C语言的头文 件时, 一般会加入下面的代码
#ifndef XXX_H #define XXX_H #endif /* XXX_H */
auto-insert就方便了我们, 不用每次都要手工输入这些代码, 新建 一个头文件时, 它会询问是否要加入这些自动生成的代码, 下面来看一下 auto-insert如何使用
`M-x auto-insert'会根据当前的mode在新建的文 件插入一些预定的文本, 如果想在打开文件时自动插入的话, 将下面的代 码加入~/.emacs中
(add-hook 'find-file-hooks 'auto-insert)
修改`auto-insert-alist'可以定制插入的模板, 可以使用`defint-auto-insert'来加入或者修改`auto-insert-alist'
变量`auto-insert'用来定制自动插入时的动作类 型
-
`nil'什么都不作, 即不执行插入动作
-
`t'根据auto-insert-alist和当前的mode执 行对应的插入动作
-
其他值同`t', 但是自动插入文本后, 不置 文档修改标志
变量`auto-insert-query'定义自动插入文本前是 否询问,`Non-nil'表示自动插入文本前要询问.
变量`auto-insert-prompt'设定询问的语句, 如 果有%s, 则将被替换为执行插入的条件
变量`auto-insert-directory'设定模板的路径, 注意必须以`/'结尾
下面是一个比价完整的配置
(setq auto-insert t) (setq auto-insert-query t) (add-hook 'find-file-hooks 'auto-insert) (setq auto-insert-directory "~/insert/") (define-auto-insert '("^build\\.xml\\'" . "Ant编译脚本") "build.xml")
常见问题, auto-insert-directory的值必须以`/'结尾, 否则就不能 正常工作
4.2 QuickURL -- 快速插入地址
QuickURL允许我们快速的插入一个单词对应的地址, 也允许加入新的 地址, 这有点像浏览器的收藏夹, 对于经常写这些文档的我来说十分方便实 用, 同时也可以收藏一些好文章的地址.
QuickURL是Emacs自带的, 所以不需要特殊的配置就可以直接使用, 常用功能如下:
-
`quickurl-ask'在当前位置插入所选的URL
-
`quickurl-add'加入新的URL
-
`quickurl-list'列出所有的URL
-
`quickurl-edit'编辑所有的URL
QuickURL还有一些其他的指令, 自己看看帮助吧, 希望它能对你有用
4.3 time-stamp -- 记录修改时间
打开time-stamp可以记录最后运行time-stamp的时间, 所以一般将 time-stamp 加入 write-file-hooks 中, 记录文件的最后修改时间, ~/.emacs 配置如下:
(add-hook 'write-file-hooks 'time-stamp) (setq time-stamp-format "%:u %02m/%02d/%04y %02H:%02M:%02S")
上面设置写入文件时执行time-stamp, 并设置时间格式为"%:u %02m/%02d/%04y %02H:%02M:%02S", 缺省的情况下, 在所编辑文件的前八行内插入如下标记
Time-stamp: <>
或者
Time-stamp: " "
Emacs在保存时就会运行write-file-hooks中的time-stamp, 从而加 入修改时间, 结果类似下面所示
Time-stamp: <jerry 12/17/2003 12:00:54 (unidevel.com)>
或者
Time-stamp: "jerry 12/17/2003 12:00:54 (unidevel.com)"
要使用中文表示, 可以这样设置
(setq time-stamp-start "最后更新时间:[ ]+\\\\?") (setq time-stamp-end: "\n") (setq time-stamp-format: "%:y年%:m月%:d日")
上面设置了如果碰到"最后更新时间:"的字样, time-stamp就将其后 面的字符替换为当前时间的"XXXX年XX月XX日", 注意, time-stamp-end的结束符 为换行符, 所以"最后更新时间:"行后所有字符都将无条件被替换为"XXXX年XX月XX日" 格式的时间, 本文首页上的更新时间就是这样做出来的
4.4 我最最讨厌的
-
不要打入 TAB 时总是听到 PC 喇叭嘀嘀嘀的叫
(setq visible-bell t)
-
不要总是没完没了的问yes or no, 为什么不能用 y/n
(fset 'yes-or-no-p 'y-or-n-p)
-
为什么不能显示个时间什么的
(display-time)
-
为什么不显示当前所在的行号和列号
(column-number-mode t)
-
为什么不能像Windows下编辑器那样, 高亮显示要拷贝的区域
(transient-mark-mode t)
-
我要显示匹配的括号
(show-paren-mode t)
-
为什么使用语法显示的大文件在移动时如此之慢
(setq lazy-lock-defer-on-scrolling t) (setq font-lock-support-mode 'lazy-lock-mode) (setq font-lock-maximum-decoration t)
-
不要那个如此大的工具条
(tool-bar-mode -1)
-
在mozilla, openoffice等拷贝的中文文字无法正确粘贴在Emacs中(Emacs 21.3 发布版有此问题, 至少在我的FreeBSD下是这样的)
(set-clipboard-coding-system 'ctext)
-
启动Emacs报错, ~/.emacs中有问题, 如何忽略错误
(condition-case err (progn (require 'xxx) ) (error (message "Can't load xxx-mode %s" (cdr err))))
如上所示, 可以截获progn内部出错, 在mini-buffer下打出错误信息
-
不要生成临时文件
(setq-default make-backup-files nil)
Chapter 5 Emacs 扩展包安装
JerryEmacs的扩展包可谓无所不有, 我只把关于开发的一些常用工具的安装 和配置及问题写一下
5.1 Tramp -- Transparent Remote Access, Multiple Protocol
5.1.1 tramp简介
tramp提供给我们的是可以使用Emacs对本地/远程的文件进行编辑, 保存, 版本管理等, tramp的功能十分强大, 它可以使用多种协议(telnet, ftp, ssh等)进行文件的获取和保存, 也可以使用这些协议的组合来编辑和保存文件, 对本地文件的一个比较方便的操作是su, 即使用其他用户编辑只有这些用户才有权限进行编辑的文件. 例如以普通用户jerry运行Emacs 对只有root可以编辑的/etc/inetd.conf进行编辑和保存, 免去了再开一个shell以root登陆编辑的步骤
5.1.2 Tramp原理
Tramp的原理是使用标准的协议ftp, rsync, smb等直接获取和保存文件, 使用ssh, telnet, rsh等加上uuencode, uudecode等一些编码解码程序对文件进行 获取和保存
5.1.3 tramp的安装及使用
我使用的是tramp-2.0.33, 它加入了对smb支持(暂时还不是很完善, 如编辑一些中文名称的文件), 及对ftp的改进. 安装过程如下:
-
假设安装到/tmp/tramp目录下, 解包tramp到/tmp/tramp下
$tar -xvzf tramp-2.0.33.tar.gz $mv tramp-2.0.33 /tmp/tramp
-
编译tramp
$./configure --with-emacs $gmake
-
安装tramp, 在~/.emacs中加入下面的代码
(add-to-list 'load-path "/tmp/tramp/lisp") (setq tramp-default-method "scp") (setq tramp-auto-save-directory "/tmp") (setq auto-save-file-name-transforms '(("\\`/[^/]*:\\(.+/\\)*\\(.*\\)" "/tmp/\\2"))) (setq tramp-chunksize 328) (require 'ange-ftp) (require 'tramp)
-
重新启动Emacs或使用C-x C-e顺序执行上述代码就可以了
5.1.4 常见问题
tramp在一些版本的Emacs上会出现读出正常, 保存就无响应的现象, 设置tramp-chunksize为小于500的整数就可以了, 因为一些版本的Emacs中 process-send-string按照文档记载最长只能为500.
此外tramp和ange-ftp有些冲突, 因为ange-ftp使用autoload装入, ange-ftp会设置 file-name-handler-alist变量, 从而将tramp设置的值覆盖掉, 因此使用 (require 'ange-ftp)首先装入ange-ftp, 然后使用(require 'tramp)装入tramp, 就不会出现这种问题.
上述配置在windows平台上不能使Emacs正常使用tramp. Windows上推荐 使用tramp+putty, 相关配置可以使用Google查到.
5.3 Emacs mew -- 强大的Emacs Email客户端
Emacs mew是一个由日本人编写的Emacs邮件客户端, 对中文支持非常 之好也是我选择它的原因. 废话少说, 开始----
5.3.1 Emacs Mew的安装
Emacs mew的最新版本和源代码可以从 http://www.mew.org上下 载, 下载后解压, 使用make进行编译安装, 路径可以修改一下Makefile 中的prefix, elispdir和etcdir, 注意${prefix}/bin必须在PATH变量 中, 没有的话作个符号链接也可以, 对于NTEmacs的用户, 要把下载mew 安装包中的几个exe文件拷贝到emacs安装目录的bin下.
5.3.2 Emacs mew配置
把下面的代码加入~/.emacs中, 把用户名, 主机名换成对应的就可 以了
(autoload 'mew "mew" nil t) (autoload 'mew-send "mew" nil t) (if (boundp 'read-mail-command) (setq read-mail-command 'mew)) (autoload 'mew-user-agent-compose "mew" nil t) (if (boundp 'mail-user-agent) (setq mail-user-agent 'mew-user-agent)) (if (fboundp 'define-mail-user-agent) (define-mail-user-agent 'mew-user-agent 'mew-user-agent-compose 'mew-draft-send-message 'mew-draft-kill 'mew-send-hook)) (setq mew-pop-size 0) (setq mew-smtp-auth-list nil) (setq toolbar-mail-reader 'Mew) (set-default 'mew-decode-quoted 't) (setq mew-prog-pgp "gpg") (setq mew-name "显示的用户名") (setq mew-user "用户名") (setq mew-smtp-user "用户名") (setq mew-mail-domain "主机的域名") (setq mew-smtp-auth-list nil) (setq mew-smtp-server "SMTP主机") (setq mew-pop-server "POP主机") (setq mew-pop-user "用户名") (setq mew-pop-auth 'pass) ;;认证方式 (setq mew-use-cached-passwd t) (setq mew-nntp-server "NNTP服务器") (setq mew-icon-directory (expand-file-name "mew/etc" dtsite-dir)) (when (boundp 'utf-translate-cjk) (setq utf-translate-cjk t) (custom-set-variables '(utf-translate-cjk t))) (if (fboundp 'utf-translate-cjk-mode) (utf-translate-cjk-mode 1)) (require 'flyspell) ;;非常好用的英文的拼写检查
5.3.3 常见问题
-
无法从网上下载所有邮件,总是报告类似"no new messages (3 messages left)"的消息
删除Mail/.mew-uidl文件使Mew将邮件认为新邮件,设置(setq mew-pop-size 0) 使mew下载所有邮件,不论大小, 注意首先要使 用'Q'退出new ( 'Q' is 'shift' + 'q', not just 'q'), 保证 mew重新加载~/Mail/.mew-uidl
-
如何在mew将邮件地址加入地址簿?
C-cC-a加入地址簿, C-uC-cC-a加入地址和用户信息, 在发送邮件时可以使用TAB补全, 使用M-TAB将地址转换为User<address>的样子
-
无法发送和接收邮件
在mew的分发包中一般包含mewls, mewl, mewencode, mewdecode, incm等可执行文件, 检查它们所在路径是否包含在环境变量PATH中, 或者拷贝这些文件到emacs安装目录的bin目录下
-
设置多个邮件
mew提供多邮件设置, 这是通过设置mew-config-alist变量完成的, 例如我的邮箱设置 (可以设置在~/.emacs或者~/.mew.el中)
(setq mew-config-alist '(("yahoo" ("name" . "Jerry") ("user" . "myname") ("smtp-server" . "127.0.0.1") ("smtp-port" . "5059") ("pop-server" . "127.0.0.1") ("pop-port" . "5058") ("smtp-user" . "myname") ("pop-user" . "myname") ("mail-domain" . "nonexist.com") ("mailbox-type" . pop) ("pop-auth" . pass) ("smtp-auth-list" . ("PLAIN" "LOGIN" "CRAM-MD5")) ) ("default" ("name" . "Jerry") ("user" . "sample") ("smtp-server" . "127.0.0.1") ("smtp-port" . "25") ("pop-server" . "127.0.0.1") ("pop-port" . "110") ("smtp-user" . "sample") ("pop-user" . "sample") ("mail-domain" . "sample.net") ("mailbox-type" . pop) ("pop-auth" . pass) ("smtp-auth-list" . ("PLAIN" "LOGIN" "CRAM-MD5")) )))
设置好后, 可以通过在summary列表下输入`C'切换设置, 不过需要注意 "mailbox-type"和"pop-auth"设置的值是没有引号的
5.4 Color Theme -- 让你的Emacs更多彩
这个扩展包与开发工具没有多大关系, 不过还是有一点点的, 至少可 以帮助htmlize生成的html有不同的背景, 它主要是为Emacs配置不同的色 彩搭配, 使之像Windows那样据有不同的色彩主题, 例如某些变变总是把 各种IDE的编辑器设置的像是控制台下的VI一样黑底白字.
Chapter 6 一些小巧的Emacs lisp
Jerry有很多的Emacs lisp, 非常小巧而实用, 下面就介绍一些我常用的
6.1 tab-display.el
tab-display.el是用来以'<'字符标识出文件中的那些tab字符, 对于编辑某些文件来说非常有用, 它清楚地标明那些字符是tab的字符
点击这里下载tab-display.el
使用十分简单, 只需要在~/.emacs中加入(require 'tab-display)就可以了, 当然首先你要作的是把tab-display.el所在的路径加入load-path中
6.2 wb-line-number.el
wb-line-number.el可以在窗口左侧分割出一个显示行号的小窗口, 比那个mode-line上的行号看的更清楚一些
点击这里下载wb-line-number.el
使用时在~/.emacs中加入下面的语句(不要总是要我提醒你注意load-path设置哦)
(set-scroll-bar-mode nil) ; no scroll bar, even in x-window system (require 'wb-line-number)
在需要显示行号的buffer打入M-x wb-line-number-toggle就可以了, 或者像我这样在~/.emacs中再加入一句(wb-line-number-enable)缺省显示行号
6.3 keisen-mode
keisen-mode是一个用来绘制表格的好工具, 尤其是绘制中文表格, 比起那个table.el来说好多了, kersen-mode是小日本写的, 点击这里下载 keisen-mule.lzh, 文件使用lha压缩, 使用时在~/.emacs中加入下面的语句
(if window-system (autoload 'keisen-mode "keisen-mouse" "MULE table" t) (autoload 'keisen-mode "keisen-mule" "MULE table" t))
操作起来只要使用Emacs中的移动键或者鼠标移动, 就可以绘制出各种表格了, 它会自动计算各个连接点, 简单方便
Chapter 9 迷你型的Emacs
Jerry网上有一些类似Emacs的编辑程序, 十分小巧, 比较著名的有下面几个
-
qemacs 下载地址http://fabrice.bellard.free.fr/qemacs/
当你的机器无法忍受庞大的Emacs时, 不妨试试这些小巧的编辑器, 我在一台PII266/64M RAM 的笔记本上就使用zile来进行开发
Chapter 10 Emacs网络资源汇总
Jerry10.1 中文资源
1. 我在yahoo groups上申请了邮件列表, 希望大家可以参与讨论
此外, 可以通过http://groups.yahoo.com/group/zhdotemacs/来查看以往信件, 不过必须注册一个yahoo帐号.
10.3 文档资源
-
Emacs 快速指南(官方) --- 官方的快速指南
-
王春宇的Emacs中文资料 --- emacs和gnus的配置资料和一些非常有用的参考资料
-
王垠的Emacs资料 --- 一些Emacs的配置和使用技巧
-
Emacs/Cygwin配置资料 --- NTEmacs与Cygwin环境的整合, 推荐NTEmacs的用户看一下
-
Emacs wiki -- 大量的Emacs资源
-
Emacs dotfiles -- 大量的.emacs的配置样本
Notes
[1] |
首先需要订阅, 订阅后可以向zhdotemacs@yahoogroups.com发送邮件参与讨论 |
[2] |
订阅时向zhdotemacs-subscribe@yahoogroups.com发送一封邮件, 主题上写"subscribe"就可以了, 注意不要加上引号, 收到确认信后, 按照内容中所说的回复或点击对应链接就可以了 |
[3] |
退订时向zhdotemacs-unsubscribe@yahoogroups.com发送一封邮件, 主题上写"unsubscribe"就可以了, 注意不要加上引号, 收到确认信后, 按照内容中所说的回复或点击对应链接就可以了 |