在Windows下使用Emacs
时间:2007-06-17 来源:Snow-Serac
在Windows下使用Emacs
Blog Default GNU TeX Programming Reading Others本页目录
在Windows下使用Emacs 安装Emacs 安装auctex 安装mule-gbk 安装aspell 安装Mew 用gnuserv给Emacs插上翅膀top在Windows下使用Emacs
top安装Emacs
- 到 http://nqmacs.sourceforge.net 下载emacs的Windows编译版本,包括两个文件 emacs-21.3.50.1-20050130c-w32.zip 和 emacs-21.3.50.1-20050130-lisp.zip
- 将 emacs-21.3.50.1-20050130c-w32.zip 解压缩到想要放置的目录,这里为 D:\Program Reserved\emacs-21.3.50.1-20050130c-w32
- 将 emacs-21.3.50.1-20050130-lisp.zip 也解压缩在这个目录,然后设置环境变量
HOME=D:\Program Reserved\emacs-21.3.50.1-20050130c-w32
这样在以后 .emacs.d 目录和 .emacs 文件就都在 $HOME 目录下面了,但是这个方法并不好,因为设置 $HOME 会影响 Cygwin 和 MSYS 等很多东西,所以最好的方法是在注册表中设置 HKEY_LOCAL_MACHINE\SOFTWARE\GNU\Emacs\HOME=%emacs_dir% - 需要自己添加的el文件放在 D:\Program Reserved\emacs-21.3.50.1-20050130c-w32\site-lisp 里面即可
top安装auctex
- 到 http://www.gnu.org/software/auctex/ 下载auctex,然后解压到任意目录,不过不要解压到 $HOME 目录下面,这里解压缩到 D:\auctex
- 然后可以根据 INSTALL.windows 这个文件进行安装,用cygwin安装的步骤如下:
$cd d: (或者$cd /cygdrive/d) $cd auctex $./configure --prefix=d:/"Program Reserved"/emacs-21.3.50.1-20050130c-w32 --with-emacs=d:/"Program Reserved"/emacs-21.3.50.1-20050130c-w32/bin/emacs.exe $make $make install
(注意上面对于有空格的目录要加双引号,同时用/而不是\,用d:而不是/cygdrive/d)
这样,可以在 $HOME\site-lisp 目录下面看到生成了 auctex 目录,同时在 $HOME 目录下面也生成了一个 var 目录 - 在 $HOME\.emacs 文件中添加
(require 'tex-mik) (setq TeX-electric-escape t)
这样就可以正常使用auctex了
top安装mule-gbk
安装mule-gbk后可以显示更多的汉字,比如朱镕基的“镕”,如果不用mule-gbk是无法正确显示的- 到 http://mule-gbk.sourceforge.net/ 下载mule-gbk,然后解压到任意目录,不过不要解压到 $HOME 目录下面,这里解压缩到 D:\mule-gbk-0.1.2004080701 ,然后仿照auctex的安装方法即可,用cygwin安装的步骤如下:
$cd d: (或者$cd /cygdrive/d) $cd mule-gbk-0.1.2004080701 $./configure $make $make lispdir=d:/"Program\ Reserved"/emacs-21.3.50.1-20050130c-w32/site-lisp install
(注意上面和auctex不同,有空格的目录名空格前要加入一个\)
最后一条命令中, lispdir 指定的是el文件安装的目录 - 现在在 .emacs 中加入
(setq w32-charset-info-alist (cons '("gbk" w32-charset-gb2312 . 936) w32-charset-info-alist)) (set-w32-system-coding-system 'chinese-gbk) (set-selection-coding-system 'chinese-gbk) (set-keyboard-coding-system 'chinese-gbk) (set-language-environment 'chinese-gbk) (setq locale-coding-system 'chinese-gbk) (setq current-language-environment "Chinese-GBK")
呵呵,中文问题解决了
top安装aspell
- 到 http://aspell.net/win32/ 下载Windows下的aspell安装程序和词典,这里下载的是 Aspell-0-50-3-3-Setup.exe 和 Aspell-en-0.50-2-3.exe
- 安装即可,这里安装到 D:\Program Reserved\Aspell
- 设置环境变量,将 D:\Program Reserved\Aspell\bin 加入到 $Path 中
- 到 http://kdstevens.com/~stevens/ispell-page.html 下载最新的 ispell.el ,这里下载的是 ispell.el-3.6 ,将其改名为 ispell.el 放到 $HOME\site-lisp 目录下
- 在 .emacs 中加入
(setq-default ispell-program-name "aspell") (setq-default ispell-local-dictionary "american") (global-set-key (kbd "") 'ispell-complete-word)
这样就可以使用拼写检查功能了,但是绑定到F8上的complete-word命令还是无法使用,这个需要解决
top安装Mew
- 到 http://www.mew.org/Win32/ 下载Mew的Windows版本这里下载的是Mew 4.2,文件为 MEW42W0.ZIP
- 将 MEW42W0.ZIP 解压,这里解压到 E:\Download\Temp\MEW42W0\mew-4.2
- 安装前需要设置好两个环境变量:一个是 $HOME 变量,当然这在安装emacs的时候已经设置好了,另一个是 $TZ 变量,这个是时区,设置为 JST-8
- 注意emacs在Windows下需要执行 $HOME\bin\addpm.exe 来进行一下安装,否则Mew会认为没有安装emacs,然后在cygwin下进行编译:
$cd e: $cd Download/Temp/MEW42W0/mew-4.2/ $./configure $make
- 在命令行下执行
>mew
然后就根据提示来安装吧 - 注意我安装完成之后发现mew所用的图片都没有安装,将解压出来的mew-4.2目下的 etc 目录复制到 D:\Program Reserved\emacs-21.3.50.1-20050130c-w32\site-lisp\mew\ 就可以了
- 注意mew中的邮件默认是utf-8编码的,所以需要在mule-gbk的环境下使用utf-8支持,具体看一下 mule-gbk-0.1.2004080701.tar.gz 中的 README.unicode ,具体方法为在在 .emacs 文件中添加
;; Unicode support, for Emacs CVS (21.3.50) only (when (fboundp 'utf-translate-cjk-mode) ;; Load modified utf-translate-cjk-mode (require 'gbk-utf-mode) ;; Turn on utf-translate-cjk-mode (utf-translate-cjk-mode 1) ;; Setup X selection for unicode encoding (setq x-select-request-type '(UTF8_STRING COMPOUND_TEXT TEXT STRING)))
这样,就可以存取中文Unicode编码的文件了,具体使用方法是:C-x RET f utf-8 RET 将当前缓冲区的编码改为utf-8然后保存 C-x RET c utf-8 RET C-x C-s filename RET 在保存时转换文件格式 C-x RET r utf-8 RET 用这个命令重新以utf-8编码加载文件 - mew的设置和使用请看这里
top用gnuserv给Emacs插上翅膀
通常情况下,用Emacs编辑文件需要先启动Emacs,然后C-x C-f,再输入文件的路径,这是很麻烦的,尤其对于用惯了图形界面的人更是不便,这个问题可以用gnuserv解决,这里是Windows下编译好的gnuserv。
gnuserv的安装非常简单,将上面压缩包中的 gnuserv.el 放到 $HOME/site-lisp 目录下,再把release文件夹下的几个可执行文件放到 $HOME/bin 目录下,然后在.emacs中加入:(require 'gnuserv) (gnuserv-start)
这样就可以用 gnuclientw.exe 打开文件了,再建立一个 gnuclientw.exe 的快捷方式放到“Documents and Settings\username\SendTo”目录下,就可以用右键的“发送到”菜单把文件传输到Emacs中编辑了。
gnuclientw.exe 默认是用一个新的frame打开文件,在.emacs中添加下面的命令可以设置在原来的frame中打开文件:
;; 在当前frame打开 (setq gnuserv-frame (selected-frame)) ;; 打开后让emacs跳到前面来 (setenv "GNUSERV_SHOW_EMACS" "1")
如果你喜欢在新的frame中打开文件,绑定下面几个控制frame的函数,操作frame会简单一些:
;; 关闭一个frame,绑定到 C-F4 (global-set-key [(control f4)] 'delete-frame) ;; 在两个frame中切换 (global-set-key [(control tab)] 'other-frame) (global-set-key [(control shift tab)] '(lambda () (interactive) (other-frame -1)))
Updated: 2005-07-26 | Home / Index | Edited by bethoven |
相关阅读 更多 +