我有一个用编程语言(例如PHP)编写的源代码文件,我想将其转换为HTML文件,因此我可以将其发布在网络上以便共享我的代码。

通过转换,例如,我的意思是将新行转换为<br>标记,以使文本在文本编辑器和Web浏览器中都保持相同的格式。理想情况下,它还应保留语法突出显示,以便可以打印。

在Vim中可以实现吗?如果可以,怎么办?

评论

转换是什么意思?预期输出是什么?

预期的输出将是html(浏览器友好格式)。

所有文本文件都是“浏览器友好的”。但是,当我看到Alexander Myshov的回答时,我想我明白您的意思了。

我认为这个问题缺少细节。您是要为每个源文件生成完整的HTML文档,还是仅生成可嵌入到另一个文档中的HTML代码片段,还是没关系?

#1 楼

以下vim命令将创建当前文件的html呈现。

:TOhtml


它将文件保存在同一文件夹(扩展名为.html)中,并将包括样式,前景色/背景色和语法突出显示,因此该文件可以直接在Web上发布和打印。

有关更多选项(如添加行号,与旧浏览器的兼容性等),请检查: :help TOhtml

要非交互式地转换文件,请尝试以下命令:

vim -E -s -c "let g:html_no_progress=1" -c "syntax on" -c "set ft=c" -c "runtime syntax/2html.vim" -cwqa myfile.c


相关:



在stackoverflow上使用CSS样式将代码转换为HTML


评论


您不需要%,因为这是默认值。还要注意,这与其他答案(:runtime!语法/2html.vim)完全相同,唯一的区别是使用TOhtml可以轻松添加范围(而不是手动设置g:html_start_line和g:html_end_line)。

–马丁·图尔诺伊(Martin Tournoij)
2015年2月15日,0:14

在Vim 8.2(非标准文件类型,不是C)上,这对我来说无法正常工作:vim -E -s -c“ let g:html_no_progress = 1” -c“ set background = light” -c“ set ft = myfiletype “ -c”运行时语法/2html.vim“ -c wqa myfile.txt。具体来说,突出显示CSS规则的语法不会插入到生成的HTML文件中。如果我将-s删除为静默模式,则可以正常工作(但不确定如果没有tty,是否可以正常工作)。

–索伦·比约恩斯塔德(Soren Bjornstad)
20-11-11的3:39

#2 楼

据我了解,您希望将当前窗口的内容转换为HTML。
尝试运行此命令:

:runtime! syntax/2html.vim


更多信息在这里: >
:help convert-to-HTML