(原创文章,未经作者许可,不得擅自删除本声明或更改文章内容,转载请注明出处。)
相信很多朋友都喜欢在emacs里写程序,但是对于windows用户来说,常常会碰到一个恼人的问题,就是如何在emacs里调用VC的编译器来编译程序,将就的办法就是用 M-x shell 打开一个shell,然后在shell里运行VC安装目录下的VCVARS32.dat来注册环境变量,这样每一次打开shell都要注册一次,太麻烦!有些朋友可能会说,你不知道在系统里注册一下啊?相信安装了VC的人多数都不太愿意在系统里注册VC的环境变量,原因嘛……归结为个人喜好吧。:)
好了,废话不多说了,要解决这个问题其实很简单,只要在emacs启动shell时执行一下shell的配置文件就可以了,就像linux下的运行bash时会执行.bashrc一样。那么emacs里的shell到哪里找配置文件呢?配置文件是哪一个呢?只要解决这两个问题,在windows下使用emacs写程序就方便了。
1. emacs里运行的shell文件会到emacs主目录里去找配置文件,简单点说就是.emacs所在的目录,我机子上的主目录是在C:/下。
2. shell的配置文件和shell的类型有关,如果在linux下这个概念很好理解,因为有的朋友用csh,有的朋友用bash,有的朋友用ksh等等,那么windows下的shell是什么呢?试试下面的方法吧:在emacs里用M-x shell打开shell,在提示符下输入echo %SHELL%,看一下SHELL这个环境变量的内容,在我的机子上SHELL=C:/Program Files/Emacs23/bin/cmdproxy.exe,因此emacs运行的shell就是cmdproxy.exe。如图1所示:
3. 为什么要知道windows下的shell是什么呢?因为shell的配置文件和shell名有关,现在你只需要在emacs的主目录下新建一个文件,文件名类