掌上百科 - PDAWIKI

 找回密码
 免费注册

QQ登录

只需一步,快速开始

查看: 1464|回复: 9

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

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

    [LV.7]常住居民III

    发表于 2018-12-25 09:49:34 | 显示全部楼层 |阅读模式
    本帖最后由 VimVim 于 2018-12-25 09:50 编辑 , z# G! U; K! g
    1 N& ?  Z6 `' Q
    为了让Vim更好地编辑mdx源文件,我需要指定源文件为html格式,从而可以正确加亮语法,但我又不想将文件后缀名txt改为html,否则用mdxbuilder制作mdx时又得改回txt。8 m4 ^  h! M, W: C( m5 S/ h
    : r% ?. t* P5 p+ N" G$ Q/ G0 a
    Vim可以通过在文件中指定文件类型,从而识别之,如:$ |! ~. Z- b5 ]2 s
    /* vim: set filetype=html : */
    6 x2 \4 L) x3 c* Z  a, P# A9 `$ W& v* N/ [( a$ c
    但毕竟注释文件与源文件的规定有所不同,既不是词条也不是正文。
    2 V/ J4 k9 P: f; h1 N- s经测试:/ Y2 }# G* ^3 U' t/ ]; Y- [! c. ?
    1、若将注释行放在txt源文件最前面,mdxbuilder会将该注释行当做词条;& [1 q7 H+ |1 t2 O: n# K
    2、若将注释行放在txt源文件最后面,mdxbuilder会报错;
    ! c0 J) t( h- c& h, }
    9 T1 E" P, G2 @1 n4 r暂时解决方案有如下两个:
    $ a1 G( |; U1 ^方案1、将Vim注释当做一个多余的词条,缺点是这并不是真正的词典词条,如:- o% ]- O2 w' H
    /* vim: set filetype=html : */
    2 m# b& H$ Z4 q" i/ X/ y$ A</>
    0 ~* l$ X' ^5 I, L3 x: Q方案2、将Vim注释行前后包装为HTML注释,并嵌入某一个词条的正文,缺点是,这个注释与该词条没有任何关系,如
    9 B" z+ K- U. I5 n  G0 ?( s6 J6 A<!-- /* vim: set filetype=html : */ -->, M0 {6 c/ o6 v0 A
    - X, y! ?% d$ t
    不知道各位是否有更好的解决方案?或者MDX源文件有自己的注释语法?* x! {9 r! Y% F+ H
  • TA的每日心情
    奋斗
    2019-10-13 07:34
  • 签到天数: 209 天

    [LV.7]常住居民III

     楼主| 发表于 2018-12-25 10:09:29 | 显示全部楼层
    若有人能够将Vim的HTML syntax文件转换为MDX源文件syntax文件,那就完美了
    0 s1 r* ?6 K. S  u
    , ~3 C* A: V9 l3 l

    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有账号?免费注册

    x
    bbs 该用户已被删除
    发表于 2018-12-25 11:47:02 | 显示全部楼层
    我就一句话,mdxbuilder制作mdx时不需要改回txt。只能帮到这里。看你自己的选择。

    该用户从未签到

    发表于 2018-12-25 12:00:31 | 显示全部楼层
    本帖最后由 henices 于 2018-12-25 12:01 编辑 ! F9 o2 ]% L- E4 t7 J) N

    3 z7 b, `+ ?+ M+ r& n: r6 u* E9 u看了老半天,终于有点看懂了。楼主的主要问题有几个:4 n& @2 i7 ^" ~3 K( b/ A7 c0 _# I

      g/ T6 m' l0 X# F1. 如何 让 vim 浏览 txt 后缀文件时,使用 html 语法高亮问题
    8 Y& {6 D: \5 U$ j: N8 l6 q  u* M/ F3 `+ y6 X: e" O! ?1 n  w
    这个直接输入命令不就好了  进入 normal 模式后 :set ft=html  0 J4 a' c# Z0 L3 R; k7 k* [; |0 L3 l
    为什么要写在 mdx 的 txt 里呢7 x; M5 w7 o, E+ T5 k
    : j; f* y2 X+ a! ~# q, o3 Y% i0 f0 u
    2. mdx 的注释语法1 r$ ?% Y6 C# {9 W
    $ Z% S, k0 P$ q
    不论是用那个软件,最终都是当成 html 解析的,所以正确的注释语法是 <!-- -->
    % U5 o% P: F+ G, U- C* h
    . U8 h5 Q2 W, I4 d4 ]- C. y7 l; ^3. 搞一个 mdx 的语法高亮文件: N) D( `/ G2 |0 G1 h# ?# \

    ! o6 t9 h, `9 y$ m同上就是应该是用html 高亮啊, 唯一不同的是 </> 个人感觉影响不大1 b; M7 N" W- `0 p( K5 ]
    0 B( |2 [; k) s% T% I) ~4 J
    5 q% Q8 j6 J4 U: Y" y
    最后,如果 mdx 的 txt 文件很大的, 加载语法高亮简直就是一个灾难,: x( }# S% @0 v' R* o
    不信打开一个1G 的 mdx 的 txt 加载 html 语法高亮试试。1 k7 _. ]* l1 n& h7 i" |! L
  • TA的每日心情
    奋斗
    2019-10-13 07:34
  • 签到天数: 209 天

    [LV.7]常住居民III

     楼主| 发表于 2018-12-25 13:05:58 | 显示全部楼层
    bbs 发表于 2018-12-25 11:47
    2 v, [! `4 @- b& l, I7 G' ^9 R: Y, q( r  B我就一句话,mdxbuilder制作mdx时不需要改回txt。只能帮到这里。看你自己的选择。 ...

    8 _" n  m9 K7 D' u/ h感谢各位的解答,我知道有很多变通解决方案,但总觉得不是最佳。
    / y, k% d9 d$ s
    3 N+ ?4 ]5 S, @- X, q+ s$ u7 N. U; gmdxbuilder的选择框里只能选择txt,除非我们不用选择框,而是直接写源文件地址。
    ( e( D/ S0 ~7 M" c! ?! R- y- C8 X更好的方案是,mdxbuilder的选择框里可以选择任意文件格式,而不限定txt。) h7 ]9 k" ^5 Z4 r

    8 O- s$ E: H$ _- ~3 f
    ) U0 f! [* ]* z3 H2 G& Q2 h

    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有账号?免费注册

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

    [LV.7]常住居民III

     楼主| 发表于 2018-12-25 13:12:37 | 显示全部楼层
    henices 发表于 2018-12-25 12:002 p- s- @6 J, j4 ?  W/ k
    看了老半天,终于有点看懂了。楼主的主要问题有几个:
    6 N, F( Y  k3 x
    * ~& n; O! M) i! d/ l$ J' ?$ c4 O1. 如何 让 vim 浏览 txt 后缀文件时,使用 html 语 ...
    0 a; d: @/ B; u
    您的理解很准确!对于您提到的:
    # F% {6 R3 Z! k' i
    / Y! L5 S1 V$ M7 {6 j* o1、:set filetype=html确实可以,但每次打开都得来一次,感觉比较麻烦,毕竟修订源文件可能来来回回好多次。
    % i: _1 z. }" @" r$ r3 H
    0 f! x7 i" E" Z4 r  `: E2、采用HTML注释,只能加入到某个词条,而不是文件最开始或最后,总觉得不舒服(癌症,得改!)
    . |/ \$ H' t) [; A$ ~5 }: Q  R$ Y' Z9 n: {
    3、搞一个mdx的语法高亮文件:这是我最希望的,但限于技术水平不知道怎么搞……
    * w- [. @; Q! A8 O: Q
    " n- t. a1 j" D! x$ a: ?, {4、关于语法高亮带来的性能问题:对于大文件性能确实是一个问题,但我之所以需要识别格式,是为了能够使用Vim基于文件格式的其他插件功能,比如matchit的HTML标签配对等,这有助于借助vim的宏命令等实现一些自动化批量操作。9 X1 d4 c. u' ]" d/ [
    8 f4 z2 E# k( C% C7 R1 o: C
    9 v9 T1 I9 e' T% N

    该用户从未签到

    发表于 2018-12-25 15:56:23 | 显示全部楼层
    VimVim 发表于 2018-12-25 13:12* x( d, c# ^% L( K3 j
    您的理解很准确!对于您提到的:
    9 k6 ~+ E1 F0 k! K: \
    + M+ ~0 P' Q* b$ `* H. C2 j& V1、:set filetype=html确实可以,但每次打开都得来一次,感觉比较麻烦 ...
    7 E; N4 m' L# b3 Y8 z" p+ u
    不难,我就写过, 给你参考一下$ o$ V" T" J# O( G) r

    9 Q0 G$ b, a* zhttps://github.com/henices/vim-nbin/blob/master/syntax/nbin.vim
  • TA的每日心情
    奋斗
    2019-10-13 07:34
  • 签到天数: 209 天

    [LV.7]常住居民III

     楼主| 发表于 2018-12-25 17:57:40 | 显示全部楼层
    henices 发表于 2018-12-25 15:56
    2 \$ k8 F0 D1 k. V不难,我就写过, 给你参考一下
    7 \: |; ^9 ?& U! r4 }: l: z) D! ]* y
    https://github.com/henices/vim-nbin/blob/master/syntax/nbin.vim ...

    * h/ z  C* P( `$ g* L感谢!目前对我还是很有难度,继续学习学习!
  • TA的每日心情
    擦汗
    2023-9-2 09:16
  • 签到天数: 1103 天

    [LV.10]以坛为家III

    发表于 2018-12-26 10:51:48 | 显示全部楼层
    VimVim 发表于 2018-12-25 13:12
    # H) I& ^" D8 Z7 \4 x您的理解很准确!对于您提到的:, O4 M$ |/ ?1 S  f
    $ \7 J# R2 ~) T' X2 y0 H# z
    1、:set filetype=html确实可以,但每次打开都得来一次,感觉比较麻烦 ...

    ! E; x$ t- y7 r  s4 y) d4 ^能处理超大文件语法高亮的只有vis了。
  • TA的每日心情
    奋斗
    2019-10-13 07:34
  • 签到天数: 209 天

    [LV.7]常住居民III

     楼主| 发表于 2018-12-26 15:10:20 | 显示全部楼层
    我最终的解决方案是在mdx源文件最前面添加如下三行:
    ; y( {2 i% g/ y9 b* E/ r6 L, N7 s$ T1 {) n) q% O$ |  U
    <!-- mdx modeline for Vim-->0 ^' A, z! F3 W" Y) i
    <!-- vim: set filetype=html : -->' }' @% u, @9 Z+ V3 C
    </>% H! v! H" |- y  P$ b
    您需要登录后才可以回帖 登录 | 免费注册

    本版积分规则

    小黑屋|手机版|Archiver|PDAWIKI |网站地图

    GMT+8, 2025-5-6 13:06 , Processed in 0.021847 second(s), 23 queries .

    Powered by Discuz! X3.4

    © 2001-2023 Discuz! Team.

    快速回复 返回顶部 返回列表