[已解决][问题]Emacs自定义编译命令怎么写配置文件?

Vim、Emacs配置和使用
回复
tririver
帖子: 43
注册时间: 2008-01-10 9:33
送出感谢: 0
接收感谢: 0
联系:

[已解决][问题]Emacs自定义编译命令怎么写配置文件?

#1

帖子 tririver » 2008-04-25 9:05

我一般不用emacs写程序,只写tex。希望能达到一键编译。从网上拷了一段配置文件,自己改了一下,问题如下:

配置文件相关部分:

(defun du-onekey-compile ()
"Save buffers and start compile"
(interactive)
(save-some-buffers t)
(setq compilation-read-command nil)
(compile compile-command)
(setq compilation-read-command t)
)
(global-set-key [S-f5] 'compile)
(global-set-key [f5] 'du-onekey-compile)

(setq compile-command (concat "mak " buffer-file-name " "))

最后一句是我改的,其中mak是我自己写的一个shell脚本,我希望达到 mak buffer-file-name的目的,但是实际运行时,按f5只运行mak,后面没有文件名。请问为什么?怎么改才能达到目的?用别的方法达到这个目的也行。

我不懂ELISP,只希望在工作中方便点。希望大家指点,谢谢!

附:mak脚本(在终端运行没有问题)

latex $1
TEX=$1
TF=${TEX%%.*}
dvipdf $TF.dvi
acroread $TF.pdf
上次由 tririver 在 2008-04-25 9:19,总共编辑 1 次。
tririver
帖子: 43
注册时间: 2008-01-10 9:33
送出感谢: 0
接收感谢: 0
联系:

#2

帖子 tririver » 2008-04-25 9:18

我用了个变通的方案解决了这个问题,就是不用compile命令,而是直接执行shell脚本。配置文件相关部分改为:

(defun du-onekey-compile ()
"Save buffers and start compile"
(interactive)
(save-some-buffers t)
(setq compilation-read-command nil)
(shell-command(concat "mak " buffer-file-name "& "))
;~~~~~~~~~~~~~改了这句
(setq compilation-read-command t)
)

但是还是不知道原来的错在哪里。
回复

回到 “Vim和Emacs”