查看: 870|回复: 9
打印 上一主题 下一主题

[讨论] mdx源文件中如何添加注释行

[复制链接]
  • TA的每日心情
    奋斗
    2019-10-13 07:34
  • 签到天数: 209 天

    [LV.7]常住居民III

    73

    主题

    1552

    回帖

    9万

    积分

    状元

    Rank: 9Rank: 9Rank: 9

    积分
    96973

    QQ 章笑傲江湖章灌水大神章推广专家

    跳转到指定楼层
    1
    发表于 2018-12-25 09:49:34 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
    本帖最后由 VimVim 于 2018-12-25 09:50 编辑

    为了让Vim更好地编辑mdx源文件,我需要指定源文件为html格式,从而可以正确加亮语法,但我又不想将文件后缀名txt改为html,否则用mdxbuilder制作mdx时又得改回txt。

    Vim可以通过在文件中指定文件类型,从而识别之,如:
    /* vim: set filetype=html : */

    但毕竟注释文件与源文件的规定有所不同,既不是词条也不是正文。
    经测试:
    1、若将注释行放在txt源文件最前面,mdxbuilder会将该注释行当做词条;
    2、若将注释行放在txt源文件最后面,mdxbuilder会报错;

    暂时解决方案有如下两个:
    方案1、将Vim注释当做一个多余的词条,缺点是这并不是真正的词典词条,如:
    /* vim: set filetype=html : */
    </>
    方案2、将Vim注释行前后包装为HTML注释,并嵌入某一个词条的正文,缺点是,这个注释与该词条没有任何关系,如
    <!-- /* vim: set filetype=html : */ -->

    不知道各位是否有更好的解决方案?或者MDX源文件有自己的注释语法?
  • TA的每日心情
    奋斗
    2019-10-13 07:34
  • 签到天数: 209 天

    [LV.7]常住居民III

    73

    主题

    1552

    回帖

    9万

    积分

    状元

    Rank: 9Rank: 9Rank: 9

    积分
    96973

    QQ 章笑傲江湖章灌水大神章推广专家

    2
     楼主| 发表于 2018-12-25 10:09:29 | 只看该作者
    若有人能够将Vim的HTML syntax文件转换为MDX源文件syntax文件,那就完美了
    Syntax html.zip (4.33 KB, 下载次数: 0)
    bbs 该用户已被删除
    3
    发表于 2018-12-25 11:47:02 | 只看该作者
    我就一句话,mdxbuilder制作mdx时不需要改回txt。只能帮到这里。看你自己的选择。

    该用户从未签到

    95

    主题

    554

    回帖

    2万

    积分

    翰林院编修

    终身学习者

    Rank: 11Rank: 11Rank: 11Rank: 11

    积分
    24557

    翰林院专用章灌水大神章笑傲江湖章小蜜蜂章管理组专用章

    4
    发表于 2018-12-25 12:00:31 | 只看该作者
    本帖最后由 henices 于 2018-12-25 12:01 编辑

    看了老半天,终于有点看懂了。楼主的主要问题有几个:

    1. 如何 让 vim 浏览 txt 后缀文件时,使用 html 语法高亮问题

    这个直接输入命令不就好了  进入 normal 模式后 :set ft=html  
    为什么要写在 mdx 的 txt 里呢

    2. mdx 的注释语法

    不论是用那个软件,最终都是当成 html 解析的,所以正确的注释语法是 <!-- -->

    3. 搞一个 mdx 的语法高亮文件

    同上就是应该是用html 高亮啊, 唯一不同的是 </> 个人感觉影响不大


    最后,如果 mdx 的 txt 文件很大的, 加载语法高亮简直就是一个灾难,
    不信打开一个1G 的 mdx 的 txt 加载 html 语法高亮试试。
  • TA的每日心情
    奋斗
    2019-10-13 07:34
  • 签到天数: 209 天

    [LV.7]常住居民III

    73

    主题

    1552

    回帖

    9万

    积分

    状元

    Rank: 9Rank: 9Rank: 9

    积分
    96973

    QQ 章笑傲江湖章灌水大神章推广专家

    5
     楼主| 发表于 2018-12-25 13:05:58 | 只看该作者
    bbs 发表于 2018-12-25 11:47
    我就一句话,mdxbuilder制作mdx时不需要改回txt。只能帮到这里。看你自己的选择。 ...

    感谢各位的解答,我知道有很多变通解决方案,但总觉得不是最佳。

    mdxbuilder的选择框里只能选择txt,除非我们不用选择框,而是直接写源文件地址。
    更好的方案是,mdxbuilder的选择框里可以选择任意文件格式,而不限定txt。


  • TA的每日心情
    奋斗
    2019-10-13 07:34
  • 签到天数: 209 天

    [LV.7]常住居民III

    73

    主题

    1552

    回帖

    9万

    积分

    状元

    Rank: 9Rank: 9Rank: 9

    积分
    96973

    QQ 章笑傲江湖章灌水大神章推广专家

    6
     楼主| 发表于 2018-12-25 13:12:37 | 只看该作者
    henices 发表于 2018-12-25 12:00
    看了老半天,终于有点看懂了。楼主的主要问题有几个:

    1. 如何 让 vim 浏览 txt 后缀文件时,使用 html 语 ...

    您的理解很准确!对于您提到的:

    1、:set filetype=html确实可以,但每次打开都得来一次,感觉比较麻烦,毕竟修订源文件可能来来回回好多次。

    2、采用HTML注释,只能加入到某个词条,而不是文件最开始或最后,总觉得不舒服(癌症,得改!)

    3、搞一个mdx的语法高亮文件:这是我最希望的,但限于技术水平不知道怎么搞……

    4、关于语法高亮带来的性能问题:对于大文件性能确实是一个问题,但我之所以需要识别格式,是为了能够使用Vim基于文件格式的其他插件功能,比如matchit的HTML标签配对等,这有助于借助vim的宏命令等实现一些自动化批量操作。


    该用户从未签到

    95

    主题

    554

    回帖

    2万

    积分

    翰林院编修

    终身学习者

    Rank: 11Rank: 11Rank: 11Rank: 11

    积分
    24557

    翰林院专用章灌水大神章笑傲江湖章小蜜蜂章管理组专用章

    7
    发表于 2018-12-25 15:56:23 | 只看该作者
    VimVim 发表于 2018-12-25 13:12
    您的理解很准确!对于您提到的:

    1、:set filetype=html确实可以,但每次打开都得来一次,感觉比较麻烦 ...

    不难,我就写过, 给你参考一下

    https://github.com/henices/vim-nbin/blob/master/syntax/nbin.vim
  • TA的每日心情
    奋斗
    2019-10-13 07:34
  • 签到天数: 209 天

    [LV.7]常住居民III

    73

    主题

    1552

    回帖

    9万

    积分

    状元

    Rank: 9Rank: 9Rank: 9

    积分
    96973

    QQ 章笑傲江湖章灌水大神章推广专家

    8
     楼主| 发表于 2018-12-25 17:57:40 | 只看该作者
    henices 发表于 2018-12-25 15:56
    不难,我就写过, 给你参考一下

    https://github.com/henices/vim-nbin/blob/master/syntax/nbin.vim ...

    感谢!目前对我还是很有难度,继续学习学习!
  • TA的每日心情
    擦汗
    前天 07:00
  • 签到天数: 1090 天

    [LV.10]以坛为家III

    124

    主题

    1772

    回帖

    1万

    积分

    状元

    Rank: 9Rank: 9Rank: 9

    积分
    10477

    灌水大神章小蜜蜂章笑傲江湖章

    9
    发表于 2018-12-26 10:51:48 | 只看该作者
    VimVim 发表于 2018-12-25 13:12
    您的理解很准确!对于您提到的:

    1、:set filetype=html确实可以,但每次打开都得来一次,感觉比较麻烦 ...

    能处理超大文件语法高亮的只有vis了。
  • TA的每日心情
    奋斗
    2019-10-13 07:34
  • 签到天数: 209 天

    [LV.7]常住居民III

    73

    主题

    1552

    回帖

    9万

    积分

    状元

    Rank: 9Rank: 9Rank: 9

    积分
    96973

    QQ 章笑傲江湖章灌水大神章推广专家

    10
     楼主| 发表于 2018-12-26 15:10:20 | 只看该作者
    我最终的解决方案是在mdx源文件最前面添加如下三行:

    <!-- mdx modeline for Vim-->
    <!-- vim: set filetype=html : -->
    </>