3

这是参考Paul Biggar所写的公认答案

在考虑了所有这些选项一段时间后,我决定采用以下解决方案。

使用 Rubber-info 从日志文件中获取错误和警告。上面的脚本将日志文件保存在 t.log 中。在 vim 中:

 autocmd FileType tex set makeprg=rubber-info\ t.log
 autocmd FileType tex set errorformat=%f:%l:\ %m

我想执行他的 github 脚本,以便“持续构建 [LaTeX 文件],随时刷新 pdf”。鉴于他没有完全提供如何运行它的说明,我认为这是一个相当简单的过程。但是,我对 vim 很陌生,一般对编程/github 知之甚少,所以我真的不知道如何开始。

我搜索了高低,并且取得了零进展。我不确定代码是否应该在 python 中编译,然后作为脚本运行,或者类似的东西。我感谢您的帮助!

编辑:根据评论讨论,我已成功使脚本可执行。但我仍然不知道如何运行它..?

4

1 回答 1

1

#!/usr/bin/env python

在脚本状态的顶部,以及import vim在正文中没有明确指出它应该从 shell(或从 vim)运行,使用

chmod +x /path/to/texbuild # Needed only once
/path/to/texbuild {script-args}

. 进一步的探索表明,它希望将一个 tex 文件作为其第一个也是唯一的参数(唯一sys.argv提到的地方是第 48 行),因此您可能应该使用以下命令来运行它:

augroup AutorunTexbuild
    autocmd!
    autocmd FileType tex :if !exists('b:runtexbuild') | call system('/path/to/texbuild '.shellescape(@%)) | let b:runtexbuild=1 | endif
    autocmd VimLeave * :call system('killall -TERM texbuild')
augroup END

. 这假设您一次只在一个 vim 实例中编辑 tex 文件。看起来作者希望您手动运行该脚本。

于 2012-10-17T15:12:26.827 回答