在Windows下使用Emacs

来源:互联网 发布:电子单片机 编辑:程序博客网 时间:2024/04/30 23:53

在Windows下使用Emacs

安装Emacs

  1. 到 http://nqmacs.sourceforge.net 下载emacs的Windows编译版本,包括两个文件 emacs-21.3.50.1-20050130c-w32.zipemacs-21.3.50.1-20050130-lisp.zip
  2. emacs-21.3.50.1-20050130c-w32.zip 解压缩到想要放置的目录,这里为 D:/Program Reserved/emacs-21.3.50.1-20050130c-w32
  3. emacs-21.3.50.1-20050130-lisp.zip 也解压缩在这个目录,然后设置环境变量
    HOME=D:/Program Reserved/emacs-21.3.50.1-20050130c-w32
    这样在以后 .emacs.d 目录和 .emacs 文件就都在 $HOME 目录下面了,但是这个方法并不好,因为设置 $HOME 会影响 CygwinMSYS 等很多东西,所以最好的方法是在注册表中设置 HKEY_LOCAL_MACHINE/SOFTWARE/GNU/Emacs/HOME=%emacs_dir%
  4. 需要自己添加的el文件放在 D:/Program Reserved/emacs-21.3.50.1-20050130c-w32/site-lisp 里面即可

安装auctex

  1. 到 http://www.gnu.org/software/auctex/ 下载auctex,然后解压到任意目录,不过不要解压到 $HOME 目录下面,这里解压缩到 D:/auctex
  2. 然后可以根据 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 目录
  3. $HOME/.emacs 文件中添加
    (require 'tex-mik)(setq TeX-electric-escape t)
    这样就可以正常使用auctex了

安装mule-gbk

安装mule-gbk后可以显示更多的汉字,比如朱镕基的“镕”,如果不用mule-gbk是无法正确显示的

 

  1. 到 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文件安装的目录
  2. 现在在 .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")
    呵呵,中文问题解决了

安装aspell

  1. 到 http://aspell.net/win32/ 下载Windows下的aspell安装程序和词典,这里下载的是 Aspell-0-50-3-3-Setup.exeAspell-en-0.50-2-3.exe
  2. 安装即可,这里安装到 D:/Program Reserved/Aspell
  3. 设置环境变量,将 D:/Program Reserved/Aspell/bin 加入到 $Path
  4. 到 http://kdstevens.com/~stevens/ispell-page.html 下载最新的 ispell.el ,这里下载的是 ispell.el-3.6 ,将其改名为 ispell.el 放到 $HOME/site-lisp 目录下
  5. .emacs 中加入
    (setq-default ispell-program-name "aspell")(setq-default ispell-local-dictionary "american")(global-set-key (kbd "") 'ispell-complete-word)
    这样就可以使用拼写检查功能了,但是绑定到F8上的complete-word命令还是无法使用,这个需要解决

安装Mew

  1. 到 http://www.mew.org/Win32/ 下载Mew的Windows版本这里下载的是Mew 4.2,文件为 MEW42W0.ZIP
  2. MEW42W0.ZIP 解压,这里解压到 E:/Download/Temp/MEW42W0/mew-4.2
  3. 安装前需要设置好两个环境变量:一个是 $HOME 变量,当然这在安装emacs的时候已经设置好了,另一个是 $TZ 变量,这个是时区,设置为 JST-8
  4. 注意emacs在Windows下需要执行 $HOME/bin/addpm.exe 来进行一下安装,否则Mew会认为没有安装emacs,然后在cygwin下进行编译:
    $cd e:$cd Download/Temp/MEW42W0/mew-4.2/$./configure$make
  5. 在命令行下执行
    >mew
    然后就根据提示来安装吧
  6. 注意我安装完成之后发现mew所用的图片都没有安装,将解压出来的mew-4.2目下的 etc 目录复制到 D:/Program Reserved/emacs-21.3.50.1-20050130c-w32/site-lisp/mew/ 就可以了
  7. 注意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编码加载文件
  8. mew的设置和使用请看这里

    用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)))