vim tidy makeprg with stdin

时间:2011-11-14 10:33:46

标签: html vim vi tidy

我在.vim / ftplugin / html.vim中有这个:

set makeprg=%!tidy\ -q\ -i\ --show-warnings\ no

如果我在html文件中制作,我会收到此错误:

E499: Empty file name for '%' or '#', only works with ":p:h"

执行此操作时:

:%!tidy -q -i --show-warnings no

它很漂亮。我的make makeprg做错了什么?

1 个答案:

答案 0 :(得分:2)

我认为makeprg不打算以这种方式使用。我建议你只需定义自己的映射或命令

:map ,m :%!tidy -q -i --show-warnings no<CR>
:Command Make %!tidy -q -i --show-warnings no<CR>

%!使用以下命令的输出替换缓冲区的内容,但在调用:make时,%将替换为当前缓冲区的文件名。出现错误,因为您当前的缓冲区未编辑文件,因此无法进行%替换。