掌上百科 - PDAWIKI

 找回密码
 免费注册

QQ登录

只需一步,快速开始

查看: 1017|回复: 9

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

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

    [LV.7]常住居民III

    发表于 2018-12-25 09:49:34 | 显示全部楼层 |阅读模式
    本帖最后由 VimVim 于 2018-12-25 09:50 编辑 9 v. ]+ a, l* m

    + i9 E# R- q' X# U/ Q' j为了让Vim更好地编辑mdx源文件,我需要指定源文件为html格式,从而可以正确加亮语法,但我又不想将文件后缀名txt改为html,否则用mdxbuilder制作mdx时又得改回txt。
      D5 Z+ l  l5 R% t! u! M' B) N# }
    Vim可以通过在文件中指定文件类型,从而识别之,如:
    ' U$ M$ D3 [- ~, J$ z/* vim: set filetype=html : */* _/ p% c* H/ F7 n6 Z
    * [5 d; g' I0 v: F% ~
    但毕竟注释文件与源文件的规定有所不同,既不是词条也不是正文。
    6 i! s  o3 |% B2 F8 h经测试:
    ! V- v4 V( T4 I2 _) d" d- V+ i9 f6 D. \1、若将注释行放在txt源文件最前面,mdxbuilder会将该注释行当做词条;
    2 M- q/ j2 }- ?6 C; a  h( G$ U2、若将注释行放在txt源文件最后面,mdxbuilder会报错;
    ) m9 ?. e6 F8 Z8 [7 y
    " p$ R2 Z+ G2 S2 z暂时解决方案有如下两个:
    , p+ x: e. c& x  Z. S4 Y" _$ p) z方案1、将Vim注释当做一个多余的词条,缺点是这并不是真正的词典词条,如:/ N/ }( R# T) N9 z$ ]( F) S# ]
    /* vim: set filetype=html : */6 n+ u" {6 s2 n4 r* h: Z$ ]
    </>
    - y7 P1 i9 G+ d/ e+ a: S7 h方案2、将Vim注释行前后包装为HTML注释,并嵌入某一个词条的正文,缺点是,这个注释与该词条没有任何关系,如
    / j2 A0 z( q; }+ I; M# P<!-- /* vim: set filetype=html : */ -->+ s) N7 t- J2 I# K

    # e0 F+ C3 @' c5 v不知道各位是否有更好的解决方案?或者MDX源文件有自己的注释语法?
    $ V1 d1 x% T/ S# X9 v. Q- ^
  • TA的每日心情
    奋斗
    2019-10-13 07:34
  • 签到天数: 209 天

    [LV.7]常住居民III

     楼主| 发表于 2018-12-25 10:09:29 | 显示全部楼层
    若有人能够将Vim的HTML syntax文件转换为MDX源文件syntax文件,那就完美了9 L& a6 V' a  r8 G" s) j# s* [  L8 ?
    4 G. V1 _" _/ I% t0 J' W) g2 O

    本帖子中包含更多资源

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

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

    该用户从未签到

    发表于 2018-12-25 12:00:31 | 显示全部楼层
    本帖最后由 henices 于 2018-12-25 12:01 编辑 + Y7 a: z- P; d9 H
    ' i* @. [# D4 `( ^- c4 O. h
    看了老半天,终于有点看懂了。楼主的主要问题有几个:8 f! C: r: O5 H7 ?) h: y

    , \* L* R: o1 L6 o1. 如何 让 vim 浏览 txt 后缀文件时,使用 html 语法高亮问题
    - e) L* n6 {4 N* Z, J4 l. B3 X: }' h5 h* ?
    这个直接输入命令不就好了  进入 normal 模式后 :set ft=html  ) b' I6 W' T* D, B
    为什么要写在 mdx 的 txt 里呢" d$ f% V) m, ~/ e! F

    / O( f9 e) R/ E# b6 `4 G2. mdx 的注释语法
    # ^8 E- m2 T8 J4 i
    5 m, O8 x8 z4 I, g不论是用那个软件,最终都是当成 html 解析的,所以正确的注释语法是 <!-- -->
    5 k7 ^2 v8 x6 s& [2 l; N) Y
    # b- `0 w$ ]6 Y3 m3. 搞一个 mdx 的语法高亮文件. W. X. {9 v( b( x" A8 K) y
    # s8 E' |- ?- N" ?/ V
    同上就是应该是用html 高亮啊, 唯一不同的是 </> 个人感觉影响不大9 t2 ^/ v  v2 N( N% E" r7 S0 w

    2 N: z; f& _, A% r
    4 A& m7 @9 v: {3 ~最后,如果 mdx 的 txt 文件很大的, 加载语法高亮简直就是一个灾难,. i  s! m: }/ [1 G& M; [) L9 x
    不信打开一个1G 的 mdx 的 txt 加载 html 语法高亮试试。5 M- `* V6 Q. L6 Y( H; q& |
  • TA的每日心情
    奋斗
    2019-10-13 07:34
  • 签到天数: 209 天

    [LV.7]常住居民III

     楼主| 发表于 2018-12-25 13:05:58 | 显示全部楼层
    bbs 发表于 2018-12-25 11:47
    2 T- C( t  {, X5 S; T" H  O我就一句话,mdxbuilder制作mdx时不需要改回txt。只能帮到这里。看你自己的选择。 ...
    8 R: R  A! b8 U. B9 E; c2 O
    感谢各位的解答,我知道有很多变通解决方案,但总觉得不是最佳。
    - `; [+ u" J& J% j: r& u0 B+ M' B" b$ O2 ?8 [! W0 J
    mdxbuilder的选择框里只能选择txt,除非我们不用选择框,而是直接写源文件地址。' s2 @9 e3 s: ]
    更好的方案是,mdxbuilder的选择框里可以选择任意文件格式,而不限定txt。" V2 Z. U9 q7 |6 f, n: H
    3 S0 g9 S" I, n* _8 c  Y
    ! B% x3 Y6 g2 U

    本帖子中包含更多资源

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

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

    [LV.7]常住居民III

     楼主| 发表于 2018-12-25 13:12:37 | 显示全部楼层
    henices 发表于 2018-12-25 12:004 F3 v7 Q- E: G  [% X4 R
    看了老半天,终于有点看懂了。楼主的主要问题有几个:% A: X" h+ Y4 [

    ! L  f8 a" ?3 Z1. 如何 让 vim 浏览 txt 后缀文件时,使用 html 语 ...
    0 ^! S2 o. d: x1 h  k6 Z
    您的理解很准确!对于您提到的:
    4 q( }3 q, ^. A0 G
    % v- |# i5 @( |: V1 R0 _0 V1、:set filetype=html确实可以,但每次打开都得来一次,感觉比较麻烦,毕竟修订源文件可能来来回回好多次。
    + N4 P) j% a/ |" P' T& T1 D3 f7 `) D( f6 P/ t% J
    2、采用HTML注释,只能加入到某个词条,而不是文件最开始或最后,总觉得不舒服(癌症,得改!)
    ( `  f* P9 s& t2 Z( i4 e% m5 l
    ! U. W4 D0 y7 p1 J3、搞一个mdx的语法高亮文件:这是我最希望的,但限于技术水平不知道怎么搞……
    , V/ K4 Y# }- v; j" X5 ^9 T0 j8 U$ A. g* q" a
    4、关于语法高亮带来的性能问题:对于大文件性能确实是一个问题,但我之所以需要识别格式,是为了能够使用Vim基于文件格式的其他插件功能,比如matchit的HTML标签配对等,这有助于借助vim的宏命令等实现一些自动化批量操作。
    9 w  M' {5 a- x/ I" D- `. p7 W! R* G! V
    6 G, k9 B+ q5 E, \) |* f/ w

    该用户从未签到

    发表于 2018-12-25 15:56:23 | 显示全部楼层
    VimVim 发表于 2018-12-25 13:12
    % i: h1 x6 d( o8 R* \您的理解很准确!对于您提到的:) O- e3 y3 {0 X) W; T/ r
    9 c- u% `* w' k2 D9 p) J# Z" h: |
    1、:set filetype=html确实可以,但每次打开都得来一次,感觉比较麻烦 ...
    ' B- D! ?) i& {& m" F
    不难,我就写过, 给你参考一下! I7 [0 S$ w" A) \  l

    1 u8 W% \" B- h7 Ahttps://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:567 ^% L, k5 f8 S2 a+ {2 B
    不难,我就写过, 给你参考一下' q8 s, P2 w4 q- d9 g: R9 T

    8 V- u0 K% {: ~https://github.com/henices/vim-nbin/blob/master/syntax/nbin.vim ...

    : O8 V7 [% b* Y0 U, D感谢!目前对我还是很有难度,继续学习学习!
  • TA的每日心情
    擦汗
    2023-9-2 09:16
  • 签到天数: 1103 天

    [LV.10]以坛为家III

    发表于 2018-12-26 10:51:48 | 显示全部楼层
    VimVim 发表于 2018-12-25 13:12
    $ L0 F: Y1 C; I您的理解很准确!对于您提到的:
    $ t0 ~, N% j/ [7 ]" h3 K! y3 k( r7 L0 G" N. L3 F+ Z* t! |
    1、:set filetype=html确实可以,但每次打开都得来一次,感觉比较麻烦 ...
    # D/ ?$ u0 m( p8 f' p
    能处理超大文件语法高亮的只有vis了。
  • TA的每日心情
    奋斗
    2019-10-13 07:34
  • 签到天数: 209 天

    [LV.7]常住居民III

     楼主| 发表于 2018-12-26 15:10:20 | 显示全部楼层
    我最终的解决方案是在mdx源文件最前面添加如下三行:1 p* l4 Q9 k# s5 F. u

    % {6 F0 g  A0 T# k<!-- mdx modeline for Vim-->
    - m- N8 P+ |% C2 R3 N/ o3 W. p<!-- vim: set filetype=html : -->
    0 N9 i& O+ _* p9 _0 ?</>8 }- w  D2 y- X1 G$ V6 f
    您需要登录后才可以回帖 登录 | 免费注册

    本版积分规则

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

    GMT+8, 2024-4-29 22:12 , Processed in 0.048655 second(s), 10 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2023, Tencent Cloud.

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