目录

%toc

Windows7中配置emacs

Emacs平台很强大,已经不只是一个编辑器这么简单了,它被移植到Windows平台下使得非Unix用户也有幸接触到并使用它。

按Windows7系统本身的HOME目录配置的话,C:\Users\<username>\AppData\Roaming 这个HOME目录太深了,而且默认状态下AppData目录是隐藏的,最最关键的是:如果系统盘一旦出问题,之前的.emacs配置文件和.el的扩展都得重新配置和下载。

首先,我们再来看看emacs的简单安装吧,http://ftp.gnu.org/pub/gnu/emacs/windows/emacs-24.1-bin-i386.zip 这里下载emacs-24.1最新版,并解压到一个磁盘根目录,我这里放在了d:\下,解压后,得到 d:\emacs-24.1,进入d:\emacs-24.1\bin目录,执行 addpm.exe 在开始菜单中加入 emacs 的启动项。

启动emacs,在 Option 菜单中随便更改一下设置,如 取消 Case-Insensitive Search,之后,点 Save Options。这一步不是多余的。因为默认情况下emacs不会在一启动的时候就生成 .emacs 配置文件和 .emacs.d目录的。这步生成的 .emacs 目录还是在 C:\Users\<username>\AppData\Roaming 下,因为我们并没有做别的设置移动它。

下面就进入关键步骤了,打开 C:\Users\<username>\AppData\Roaming\.emacs 配置文件,修改内容为 (load-file "D:/emacs-24.1/.emacs") 复制代码 这个配置意思很明显了,emacs在启动的时候会加载 C:\Users\<username>\AppData\Roaming\.emacs 这个配置文件,而该文件又加载另一个 D:/emacs-24.1/.emacs 配置文件。这样,自然就成功实现了配置的转移喽~好了,从现在起就不用进入 C:\Users\<username>\AppData\Roaming\.emacs 这个冗的路径!

上一步,我们把emacs的配置文件用 (load-file ...) 配置已经指向到 D:/emacs-24.1/.emacs 了,那两个就拷贝一个 .emacs 文件放到 D:/emacs-24.1/ 里吧(Windows下好像不能建立以 . 开头的文件吧)。然后,打开D:/emacs-24.1/.emacs,在开头添加如下配置:

(setenv "HOME" "D:/emacs-24.1")
(setenv "PATH" "D:/emacs-24.1")
;;set the default file path
(setq default-directory "~/")

恩,是的,这里重新给 HOME PATH 等定义了新的路径~~~写到这里大家该明白了,就是把配置转移了一下而已。

好了,现在D:/emacs-24.1 就变成了emacs的HOME了。

基本操作

Emacs有几种方式可以选择。用方向键当然可以,不过更有效率的方法是保持双手位于 主键盘区,然后使用 C-p 、 C-b 、 C-f 和 C-n 这四个命令。它们的功能和方 向键是一样的,如下图所示:


                             上一行 C-p
                                  :
                                  :
            向左移 C-b .... 目前光标位置 .... 向右移 C-f
                                  :
                                  :
                             下一行 C-n

这里对简单的光标移动命令做一个总结,其中也包括了整词和整句的移动:

        C-f     向右移动一个字符
        C-b     向左移动一个字符

        M-f     向右移动一个词【对中文是移动到下一个标点符号】
        M-b     向左移动一个词【对中文是移动到上一个标点符号】

        C-n     移动到下一行
        C-p     移动到上一行

        C-a     移动到行首
        C-e     移动到行尾

        M-a     移动到句首
        M-e     移动到句尾

这里还要介绍两个重要的光标移动命令:M-< (META 小于号)可以将光标移动到所有文字的最开头(相当与vim中的gg);M-> (META 大于号)可以将光标移动到所有文字的最末尾(相当与vim中的G)