掌上百科 - PDAWIKI

 找回密码
 免费注册

QQ登录

只需一步,快速开始

查看: 2226|回复: 9

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

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

    [LV.7]常住居民III

    发表于 2018-12-25 09:49:34 | 显示全部楼层 |阅读模式
    本帖最后由 VimVim 于 2018-12-25 09:50 编辑
    ( D5 A8 @/ I/ F, l  l% L  h4 L$ J/ ^# n$ Q% q/ T
    为了让Vim更好地编辑mdx源文件,我需要指定源文件为html格式,从而可以正确加亮语法,但我又不想将文件后缀名txt改为html,否则用mdxbuilder制作mdx时又得改回txt。
    3 u, N: h, _" z9 X; m& Q* b7 x
    # N# d$ }1 O2 @" t2 e- b) E0 XVim可以通过在文件中指定文件类型,从而识别之,如:. K/ }" i! R" y' |
    /* vim: set filetype=html : */
      J2 B- b( w5 H5 B9 l4 G4 C  `$ T3 o5 m7 f! p
    但毕竟注释文件与源文件的规定有所不同,既不是词条也不是正文。
    4 J+ k4 F: ~& @( W6 }( _; t经测试:$ F. d. \3 z. X, p
    1、若将注释行放在txt源文件最前面,mdxbuilder会将该注释行当做词条;- g4 ]+ i- _! n; O6 J+ C/ E
    2、若将注释行放在txt源文件最后面,mdxbuilder会报错;5 r' |4 Y/ k$ Q( M0 a6 q$ v: p
    ; }# D1 x: S  u* M( ~8 l- `
    暂时解决方案有如下两个:. s: ]1 f4 ?5 @% Q) A% l' g
    方案1、将Vim注释当做一个多余的词条,缺点是这并不是真正的词典词条,如:
    8 K) Q- y) }4 I  c/* vim: set filetype=html : */
      ^5 ?3 S" C6 l" K7 g4 ?' ]+ V- V</>' [: q2 w1 l$ }7 h! B
    方案2、将Vim注释行前后包装为HTML注释,并嵌入某一个词条的正文,缺点是,这个注释与该词条没有任何关系,如) z$ w- @7 T$ C, [$ b; O$ U
    <!-- /* vim: set filetype=html : */ -->$ @0 P! T2 ], y3 U, J( q0 W
    0 C" s# R! s0 a( Q* k, h  ~
    不知道各位是否有更好的解决方案?或者MDX源文件有自己的注释语法?1 C& C2 S* i6 c4 f4 `
  • TA的每日心情
    奋斗
    2019-10-13 07:34
  • 签到天数: 209 天

    [LV.7]常住居民III

     楼主| 发表于 2018-12-25 10:09:29 | 显示全部楼层
    若有人能够将Vim的HTML syntax文件转换为MDX源文件syntax文件,那就完美了" b: {1 \8 \4 F9 s  N
    0 r# q+ l8 [! a% |/ ^0 Y  h

    本帖子中包含更多资源

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

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

    该用户从未签到

    发表于 2018-12-25 12:00:31 | 显示全部楼层
    本帖最后由 henices 于 2018-12-25 12:01 编辑 2 L0 S7 A1 z' }0 n0 j
    6 C5 m6 ^& v) |$ Y% R# J, F. u
    看了老半天,终于有点看懂了。楼主的主要问题有几个:
    + J9 O; ?% ?) U% m/ B% I7 |
    * X  I4 {1 o  ]- i  `6 m9 z. k1. 如何 让 vim 浏览 txt 后缀文件时,使用 html 语法高亮问题, m7 J3 c: W. w" l& ^

    4 b0 d) M/ d: j) K1 k' H$ C这个直接输入命令不就好了  进入 normal 模式后 :set ft=html  $ P1 c- Z5 S* P; F" S
    为什么要写在 mdx 的 txt 里呢5 w  V, M0 `4 N8 [! S

    & c; l, Z) D% j; U2. mdx 的注释语法
    % W0 c8 Y2 M" t2 E7 K+ L* `3 T1 T7 Z4 B! E
    不论是用那个软件,最终都是当成 html 解析的,所以正确的注释语法是 <!-- -->
    8 i- {2 y) c9 r9 E7 \$ I' {, J, A) L. ?! g6 S
    3. 搞一个 mdx 的语法高亮文件& {- R2 V; G' Y& K$ p
    2 l& n3 [. Q0 u' e9 v
    同上就是应该是用html 高亮啊, 唯一不同的是 </> 个人感觉影响不大$ Q' ~& k- r# Z' P
    : w. t% c/ d# J9 U: h

    4 }* k9 D4 n# h最后,如果 mdx 的 txt 文件很大的, 加载语法高亮简直就是一个灾难,
    - E5 ^: z4 N' R' @" l$ l# [6 D不信打开一个1G 的 mdx 的 txt 加载 html 语法高亮试试。/ O* U( ~' U& j3 n+ L5 b+ o
  • TA的每日心情
    奋斗
    2019-10-13 07:34
  • 签到天数: 209 天

    [LV.7]常住居民III

     楼主| 发表于 2018-12-25 13:05:58 | 显示全部楼层
    bbs 发表于 2018-12-25 11:47
    & |- ^  M+ N) ]5 ~) J我就一句话,mdxbuilder制作mdx时不需要改回txt。只能帮到这里。看你自己的选择。 ...
    2 p5 O0 Y" ?, I
    感谢各位的解答,我知道有很多变通解决方案,但总觉得不是最佳。
    5 Z% c, S+ P' `! a3 o- E2 v# Q- p" W: {& `$ Q4 b& K# x% A- A9 d
    mdxbuilder的选择框里只能选择txt,除非我们不用选择框,而是直接写源文件地址。
    * W2 ~: ~' V! U1 ^5 [' J7 X更好的方案是,mdxbuilder的选择框里可以选择任意文件格式,而不限定txt。4 {9 y. g" A6 R' X) Z3 ]
    . v3 P) }0 Q3 W! F. G: ?/ K

    / K- V# g* `/ t

    本帖子中包含更多资源

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

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

    [LV.7]常住居民III

     楼主| 发表于 2018-12-25 13:12:37 | 显示全部楼层
    henices 发表于 2018-12-25 12:00- }' f# f6 s) H+ Q/ ~# y* |* e
    看了老半天,终于有点看懂了。楼主的主要问题有几个:0 J( r7 U$ E" n& @

    * w8 }- M7 v1 j7 T7 q1. 如何 让 vim 浏览 txt 后缀文件时,使用 html 语 ...

    ' V" s* q' N; d您的理解很准确!对于您提到的:
    8 ]1 _2 e- ^! R/ `% H# I, b7 {' e0 O8 E
    1、:set filetype=html确实可以,但每次打开都得来一次,感觉比较麻烦,毕竟修订源文件可能来来回回好多次。* ]( l& E! K/ X" z7 p" w, v

    : @. w6 T! ^$ F( t- F( h2、采用HTML注释,只能加入到某个词条,而不是文件最开始或最后,总觉得不舒服(癌症,得改!)
    7 ~  `9 D9 N+ ]: j5 ]- d; _; S# [  w9 r* h( t7 C4 j2 j6 y  C
    3、搞一个mdx的语法高亮文件:这是我最希望的,但限于技术水平不知道怎么搞……! n7 ~  D9 t) v! N9 s- T
    " L* F* D& k* ^0 n/ q0 h1 u: l
    4、关于语法高亮带来的性能问题:对于大文件性能确实是一个问题,但我之所以需要识别格式,是为了能够使用Vim基于文件格式的其他插件功能,比如matchit的HTML标签配对等,这有助于借助vim的宏命令等实现一些自动化批量操作。  d( [) E- G' t5 c% b" a% @$ j" g

    * q) ^8 T8 m. P6 A9 B/ g6 D. ], _9 Z( g6 D

    该用户从未签到

    发表于 2018-12-25 15:56:23 | 显示全部楼层
    VimVim 发表于 2018-12-25 13:12
    # M$ U" U1 W) d$ c您的理解很准确!对于您提到的:
    8 }" f% \  o; c1 h- |4 k: E5 J& E# l
    1、:set filetype=html确实可以,但每次打开都得来一次,感觉比较麻烦 ...
    - k+ P4 K. i1 J3 ]+ I, I+ R
    不难,我就写过, 给你参考一下
    ; D1 g- e  r2 X2 Y4 q
    , L8 C7 A; |* A. H7 ehttps://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
    9 C! S, ]7 {( `; I0 k8 h! M不难,我就写过, 给你参考一下
    , ^  j! F) o5 Z: k* x  m# s/ I/ W+ z+ K' x
    https://github.com/henices/vim-nbin/blob/master/syntax/nbin.vim ...

    * r. m" d1 Y6 |感谢!目前对我还是很有难度,继续学习学习!
  • TA的每日心情

    2025-8-19 07:45
  • 签到天数: 1104 天

    [LV.10]以坛为家III

    发表于 2018-12-26 10:51:48 | 显示全部楼层
    VimVim 发表于 2018-12-25 13:120 o. z: n4 \! r* w6 e2 A2 i
    您的理解很准确!对于您提到的:
    . l, J1 o( U) j; c% x2 F6 V3 V
    . N: Q: y5 \1 }) s3 H  P# H- Y1、:set filetype=html确实可以,但每次打开都得来一次,感觉比较麻烦 ...

      k& S; Y' r7 `) j. i能处理超大文件语法高亮的只有vis了。
  • TA的每日心情
    奋斗
    2019-10-13 07:34
  • 签到天数: 209 天

    [LV.7]常住居民III

     楼主| 发表于 2018-12-26 15:10:20 | 显示全部楼层
    我最终的解决方案是在mdx源文件最前面添加如下三行:" m3 q% ?8 K% s% x: }: N
    7 d& n0 a+ N. R: r% l
    <!-- mdx modeline for Vim-->
      X( i; z9 J! `5 a# U1 m3 u2 @<!-- vim: set filetype=html : -->( u3 {& ]6 o; c+ q1 @/ ^, S
    </>
    # G* o2 Q0 p( v! Y* o6 u
    您需要登录后才可以回帖 登录 | 免费注册

    本版积分规则

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

    GMT+8, 2026-8-7 21:05 , Processed in 0.020161 second(s), 23 queries .

    Powered by Discuz! X3.4

    © 2001-2023 Discuz! Team.

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