0

经过大量搜索和尝试,我发现这可以让我使用 vim 进行整洁的工作:

:set makeprg=tidy\ -e\ --gnu-emacs\ yes 
:set shellpipe=2>
:set errorformat=%f:%l:%c:\ %m
:make %
:copen

但是为什么 quickfix 窗口中的输出在^M每行的末尾都有一个 unix 换行符呢?我试图删除它,但 quickfix 窗口中的内容不可修改。

我也试图让整洁地纠正错误,但只纠正错误。

我创建了这个:

   let errorf = "d:\\error.txt"
   let currentf = expand("%:p")
   let writef = "d:\\".expand("%:t:r")."_tidy.".expand("%:e")

   exe a:type."!tidy -w 0 -f ".errorf." -o ".writef." ".currentf 
   exe ":bot split ".writef
   exe ":bot split ".errorf

但这改变了我文件的完整输出。我只想更正错误。我已阅读 tidy 手册,但找不到一个简单的选项来仅更正错误而不更改文件的其余部分。体育

<h1>test</h2>  --> <h1>test</h1>

是否有 tidy 用户只知道如何更改 tidy 中的错误?

4

2 回答 2

1

看看syntastic插件。它支持tidy作为 HTML 的语法检查器之一。

于 2013-08-18T10:48:47.973 回答
1

您可以将 tidy 的输出通过管道传输到 sed 以创建一个过滤器,以在 vim 将其放入 quickfix 窗口之前删除回车符。

set makeprg=tidy\ -e\ --gnu-emacs\ yes\ $*\ \\\|\ sed\ 's/\\r$//'

管道需要转义两次,一次是为了解释命令。

我使用的 sed 命令是

sed 's/\r$//

这将删除出现在行尾的回车。

于 2013-08-16T14:06:05.473 回答