我想批量生成 HTML 文件来展示一些 gvim 配色方案。我从脚本中获取了当前解决方案http://code.google.com/p/vimcolorschemetest/,但这将为我想要处理的每个色彩方案打开一个 gvim 窗口。
到目前为止,我发现避免每秒弹出的烦人的新窗口的唯一方法是启动 VNCserver 并将DISPLAY
环境变量设置为 VNCserver 的环境变量,以便所有 gvim 窗口都发送到 VNC 会话内的显示器。
但是,我想知道是否有办法可以避免整个 VNC 设置,而只运行无头 gvim 实例来执行转换并退出,而实际上不会显示任何窗口。
顺便说一下,我正在使用 Linux。
答案1
vim -E -c "TOhtml" -c "w" -c "qa!" -- test.c >/dev/null
使用vim
,它的加载速度会比 快。您可以使用或 No-X 版本的 来gvim
稍微加快加载时间。-X
vim
为了使其静音,使用>/dev/null
。但这会使vim
( ) 发出抱怨Vim: Warning: Output is not to a terminal
并暂停一会儿,因此我们使用-E
。
我们可以尝试一下-E -s
,但我不知何故无法:TOhtml
正确使用,结果是没有颜色,而且只有一行。
-R -c "set noreadonly"
我通过单独使用或更好来稍微改进命令-n
。这可以防止在打开已有交换文件的文件时出现通常的警告消息。没有什么特别的可以防止无法打开不可写文件(例如由 root 拥有的文件)。
看看我的维姆卡特GitHub 上的存储库,用于在终端中使用 vim 语法高亮的示例。
答案2
我真的不能确定你的问题是 Vim 一次打开了太多窗口,还是它根本打开了任何窗口……
后一种情况我无法帮助您,但是,在任何较新的 Vim 中,您都可以执行如下操作(非常原始,但可能会变得更好):
# gvim -c TOhtml -c w -c q -c q test.c
这将使用当前颜色方案基于文件 test.c 创建 test.c.xhtml。然后,也许再使用 -c 来更改颜色,将其全部粘贴到 shell 脚本中...
编辑:
实际上没有显示任何窗口。
是的,我是个白痴。请忽略此帖子。