2013-03-05 66 views
0

我试图让下面的项在我的.vimrc工作:试图设置在vim的yuml文件类型makeprg,手工作品,在没有的vimrc工作

autocmd FileType yuml set makeprg=yuml\ -i\ %\ -o\ %<\.pdf\ -f\ pdf\ &\ sleep\ 1\;\ evince\ %<.pdf\ & 

它不工作,每当我键入:make,它使用yuml实用程序的一些默认选项。 然而,当I型:

set makeprg=yuml\ -i\ %\ -o\ %<\.pdf\ -f\ pdf\ &\ sleep\ 1\;\ evince\ %<.pdf\ & 

在vim手动,命令确实工作。

我在这里做错了什么?

感谢,

马丁


编辑:我忘了明确定义yuml文件类型。因此,我需要做的是以下行添加到.vimrc文件:

au BufRead,BufNewFile *.yuml set filetype=yuml 

回答

4

我不知道究竟是错的,但在一个脚本自动命令,我会跳过逃避问题和使用:let代替:

:autocmd FileType yuml let &makeprg = 'yuml -i % -o %<.pdf -f pdf & sleep 1; evince %<.pdf &' 

此外,检查文件类型是否正确设置你让我在正确的道路上:set ft?

+1

谢谢,我忘了定义文件类型。所以基本上所有我必须定义的是: au BufRead,BufNewFile * .yuml set filetype = yuml – Martin 2013-03-05 18:20:59