我在.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做错了什么?
答案 0 :(得分:2)
我认为makeprg
不打算以这种方式使用。我建议你只需定义自己的映射或命令
:map ,m :%!tidy -q -i --show-warnings no<CR>
:Command Make %!tidy -q -i --show-warnings no<CR>
%!
使用以下命令的输出替换缓冲区的内容,但在调用:make
时,%
将替换为当前缓冲区的文件名。出现错误,因为您当前的缓冲区未编辑文件,因此无法进行%
替换。