这是两个问题合二为一。最近,我花了很多时间来深入学习vimscript,学习vim的内部知识,并开始编写vim插件。在此过程中,我一直在单独的markdown文件中保留大量注释,并在vimscript文件中添加许多内联的“文档”注释。

我觉得我终于有了一些值得共享的代码,并希望开始添加一些实际文档。我尚未编写任何自己的帮助文档文件,因此我仍在弄清楚该过程。

在没有任何经验或对该工作流程没有扎实的了解的情况下,我正在尝试完成两个任务:


从我的markdown生成帮助文档文件'在vim / vimscript上记录笔记的文件,因此我可以随时快速,轻松地从vim读取/引用。
从vimscript文件中解析内联文档(类似于shocco用于shell脚本的方式)以生成关联的文件Vimscripts的帮助文档。

关于想法的任何建议或建议(这是一个坏主意,因为...,更好的主意是...),或者如何实现它们将不胜感激。

评论

即使我不知道将markdown转换为vim的帮助文件类型的方法,但我确实知道如何编写它们的好介绍:learningvimscriptthehardway.stevelosh.com/chapters/54.html

#1 楼

据我所知,目前对于这两个问题都没有好的解决方案,但是很多人都希望解决它们。

Markdown是HTML的超集,所以我想说一种正面的方法从减价到Vim帮助的转换不太可能成功。如果您会说Haskell,可以尝试为Pandoc编写Vim帮助后端。即使它不是完美的,那也将是一个非常好的解决方案。

已经尝试了一些其他方法,将Vim帮助页面转换为一些有用的格式。有一些脚本可以生成官方帮助的HTML和PDF版本,并获得不同程度的成功。但是他们都依赖于风格上或多或少同质的帮助。就连Pandoc之类的Vim帮助阅读器也将是一个值得的项目。

从Vim代码中提取文档,还有一个用于VimL的语法分析器,它使用Python,JavaScript和VimL本身,名为vimlparser。很好,编写解析VimL源并转储特制注释的内容应该不难。能够将这些注释转换为POD之类的内容也非常有用。

#2 楼

html2vimdoc.py

我找到的最有前途的工具是html2vimdoc.py,可以在这里找到。
http://peterodding.com/code/vim/tools和github上。它可以将markdown和html转换为vim的帮助格式。广告功能包括:


它可以处理复杂的HTML,这要归功于[BeautifulSoup] bs
自动生成标题的Vim帮助文件标签
从标题生成目录&标签
支持嵌套块结构,如嵌套列表,列表内的预格式化块等。
根据每个列表项的平均行数来压缩和扩展列表项

是https://github.com/mklabs/vim-markdown-helpfile

在https://superuser.com/q/415470/generating-help-files-for上也有讨论-vim