Emeditor编译器

Get EmEditor text editor我的系统一度十分臃肿,我要用Word来写总结,用WinEdt来写论文,用Excel画表格,用PowerPoint做演示,用Dreamweaver来写html,用Visual Studio来写Basic,用Eclipse来写java……它们总想自动完成,却要我一遍遍纠正,我渐渐明白,我需要的只是一个记事本。如果能再多一点要求,我希望在它编辑tex代码的时候,F5就是pdflatex编译,修改py文件的时候,F5就是python执行,编写m脚本的时候,F5就是Matlab计算,调试html的时候,F5就是浏览器预览……有人告诉我Emacs可以,可我已经习惯了Emeditor……

我最喜爱的杀毒软件就是Ghost,软件都用绿色版。好在Emeditor支持便携(Portable)模式,第一次安装之后在导入导出选项中配置好移动驱动器就可以卸载了,只要在关于页面中看到系统信息是“正在使用INI文件”就对了。这时候,程序目录下的 eeConfig.ini 保存注册信息和语法高亮规则,eePlugins.ini 保存工具栏样式,eeCommon.ini 保存浏览历史,插件和宏列表,自定义工具也保存在其中的Tools 键值下,虽然不是明文,能备份就好,这样就可以放心打造自己的编译环境了。

自从有了Latex,我就很少用Office了,只是为了打开别人的文档才留在系统里。科大liangzi的CTeXLIve套装很好用,不用安装,不会膨胀。但我不喜欢WinEdt,又觉得SciTE配置起来太麻烦,只是之前一直没意识到Emeditor也可以配置编译环境。在工具–外部工具–自定义工具 中添加LaTeX项,

命令:X:\current\bin\win32\latex.exe (X为光盘盘符),
参数:$(path)
起始目录:$(Dir)
勾选保存文件,让文件在执行编译前自动保存
勾选使用输出栏,让错误提示输出到emeditor
输出编码默认
dvi2pdf的命令是:X:\current\bin\win32\dvipdfm.exe
参数为:$(Dir)\$(Filename).dvi (后缀与所编辑的文件不同)
dvi浏览的路径在:X:\current\tlpkg\dviout\dviout.exe
参数同上

其实很简单,就是个批处理,先cd $(Dir),然后 latex.exe $(path),只要支持命令行的程序都可这么玩。但是启动之后要暂停可不容易,因为错误停止运行的程序并不会自动退出,而Emeditor的输出窗口又不能作为终端输入,终止按钮和外部工具列表放在一起,逻辑上无可厚非,只是路径太深,快捷键Ctrl+Break的键程又太远,操作不便。还需要加个按钮,本来想用autoit做个独立文件,结果编译出来的exe居然有150K,还是直接用Emeditor内置的js脚本命令做了个宏,内容只有一句

editor.ExecuteCommandByID(4451)

保存为jsee,1K大小,放在宏工具栏中,想终止的时候点一下就好。如果不想用鼠标点来点去,还有更快的办法——在对应文件类型的配置中为这些外部工具添加快捷键,这个快捷键是与配置文件相关的,也就是说不同类型的文件都可以用同一个快捷键调用各自的编译工具,实现文章开头提到的功能。下面是其他的例子:

对于python,文件保存路径不能有中文,输出也一定要用Print才有显示。如果想输出中文,还要注意编码问题,输出栏的默认字符集是gb2312,如果文件也是gb2312编码,输出就没有问题;如果要用unicode,就需要改变输出栏的字符集,或者像下面这样转码(和cmd中的情况一样)。


# encoding=utf8
a=’Python测试:100的阶乘’
print a.decode(‘utf8’).encode(‘gb2312’)
print reduce(lambda x,y:x*y, range(1,100))

输出界面如下图所示

我也用它来写Matlab脚本,用Octave 编译:

命令:C:\Octave\3.2.3_gcc-4.4.0\bin\octave.exe,
参数:-f $(path)

参数中加个-f 可以过滤欢迎信息,点此查看更多选项,不过它执行得有点慢,但比Matlab启动要快;附带的gnuplot也可以这样运行,虽然不能弹出图像窗口实时查看,但保存成文件还是没有问题的,品质一如既往;

其中命令也不局限于可执行文件,还可以是网址。如果本地没有词典,就可以调用google词典查词,比下载谷歌词霸快多了。在命令栏填入如下语句就能自动打开浏览器查找选定的英文词组

http://www.google.com/dictionary?langpair=zh-CN%7Cen&q=stray$(CurText)

本来还想拿它编译Autoit脚本,可是au命令行编译器不支持脚本中定义的图标和目标文件名,只接受终端下的参数输入,这就不是Emeditor的自定义工具能独立解决的问题了。我不关心Emeditor是不是最好的编辑器,我用着顺手,这就够了。

最后发点牢骚,Tex这么帅的排版软件居然没有一个像样的图标和Logo,做个按钮都找不到图标!标准的TEX写法缩小到16×16几乎看不清笔画,那个狮子头就更不用说了,PDFLatex等发行版的标志也都是banner,一个方的都没有……只好自己动手做几个图标,好不好看先不管,至少能看清了,点此下载

订阅评论
提醒

7 评论
最旧
最新 最多投票
内联反馈
查看所有评论
X
2010 年 11 月 24 日 11:58

lz你说的太好了,Tex这么帅的排版软件居然没有一个像样的图标和Logo,做个按钮都找不到图标!

gerry
2011 年 12 月 13 日 18:11

运行Python安装目录\Lib\site-packages\win32comext\axscript\client\ 下的pyscript.py 可以让Emeditor 接受Python宏脚本。详见http://www.cnblogs.com/xuanhuahua/archive/2011/03/04/1971049.html

fjdu
2013 年 3 月 15 日 22:50

好像那个只是99的阶乘。

LH
2014 年 10 月 20 日 13:59

请问博主如果我想实现(.tex, .cpp …)编译完成后自动打开(.pdf, .exe …)的功能,如何处理?