终于搞定ubuntu下Emacs中文输入法fcitx(小结)~

Vim、Emacs配置和使用
回复
distar
帖子: 140
注册时间: 2006-08-06 16:33
来自: czz028@163.com
联系:

终于搞定ubuntu下Emacs中文输入法fcitx(小结)~

#1

帖子 distar » 2007-02-02 22:16

终于搞定ubuntu下Emacs中文输入法fcitx(小结)~

希望自己写的东西比较精简,也比较实用~
系统ubuntu 6.06
之前装的是emacs 21.4,把配置文件/etc/environment, /etc/X11/xorg.conf, .emacs, .Xresources, .Xdefaults等捣鼓了好久,
也google来google去了大半天,虽然解决中文乱码比较容易,但始终未能解决emacs的中文输入问题,所来让人郁闷,今天终于在emacs 23 (unicode-2 branch)版本
的基础上解决了这个问题,把它记下来,分享一下,毕竟我这样走过来是行的通的。这里主要基于(http://www.dirk.sh/diary/install_emacs_23_in_ubuntu_610),在这里谢过了,
但是也有些稍许不同。

在安装emacs 23之前:
1.先前我装了emacs 21.4, 过程:
Ubuntop:~$sudo apt-get install emacs21 mule-ucs
注(mule-ucs是emacs的编码包,现在已支持UTF-8编码和多种中文编码。如果要在emacs中正确处理中文信息就要安装该软件包)

2.安装FCITX:
Ubuntop:~$sudo apt-get install fcitx
Ubuntop:~$sudo sh -c " echo 'export XMODIFIERS=@im=fcitx ; export GTK_IM_MODULE="fcitx" ; fcitx ' > /etc/X11/Xsession.d/95xinput "
Ubuntop:~$sudo chmod +755 /etc/X11/Xsession.d/95xinput
设置LC_ALL和其它属性:
Ubuntop:~$sudo gedit /etc/environment
在编辑器里,将内容修改如下(默认使用中文界面):
LANGUAGE="zh_CN:zh:en_US:en"
LC_CTYPE=zh_CN.UTF-8
LANG=zh_CN.UTF-8
GST_ID3_TAG_ENCODING=GBK
重启X使配置生效(ctrl+space+backspace);


以下为安装emacs 23:
1、从 cvs 仓库取出最新源代码:
Ubuntop:~$ set CVS_RSH="ssh"
## 如果你使用的是 Bash,使用 export CVS_RSH="ssh" 命令进行设置
Ubuntop:~$ cvs -z3 -d:pserver:anonymous@cvs.savannah.gnu.org:/sources/emacs co -r emacs-unicode-2 emacs
会在~/下面生成emacs文件夹
Ubuntop:~$ sudo apt-get install cvs texinfo

2.上述 cvs 操作会从远程 cvs 仓库取出 emacs 的最新版本,大约是 90M 左右,如果你的网速不太好,可能会很慢,也会让人很焦心,为了获得最新版本,慢慢等候吧。下载完成,我们进入到 emacs 目录进行编译和安装,不过需要预先安装一些相关的软件包(注意,如果你想要让 emacs 运行起来能像 GTK 图形应用,这些软件包是必须的):
Ubuntop:~$ sudo apt-get build-dep emacs21(先前我已经装了emacs21,并没有卸载掉,所以并没有进行这一步)
Ubuntop:~$ sudo apt-get install xserver-xorg-dev
Ubuntop:~$ sudo apt-get install xorg-dev
Ubuntop:~$ sudo apt-get install libncurses5
Ubuntop:~$ sudo apt-get install libncurses5-dev

3.关键部分:
cd ~/emacs
Ubuntop:~/emacs$ ./configure --prefix=/usr --enable-font-backend --with-xft --with-freetype
Ubuntop:~/emacs$ make bootstrap
Ubuntop:~/emacs$ sudo make install


4.配置文件:
设置 ~/.Xresources (~/.Xresources通常是传送到 xrdb 以加载 X 资源数据库的文件的名称如果没有就创建这个文件)文件,添加以下参数gedit ~/.Xresources:
Emacs.Font:fontset-chinese
Emacs.Fontset-0:-*-fixed-medium-r-*-*-14-*-*-*-c-*-fontset-chinese,\
chinese-gb2312:-*-wenquanyi bitmap song-*-*-normal--*-*-*-*-*-*-iso10646-1,\
chinese-big5-1:-*-wenquanyi bitmap song-*-*-normal--*-*-*-*-*-*-iso10646-1,\
chinese-big5-2:-*-wenquanyi bitmap song-*-*-normal--*-*-*-*-*-*-iso10646-1

修改完资源文件后,只要运行:
xrdb -load ~/.Xresources
使配置生效

设置 ~/.emacs 文件(gedit ~/.emacs,添加下列内容):
(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)

(global-set-key (kbd "C-SPC") 'nil)
(custom-set-variables
'(load-home-init-file t t))
(custom-set-faces)
(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);光标靠近鼠标指针时,让鼠标指针自动让开
(transient-mark-mode t);
(setq x-select-enable-clipboard t);支持emacs和外部程序的粘贴
(setq frame-title-format "DIrk@%b");在标题栏提示你目前在什么位置
(setq default-fill-column 80);默认显示 80列就换行
(setq-default make-backup-files nil);不要生成临时文件


到这里就完成了emacs 23安装,而且可以进行小企鹅输入法输入(用ctrl+space进行切换);以后的细节就可以慢慢配置了~
^_^
:)

5. 刚发现的一点注意事项(补上):
emacs test.txt 虽然可用,中文什么的也都正常,但是如果出现"Missing charsets in String to FontSet conversion"问题,这是由于字符集的原因,可能是因为你的ubuntu中没有gbk。
这时可以修改XLC_LOCALE(这个文件里面定义了charset所用到的fontset)
Ubuntop:~$sudo gedit /usr/share/X11/locale/zh_CN.UTF-8/XLC_LOCALE
# fs3 class (Chinese Han Character GBK)
#fs3 {
# charset {
# name GBK-0:GLGR
# }
# font {
# primary GBK-0:GLGR
# substitute GB13000.1993-1:GLGR
# }
#}

注释掉里面的 GBK-0
这样就不会出现"Missing charsets in String to FontSet conversion"却仍可用emacs的现象了

:)
上次由 distar 在 2007-02-03 20:31,总共编辑 3 次。
头像
zhuqin_83
帖子: 10606
注册时间: 2006-05-13 4:02
联系:

#2

帖子 zhuqin_83 » 2007-02-03 3:33

加精。
请保持维护 :D
HP Pavilion DV6-2064CA: AMD Turion II Ultra Dual-Core Mobile M640, HD4650, 2GBx2 DDR2-800, Seagate 500GB 7200RPM SATA, BD-ROM
DELL UltraSharp 2209WA
Arch64, Testing repo
distar
帖子: 140
注册时间: 2006-08-06 16:33
来自: czz028@163.com
联系:

#3

帖子 distar » 2007-02-03 11:05

hehe, thx~
distar
帖子: 140
注册时间: 2006-08-06 16:33
来自: czz028@163.com
联系:

#4

帖子 distar » 2007-02-03 20:33

刚刚发现了一点在ubuntu下使用emacs的问题,已经作为注意事项在上面补上了,希望能给大家解决又一个潜在的问题~
sonchonjay
帖子: 60
注册时间: 2007-04-12 23:20

#5

帖子 sonchonjay » 2007-06-07 20:02

我在ubuntu7.04 下按照楼主的方法安装结果在make bootstrap 时出现以下错误:

make[2]: *** [compile] 错误 1
make[2]: Leaving directory `/home/jacky/emacs/lisp'
make[1]: *** [bootstrap-build] 错误 2
make[1]: Leaving directory `/home/jacky/emacs'
make: *** [bootstrap] 错误 2

盼高手赐解
头像
karron
帖子: 6226
注册时间: 2005-06-11 14:03
来自: 不明真相的群众
联系:

#6

帖子 karron » 2007-06-07 20:18

基本就是本区zhan的那篇文章的翻版。绝大部分都是一样的。

另外要指出,emacs23不需要安装emacs21, sudo apt-get build-dep emacs21 或者 udo apt-get build-dep emacs-snapshot-gtk 不是安装emacs21,而是安装编译emacs的依赖库。
我的blog,关于技术,软件,linux,vim <---- 所有博客均被河蟹.
sonchonjay
帖子: 60
注册时间: 2007-04-12 23:20

#7

帖子 sonchonjay » 2007-06-07 22:44

配置时采用./configure --prefix=/usr --enable-font-backend --with-xft --with-freetype --with-gtk 才ok!
可我不太明白,谁能帮忙解释一下?
头像
yangyang123
帖子: 61
注册时间: 2007-10-26 9:37

#8

帖子 yangyang123 » 2007-10-28 15:07

看着就晕
我要加油哈哈
zhangsong023
帖子: 768
注册时间: 2006-09-20 19:56

#9

帖子 zhangsong023 » 2007-10-28 15:56

sonchonjay 写了:配置时采用./configure --prefix=/usr --enable-font-backend --with-xft --with-freetype --with-gtk 才ok!
可我不太明白,谁能帮忙解释一下?
编译Emacs时,开启xft字体、gtk界面和freetype字体支持,并设定其安装的基准目录为/usr,--enable-font-backend貎似现在已经depreciate了。
头像
forrid
帖子: 659
注册时间: 2007-04-23 17:40

#10

帖子 forrid » 2007-11-13 23:47

还好,偶不会用小企鹅

吾生也有涯,而知也无涯,以有涯随无涯,SB啊~~~~~~~~~~
回复