掌上百科 - PDAWIKI

 找回密码
 免费注册

QQ登录

只需一步,快速开始

查看: 1016|回复: 9

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

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

    [LV.7]常住居民III

    发表于 2018-12-25 09:49:34 | 显示全部楼层 |阅读模式
    本帖最后由 VimVim 于 2018-12-25 09:50 编辑 ' B2 Y& O0 g3 Z: J' D; K
    ( z% |) D9 ^3 k  }# x
    为了让Vim更好地编辑mdx源文件,我需要指定源文件为html格式,从而可以正确加亮语法,但我又不想将文件后缀名txt改为html,否则用mdxbuilder制作mdx时又得改回txt。
    & \) `) r: ^: \+ M
    ; d" k1 ^& s3 m) F/ ?Vim可以通过在文件中指定文件类型,从而识别之,如:8 b5 M6 g; u  R0 o* p' ^
    /* vim: set filetype=html : */0 n/ q) A  I6 M8 A7 k
    ! d/ \" u) {- Y. s+ H3 Y/ w
    但毕竟注释文件与源文件的规定有所不同,既不是词条也不是正文。
      a' U6 o# Q- p) f+ p经测试:) i& B4 ]% J0 a8 b6 E1 i/ ~
    1、若将注释行放在txt源文件最前面,mdxbuilder会将该注释行当做词条;
    ! [- H3 n8 D/ J5 L- O2、若将注释行放在txt源文件最后面,mdxbuilder会报错;
    3 |) G' u6 V+ b) X3 j  E- g% S8 \$ ?; ?  R+ B: ?
    暂时解决方案有如下两个:+ N' R  z" j* c8 P2 c! Y
    方案1、将Vim注释当做一个多余的词条,缺点是这并不是真正的词典词条,如:
    9 _" w6 \3 F4 K5 P) q/* vim: set filetype=html : */3 `: |9 L) z. g
    </>
    $ j, G& H$ s$ m7 t7 q1 a方案2、将Vim注释行前后包装为HTML注释,并嵌入某一个词条的正文,缺点是,这个注释与该词条没有任何关系,如
    3 k0 q* ^9 E% `" G* Y<!-- /* vim: set filetype=html : */ -->, m# L# u& n# w; W

    5 V1 R+ S$ L$ v7 a( x5 U0 V不知道各位是否有更好的解决方案?或者MDX源文件有自己的注释语法?. g+ `; {! u: d. g1 _3 D
  • TA的每日心情
    奋斗
    2019-10-13 07:34
  • 签到天数: 209 天

    [LV.7]常住居民III

     楼主| 发表于 2018-12-25 10:09:29 | 显示全部楼层
    若有人能够将Vim的HTML syntax文件转换为MDX源文件syntax文件,那就完美了/ b, V% u8 Y3 R  g1 P' H
    ( s- ]9 H2 a3 k( P

    本帖子中包含更多资源

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

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

    该用户从未签到

    发表于 2018-12-25 12:00:31 | 显示全部楼层
    本帖最后由 henices 于 2018-12-25 12:01 编辑 " c* g. M$ n6 i% @
    * [7 Z' g; ]3 `5 K
    看了老半天,终于有点看懂了。楼主的主要问题有几个:
    / d5 w* j1 c+ }- v; [! C8 N: r, Z7 i3 D8 @$ w7 S4 e
    1. 如何 让 vim 浏览 txt 后缀文件时,使用 html 语法高亮问题
    ) o4 \# K7 L' {4 y( S% T% }9 o9 t) i; y/ }1 e
    这个直接输入命令不就好了  进入 normal 模式后 :set ft=html  
    4 L" P5 F( C9 a- ^. C% ]; E为什么要写在 mdx 的 txt 里呢0 I: `- P# |4 E2 ^' O' [

    6 d& j2 h) l' c5 B2. mdx 的注释语法
    4 H+ ?/ u- ?% D% c' o7 J1 T6 [) j2 g2 e# U, }& H4 q/ {% w
    不论是用那个软件,最终都是当成 html 解析的,所以正确的注释语法是 <!-- -->
    5 \% `. n9 y  z, d1 T! P
    1 T  l  T# G; D( i! H: N- ~3. 搞一个 mdx 的语法高亮文件
    ( b+ ]/ g: e  N( k$ j, \$ k
    5 L, ]& i: ~* L+ ^, X+ H同上就是应该是用html 高亮啊, 唯一不同的是 </> 个人感觉影响不大2 a. P2 N; n" h4 ]

    : O) q$ q5 M9 d1 U8 y' z
    - }9 `+ V6 _6 t) B最后,如果 mdx 的 txt 文件很大的, 加载语法高亮简直就是一个灾难,
    2 H, P( R& o. z) o3 m( [不信打开一个1G 的 mdx 的 txt 加载 html 语法高亮试试。$ O. }0 Z( K$ j6 F( h- c
  • TA的每日心情
    奋斗
    2019-10-13 07:34
  • 签到天数: 209 天

    [LV.7]常住居民III

     楼主| 发表于 2018-12-25 13:05:58 | 显示全部楼层
    bbs 发表于 2018-12-25 11:47
    , x; \" l3 V, R. i" l! U% C) q: q# d我就一句话,mdxbuilder制作mdx时不需要改回txt。只能帮到这里。看你自己的选择。 ...

    7 |0 `- h9 M( n6 y7 m7 |" m5 S感谢各位的解答,我知道有很多变通解决方案,但总觉得不是最佳。6 `% n% E  l; p4 U8 ]

    , C( {' c' l7 W6 I# g; `/ ?4 xmdxbuilder的选择框里只能选择txt,除非我们不用选择框,而是直接写源文件地址。$ U/ K- F+ k) `" t5 L  r
    更好的方案是,mdxbuilder的选择框里可以选择任意文件格式,而不限定txt。( j+ R5 w( x& r

    ) K4 I8 |0 j" O8 A
    - k) v  u# B* h/ C# Z9 o

    本帖子中包含更多资源

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

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

    [LV.7]常住居民III

     楼主| 发表于 2018-12-25 13:12:37 | 显示全部楼层
    henices 发表于 2018-12-25 12:00( @7 ?# w- j, c4 i5 b- q* V
    看了老半天,终于有点看懂了。楼主的主要问题有几个:1 u6 Y" s  X  v
    1 v8 L2 K: s9 V. z' O
    1. 如何 让 vim 浏览 txt 后缀文件时,使用 html 语 ...
    8 S( i# {. Y6 @( H" E0 |2 t
    您的理解很准确!对于您提到的:. f$ c$ ]: H; d# @0 _; I1 U& d

    7 U6 z  F* C" B1、:set filetype=html确实可以,但每次打开都得来一次,感觉比较麻烦,毕竟修订源文件可能来来回回好多次。
    , G1 `, I5 Q9 ~8 ^; q
    " |6 m4 V& W( d+ M! l3 C2、采用HTML注释,只能加入到某个词条,而不是文件最开始或最后,总觉得不舒服(癌症,得改!)! v9 y. G3 G1 }2 Q5 Z" z9 s, B& ^
    * d3 K( n$ p  V$ s
    3、搞一个mdx的语法高亮文件:这是我最希望的,但限于技术水平不知道怎么搞……, ]7 Q8 t' B" S: M

    : L7 A& ]' z+ ^; J3 l6 c+ |* k+ ~4、关于语法高亮带来的性能问题:对于大文件性能确实是一个问题,但我之所以需要识别格式,是为了能够使用Vim基于文件格式的其他插件功能,比如matchit的HTML标签配对等,这有助于借助vim的宏命令等实现一些自动化批量操作。$ P/ r. ]6 K& e' _
    5 w" D: n  Q2 q& E) }! z% H. ]

    0 Y: Q/ q$ E3 ^$ Q+ c9 m. \

    该用户从未签到

    发表于 2018-12-25 15:56:23 | 显示全部楼层
    VimVim 发表于 2018-12-25 13:12
    8 J; I0 E5 C1 [; L) M您的理解很准确!对于您提到的:
    : Z: u  a" z. z! }
    8 z0 w9 c1 b7 ?4 Q5 r7 G' U1、:set filetype=html确实可以,但每次打开都得来一次,感觉比较麻烦 ...
    7 A5 F" s# k: B7 M/ ~1 k) D& M5 O
    不难,我就写过, 给你参考一下
    ) P* a  H( V6 [$ Y$ @$ I
    3 B$ _5 ~9 [: f2 i( uhttps://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
    4 g5 P; `2 G! u不难,我就写过, 给你参考一下
    ( L/ y6 w0 o; }
    . h8 r! [9 z6 w1 yhttps://github.com/henices/vim-nbin/blob/master/syntax/nbin.vim ...
    & d* P$ r* ~4 O' s
    感谢!目前对我还是很有难度,继续学习学习!
  • TA的每日心情
    擦汗
    2023-9-2 09:16
  • 签到天数: 1103 天

    [LV.10]以坛为家III

    发表于 2018-12-26 10:51:48 | 显示全部楼层
    VimVim 发表于 2018-12-25 13:12( r! U4 _+ ?& _1 W. v. W; q' X( A/ S
    您的理解很准确!对于您提到的:
    ! I6 B: g# I, H- F: F
    0 W$ ]  z2 Q* f0 z2 Y1、:set filetype=html确实可以,但每次打开都得来一次,感觉比较麻烦 ...
    0 t& a4 t. \  a5 _( d' v
    能处理超大文件语法高亮的只有vis了。
  • TA的每日心情
    奋斗
    2019-10-13 07:34
  • 签到天数: 209 天

    [LV.7]常住居民III

     楼主| 发表于 2018-12-26 15:10:20 | 显示全部楼层
    我最终的解决方案是在mdx源文件最前面添加如下三行:1 W! |: M% V; a/ C( T( o/ k, e

    9 n  |  X5 Q9 z# w  M7 I$ H& e8 X2 _" o4 r<!-- mdx modeline for Vim-->  I* w$ W. e- z4 C0 n
    <!-- vim: set filetype=html : -->0 \6 ?/ [; Q( H3 ?6 \
    </>
    1 m4 w- t3 W- r5 K/ S5 K1 Z$ F* S4 G
    您需要登录后才可以回帖 登录 | 免费注册

    本版积分规则

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

    GMT+8, 2024-4-29 20:20 , Processed in 0.042689 second(s), 11 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2023, Tencent Cloud.

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