掌上百科 - PDAWIKI

 找回密码
 免费注册

QQ登录

只需一步,快速开始

查看: 5766|回复: 100

[工具] 一键制作图片词典 MdxSourceBuilder

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

    [LV.7]常住居民III

    发表于 2020-8-12 16:46:52 | 显示全部楼层 |阅读模式
    本帖最后由 VimVim 于 2020-8-17 12:48 编辑
    3 F' V" ^+ Z( T8 d- ]& l8 U+ @6 B7 w0 T5 {1 o4 w5 ]
    # 发布地址
    7 ]8 v; n, c4 `9 k& b* U2 H, `* r' I* ^/ r; p
    https://github.com/VimWei/MdxSourceBuilder
    4 A5 v: x1 Q& t+ b! J/ g  s
    1 a& a# {7 Q8 v6 N( j* Z# W! D一键制作图片词典:原始词条==> 标准化词条==> mdx源文件 ==> mdx词典文件
    6 j) v4 A+ i, ^/ U; A, L' R, A+ ~
    8 M. E, R3 H0 Z8 Q% e! E# 动图演示
    " s0 i& _0 y$ \& q3 z; T
    & x3 `$ o5 i5 _% X& b6 I$ n$ k: e8 c- i+ T. i) m% v1 ^
    - C$ t' B2 U+ r; P
    更多视频演示: https://www.bilibili.com/video/BV1Ki4y1g74X/) O( v. O, x/ G6 Q5 k0 ]5 A
    - a; ?: P$ j. s. y. U- u' v" k
    # 缘起) \6 u# d6 d1 z* O# }. W3 R. T# m7 l

    4 I# W% J* ^0 }% x* }( L( |图片词典的制作规范与开源工具2 t! A9 ^& O: F3 x& f
    https://www.pdawiki.com/forum/thread-40857-1-1.html
    # I, V3 C. I1 \/ Z2 n- |8 F" l
    5 o5 T, [4 Q9 y3 E# C# l& ~

    ) o, u3 G1 h! D, i* q3 R. J* L% q0 w0 Y

      d+ l$ F- c6 G6 B
    ' l* b& a/ _, m  n
    ! v; S3 z) T$ `: e0 ]6 I( p. t) h- E

    评分

    3

    查看全部评分

    本帖被以下淘专辑推荐:

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

    [LV.7]常住居民III

     楼主| 发表于 2020-8-12 17:12:25 | 显示全部楼层
    本帖最后由 VimVim 于 2020-8-14 11:29 编辑 6 G% V: l# M3 _' F* V$ y

    2 n9 S6 [) |1 F! `! J. `8 h- s# MdxSourceBuilder' e/ |) X6 {+ D* U

    6 Q( g9 p0 Z4 L: Y3 z2 c一键制作图片词典:原始词条==> 标准化词条==> mdx源文件 ==> mdx词典文件5 E( [, S. J4 m

    . D7 h+ P* W2 @0 J' s' F+ a

    & u! l2 f3 b8 H1 H: a5 }, H# w0 B## 背景! A7 v4 K9 H5 x2 }7 @& h" |( R

    7 w, [1 a9 c$ I0 R1 h& u### 需求背景
    ! r" X5 o& z$ b+ n5 p( p. E7 e
    3 v( Y- H& ~! x, W% E- Q" F时常遇到一些好资料,怎奈只有纸质版或扫描版之类,希望将这些资料转换为可以检索的mdx词典,既方便使用,也提高利用率。
    , q3 r  R' Q4 J  \, r4 z0 a' Y+ l# `7 U; u- n# J& K; G
    但是,常常在辛苦整理好词条(这是纯苦力活)之后,使用过往技术方案实现的成品却不够理想,不理想之处有两大方面:* L& u* y; U+ w" Y/ f$ Z

    % t; n8 s1 x: o  K* 导航不理想,极大降低了用户的使用体验9 k) s5 w7 |/ Z  `5 i/ d
    * 制作修订过程复杂,极大干扰了制作者的热情
    9 H% j, Z; @4 }) p! v) |5 o
    & ~7 i$ U; e; u+ }这完全可以通过工具来解决。- Y" V' i. O+ _7 u9 |
    3 K( G$ R8 N5 [6 v7 f2 C
    ### 程序设计背景
    / Y7 S& I; z3 g: z1 ~9 b! B# E/ W7 ~2 z- @8 n' d
    本来我只是提出痛点,希望有高人能出手解决,怎奈高人大都不屑于处理。# Y# `. @0 t6 I/ o8 F

    * y# t( ~3 E( E2 ?& [+ a: e本非码农,可鉴于实在痛的厉害,只好自己用三脚猫功夫倒腾了人生第一个具有完整功能的程序。在此之前,从来没用过list、dict之类的,连这个github发布,都是现学现卖,还望高人不要耻笑,多提点才是。若有高人能够弄个更好的程序或是python版的或是GUI版的,那大家就有福了,我这纯粹抛砖引玉。! s/ y% p' p! E) X9 b  ^4 _, i

    0 I1 K8 K0 N; p+ r. C非码农的好处,或许是可以有更好的用户视角:既考虑词典终端用户的使用体验,也考虑普通的词典制作者的使用体验。虽不能解决所有问题,但至少已能解决我自己的大部分诉求,希望也能解决众多mdx词典用户的些许痛点。
    : r, ^9 p3 H+ w( D: T: L9 c8 c& Z8 ]) b) f
    ## 解决方案
      y) c: L  l- G1 B
    5 l9 }+ H; M5 p3 l2 e$ h; n0 j基本思路: 1.原始词条==> 2.标准化词条==> 3.mdx源文件 ==> 4.mdx词典文件+ [1 Y/ Y; q& `
    6 @8 Z6 g9 {, P/ ?6 Q  d
    1. 原始词条:鉴于资料的多样性,原始词条的获取方式也是多种多样,有OCR来的,有手工输入的,也有从其他人的资料转编译来的,也有是因为制作人的喜好或用的工具不同,导致原始词条的格式完全不同。这个特点造就了解决方案必须:(1)兼容多样性,将最常见的词条样式纳入进来;(2)开放性,用户可以根据需要自定义更多个性化的原始词条样式。$ B" s6 y5 @* k" y( }2 p

    4 u' g- w5 M! U    目前,本程序已经实现了对三种原始词条样式的兼容,用户也可以根据需要自定义添加。
    ; J" i0 d6 D* a5 d& O7 y' c3 Y6 \
    0 F# ~! M4 ?7 |2 }& ?2. 标准化词条:若能将多样化的原始词条转化为标准化的词条,那么后续就可以标准化处理了。因此如何定义标准化词条就变得很重要,它是实现后续程序的基础。0 s( T" l# m# T- g8 n

    + B1 a0 {  P! c- u    目前,本程序已经提出了一个1.0版的最基本词条标准:一行页码,之后跟随多行关键词,每行一个关键词,如此往复。之所以说1.0版仅仅是最基本的标准,是因为这个标准还未能兼容如分栏、多层级词条等更复杂的情形,这些都有待后续有高人继续升级完善。
    ' Q% l6 b& d7 e% |8 ~& }
      ^  h0 ?9 O3 w" C" M8 ]8 l3. mdx源文件:这个txt文件与其他技术方案的最大区别是——包含了足够优良的页面导航、关键词导航以及用户自由定义的导航信息,极大提升用户对图片词典的使用体验。图片导航如何设计仁者见仁智者见智,因此,解决方案必须:(1)足够优良,不能太简陋,能用机器实现的定位,就不要浪费肉眼定位、繁琐操作定位等人类的精力;(2)兼容多样性,将最常见的导航样式纳入进来,比如封面附录等无需关键词导航、正文等需要关键词导航、拼音等则无需导航直接转链接到现有页面即可;(3)开放性,用户可以根据需要自定义CSS样式,或者添加更多个性化的导航样式。
    + p; o( |/ H" X7 a* I
    ! H0 M+ K4 \. Y    目前,本程序已经实现了三种导航样式,满足一本常见词典的基本需求,同时本程序会输出配套的精细CSS,方便用户个性化定制,此外用户也可以自由添加、改造导航样式。
    ; l# _, |4 v( z6 D/ n% E6 y+ B) |4 V3 N) e
    4. mdx词典文件:这个步骤是可选项,但一步到位可以极大提升用户的体验,更重要的是使用这个工具可以实现跨平台制作mdx词典了,不必局限于Windows,Linux、Mac统统不在话下。当然要说明的是,这一环节用到了另一个开源工具, https://github.com/liuyug/mdict-utils ,功劳统统属于他!
    ; z" j9 P9 z  O1 _9 A# K/ N: T* b# |+ d! r0 G+ W* }2 A# X$ i5 T
    ## 程序文件及安装) I/ U6 d& d  q
    - ]3 G9 }8 E8 r) m. D
    根本谈不上安装,因为整个程序就是3个Vim脚本文件而已,下载后,直接将这些脚本文件放在与词条文件同一个目录即可。
    6 Y2 ~  X( L+ O6 s2 p# k$ v) O( y; Q7 G* e- q. Q/ B7 T
    * MdxSourceBuilder.vim  这是入口文件:上半部分是配置文件,需要用户定义词典参数;下半部分是主程序,通常无需理会7 H" M7 c- g/ `3 K' o
    * MdxSourceBuilderCore.vim  这是主程序调用的程序,仅当需要高级定制时修改,通常无需理会! T: j, s  V/ N: [$ s5 r7 S2 M3 k2 ~
    * MdxSourceBuilderCSS.vim  这是CSS文件,样式文件可以在这里定义,通常无需理会
    9 O' q* l  w2 F0 j2 S& C) a3 v3 t; Y7 F: v1 R1 D7 q$ n( Y( y
    其他文件,都是附带的Readme、动图演示、参考资料、案例词典之类,可以忽略。1 p2 c4 X4 n0 t9 c+ H& S- f

    5 v- |& ^* z( x% Q## 体验案例“火星词典”% [8 _" p/ ?' y7 I" J; n

    . Q  v4 ^' o6 j' o为展示程序的特点,特制作了“火星词典”,供观摩使用。
    " \8 s9 ^3 G4 m2 a# A9 n, @4 d
    / h4 G# h4 a" Y2 P' o3 j* 案例词条文件:以"火星词典"开头的所有.txt和.html文件,其中body.part1、body.part2、Pinyin三个文件展示了不同的词条格式
    + A# U/ K0 E! H' g  h* 程序及词典配置文件:以"MdxSourceBuilder"开头的所有.vim文件,其中MdxSourceBuilder.vim已经包含了案例词典的配置信息1 B- s- }! H% E4 E3 Q8 q) c
    2 ?1 V7 _( f/ v. q
    案例使用:打开Vim,输入命令 `:bro so`,找到MdxSourceBuilder.vim,打开,结束。
    5 f7 N1 k8 y4 b( r; V6 I9 t6 m  m% G+ ?" _. z$ f' g6 p
    * 你会看到,仅仅使用上述一个命令,就会输出3个成品文件:MarsDict.css,火星词典.txt,火星词典.mdx# W, }# ?( v5 ]0 ~
    * 你若没有复现上述效果,也别着急,可能是vim、python和mdict-utils没有安装配置好,继续往下看说明文件即可解决% z7 d1 ?: J; o& K* N: U$ x4 D
    * 之后你只要照猫画虎,即可制作自己的图片词典了
    ) H2 J! a: P3 G) w2 v9 C8 y7 t& E8 X: h$ k3 n3 H
    ## 使用说明3 F- U" U4 i3 _: Z+ z) C5 y
    ( E, S2 o  F& U! s. t& p
    ### 极简使用说明; C8 ~/ K  q( }4 r" {

    % }4 q, U! f: w$ B$ X5 }* }打开Vim,输入命令 `:bro so`,找到MdxSourceBuilder.vim,打开,结束。
    6 n) v" C) @8 H( \# E5 ~; n- N2 _& f0 r0 j5 L
    ### 概要使用说明
    * R1 q- g: Y6 ?  c% O: {9 T' S! k) S! ~8 ^: x( |
    1. 按格式要求准备好词条文件4 N& J4 d! d1 l5 f
    2. 使用任意文本编辑器配置好 MdxSourceBuilder.vim 中的词典参数
    " u3 M1 C8 F+ N; R3. 打开Vim,输入命令 `:bro so`,找到MdxSourceBuilder.vim,打开,结束。
    / d) _4 P! m/ b$ q( I) J% l9 e& t1 r& U5 n/ q" r, F, O
    ### 详细使用说明$ W! k. K$ c/ B3 ~% @! J
    9 v' e( R% X% ]( G( _2 W
    * 直接打开查阅 MdxSourceBuilder.vim,其中“使用方法”及“词典参数配置”两个部分自带详细使用说明。
    " V, r- A' \3 ]3 Z* 若想深度定制,把所有以"MdxSourceBuilder"开头的.vim文件看一遍就知道怎么处理了,即使不懂VimL语言,看注释也能猜个差不离。9 G" m" V. f$ i1 W
    . y8 t8 P9 M4 _% O4 c5 W9 S
    ### Tips: 使用更便捷快速的命令' W( A0 F$ t9 E
    4 T. r: J6 g. n
    * 若觉得如下步骤还要寻找MdxSourceBuilder.vim,有些麻烦9 ]) o: t4 \: k* b

    ; e! b) R9 J8 n" r6 ^& N, ]打开Vim,输入命令 `:bro so`,找到MdxSourceBuilder.vim,打开,结束。
    " ?4 D: O3 j% h( \- A, ?* J+ @  U! M& R* p2 i
    * 那么建议使用如下更快的方法(自动寻址):! l4 M' J: Q& [2 A/ o* ]2 h% E( n
    ' M) O8 g; t% S8 n
    用 Vim 打开 MdxSourceBuilder.vim,新建文档`:new`,输入命令`:so MdxSourceBuilder.vim`
    & H: t  p+ P3 n7 `
    + e1 V3 w+ y; o9 c甚至输入`:so mdx` 之后,按Tab键即可自动补全命令 `:so MdxSourceBuilder.vim`- K7 u, U: U9 U1 a' S2 j. E! q
    : Z' E, \) Q' y& U  a  Q4 |- z
    这个新方法的逻辑,其实是利用Vim首次打开一个文件时,会将该文件所在目录设置为Vim当前工作目录。
    2 ~. B5 G0 ?* `
    7 L( V) J, D) K$ F: M6 I9 {* s也可以使用系统命令 `:cd` 来更换Vim的工作目录,如 `:cd d:\火星词典`3 @( `# |" S, {: _0 Q; W8 v

    8 v2 B7 G9 S9 V1 [3 s5 T7 q3 p9 y若您使用附带的`_vimrc`,还可以直接使用自定义的命令 `:CD` 将Vim的工作目录切换为当前文件所在目录。, M& r4 V. V# P" S/ i" s

    " t" u3 Y  f, R; _* w
    & @9 K. A& s) l/ O0 x' b  ]4 p( d7 ^
    ### 相关FAQ
    ' {1 A& E* E& _' t3 x2 Y2 u* x) P( i2 x) I9 Q5 A+ r
    1. 关于Vim的使用:号称编辑器之神,要想完全掌握确实有难度,但本程序要用到的Vim知识则少的可怜,不必顾虑。
    7 e# Q3 i6 E$ ~
    5 T& }2 W/ ~6 K5 C1 x* Q: vim出现乱码- [5 }" i% u$ I2 D* o
    * A: 请将`_vimrc`文件复制到`$HOME`目录下,Windows下即是`c:\Users\YourName\`- m5 f. q" N9 L0 V. E+ ]+ ^& ~- Y
    8 i% U, G0 B& u' y" s3 {+ B
         其中必备行是 set encoding=utf-8,其他可选,用于提升Vim使用体验
      D0 @% p4 {7 E7 D8 H$ q
    0 m. x6 S1 U' U; y. z, o! F2 x2. 关于mdict-utils的使用:除了打包,还有很多其他解包、读取等功能,大家可以尽情挖掘改造。
    / I& H* A: ?, R; ~. a( t+ P, ]1 ^1 C, M! G- Q- C
    ## 社区讨论与反馈2 p) E/ L; u, `0 D

    0 i' {+ @, X8 j. O7 S5 h* Github: https://github.com/VimWei/MdxSourceBuilder
    ; X! [  f; R/ N3 k* 讨论社区: https://www.pdawiki.com/forum/thread-41287-1-1.html
    7 `  B& U8 ^& r
    $ S- B/ c6 O6 Y2 v) g6 G## LICENSE
    4 r8 Q% a" T/ u6 p( E8 z
    ) t1 O$ @( `+ m0 H; D) t! c# `[GPLv3](https://www.gnu.org/licenses/gpl-3.0.en.html)
    / p( Q) c. q! }" y2 w: h
    / r. {% g/ C6 ~# ]2 D
  • TA的每日心情
    无聊
    2022-7-21 15:56
  • 签到天数: 216 天

    [LV.7]常住居民III

    发表于 2020-8-13 18:22:09 | 显示全部楼层
    本帖最后由 wjl 于 2020-8-13 18:49 编辑 3 |: |! U# x1 }# d
    VimVim 发表于 2020-8-13 12:25$ g; Q, D+ e' X0 X4 }) w! t
    进一步更新程序。解决Vim乱码以及满足常见的Vim用户需求。( B" c6 M$ L/ B/ Y7 J) \9 j3 A

    4 [$ j. G  c# F/ C  W请将 _vimrc 文件复制到 $HOME 目录下,Window ...

      {& ]/ |2 D6 Z8 E0 t. i请问Vim能否实现以下更改呀?方便的话,能否帮忙写一下vim的更改实现方法,现在我只会逐行手动更改,没法实现全文件批量修改
    8 P& a. Q9 Y1 u# p$ D  T查找含有<div class="HW_L_C" style="margin-top:(.*?)">的所有行,然后将同一行中的所有margin-top:44.43%中的数字减去<div class="HW_L_C" style="margin-top:后面的数字,保留两位小数
    6 n; B# d1 I8 O4 z8 A* `* Q  c4 Y& V" P0 J+ E
    <a name="2313_L1" href="entry://qualify on"><div class="HW_L" style="margin-top:44.43%"></div></a><a name="2313_L2" href="entry://qualify oneself"><div class="HW_L_C" style="margin-top:52.42%"></div></a><a name="2313_L3" href="entry://qualify to do sth"><div class="HW_L" style="margin-top:68.5%"></div></a><a name="2313_L4" href="entry://qualify with"><div class="HW_L" style="margin-top:81.82%"></div></a><a name="2313_L5" href="entry://quality control"><div class="HW_L" style="margin-top:97.95%"></div></a><a name="2313_L6" href="entry://quality, the"><div class="HW_L" style="margin-top:111.37%"></div></a><a name="2313_L7" href="entry://quamdiuse bene gesserit"><div class="HW_L" style="margin-top:124.73%"></div></a><a name="2313_L8" href="entry://quand meme"><div class="HW_L" style="margin-top:130.2%"></div></a><a name="2313_L9" href="entry://Quanti est Sapere"><div class="HW_L" style="margin-top:135.1%"></div></a>- W, G  M: X+ U3 {/ O3 h

    6 b9 n+ U. w6 r! t) E+ k( e5 y1 a; a$ E# |/ f. [

    点评

    不要在这个MdxSourceBuilder帖子里回复这个内容了,楼歪了。  发表于 2020-8-13 19:41
    你得发我两个文件:一个是原文件(多来几行真实的案例),一个是你希望实现的目标描述。 这个帖子案例不好,这是只有一行还是好多行?看不清  发表于 2020-8-13 19:40
    当然可以  发表于 2020-8-13 18:33
  • TA的每日心情
    开心
    7 小时前
  • 签到天数: 2220 天

    [LV.Master]伴坛终老

    发表于 2020-8-12 17:21:01 | 显示全部楼层
    我是起哄的。:) 目测这个利器要火!工欲善其事,必先利其器!猜测K大是会加1000米还是10000米,以鼓励此类原创型工具,以及由此衍生出的各种词典大作。
  • TA的每日心情
    奋斗
    2019-10-13 07:34
  • 签到天数: 209 天

    [LV.7]常住居民III

     楼主| 发表于 2020-8-12 17:33:03 | 显示全部楼层
    RickVincent 发表于 2020-8-12 17:21/ J' d/ H# t* o2 G
    我是起哄的。:) 目测这个利器要火!工欲善其事,必先利其器!猜测K大是会加1000米还是10000米,以鼓励此类 ...

    8 @4 N6 [  e/ s# h感谢支持。
    5 K5 b6 c! e* U
    6 V! V! N& Q; [/ m) N* J: k4 f
    若能有这样的工具,我想目前的图片词典将发生极大的变化:4 ^# w; n! l/ p3 F. _+ Y  b9 S

    + H1 B6 L$ Z6 y  \  H1、新的图片词典制作将非常容易,基本人人皆可上手,而且生成的质量都还很不错,这些将促进新词典的产生。; P9 J$ K% t: w4 M% f* r
    2、对于已有的图片词典,非常容易转换为新标准下的导航,且实现个性化处理,这将极大提升词典的使用体验。
  • TA的每日心情
    开心
    2018-8-8 03:13
  • 签到天数: 1 天

    [LV.1]初来乍到

    发表于 2020-8-12 18:00:30 | 显示全部楼层
    VimVim 发表于 2020-8-12 17:33
    , R4 l% d4 S7 L6 B( q8 f, R感谢支持。
    8 a5 S6 E" L) _1 V
    VimVim 兄,相當棒的工具,創意十足,漂亮
  • TA的每日心情
    奋斗
    2019-10-13 07:34
  • 签到天数: 209 天

    [LV.7]常住居民III

     楼主| 发表于 2020-8-12 18:52:06 | 显示全部楼层
    喬治兄 发表于 2020-8-12 18:00
    7 Z/ d( o" G0 e3 GVimVim 兄,相當棒的工具,創意十足,漂亮
    1 ^7 o; H3 R; E: F+ a, B6 Y- ]
    其实,很大一部分是借鉴自你最初的创意(页面导航和关键字导航),我只是将其拼接在一起,使其更加开放(开源、可融入更多工具链)、兼容(多种词条格式及容错)和扩展(高度自定义、跨平台)。
  • TA的每日心情
    开心
    2018-8-8 03:13
  • 签到天数: 1 天

    [LV.1]初来乍到

    发表于 2020-8-12 19:06:40 | 显示全部楼层
    VimVim 发表于 2020-8-12 18:52# j  L$ A. ~' q6 M
    其实,很大一部分是借鉴自你最初的创意(页面导航和关键字导航),我只是将其拼接在一起,使其更加开放( ...

    ) E9 Z5 B+ x9 I& Z8 [0 FVimVim兄,太客气了,自從有VBA都用VBA生成,導航其實也可以弄,只是很懶的再搞了...,小弟對於粗配的要求沒有太高,只要排序正確就算及格了,哈!哈哈哈哈哈!
  • TA的每日心情
    无聊
    2022-7-21 15:56
  • 签到天数: 216 天

    [LV.7]常住居民III

    发表于 2020-8-12 19:30:49 | 显示全部楼层
    多谢分享制作工具,不过Vim对于大多数人学习难度有点高吧。
  • TA的每日心情
    奋斗
    2019-10-13 07:34
  • 签到天数: 209 天

    [LV.7]常住居民III

     楼主| 发表于 2020-8-12 19:35:48 | 显示全部楼层
    本帖最后由 VimVim 于 2020-8-12 20:03 编辑 5 O7 q, c- F7 M) S% k6 M% L
    wjl 发表于 2020-8-12 19:30" f" i9 O. a* f, H) V# a5 W
    多谢分享制作工具,不过Vim对于大多数人学习难度有点高吧。
    6 _5 ~, u8 G4 a! D
    所需要的所有Vim知识已经在动图演示的字幕中显示了,总结就是:
    # U% ~. }* p3 ^! J, c- P& X2 u" A
    :new
    4 `7 ^: t# G( v) X2 Y* B3 m: I:so MdxSourceBuilder
    ' \2 u9 O& q# c# [1 A* E2 N: C- t: h9 F1 l9 ?5 F
    随便找个识字的人都能照着这些字按顺序输入,不难吧。5 Z! E# ~3 `% o' ^( n

    9 N- O3 x2 q# K3 `3 B# h我要吃肉,是不需要学会打猎或养牛养羊甚至当个厨师,只要会拿起筷子或刀叉送到嘴里就好了。0 Z0 J+ ?- x6 U3 n3 X: h  P
    我要浏览个网页,是不需要学习计算机原理、HTTP协议或制作网站之类,只要会点击超链接就好了。9 w; S& x: \: @- I5 }4 x
    : W, X( F- U  B0 ?) G3 |6 q

    , P& f, u2 \# d) |
  • TA的每日心情
    擦汗
    2022-3-25 11:07
  • 签到天数: 66 天

    [LV.6]常住居民II

    发表于 2020-8-12 20:03:06 | 显示全部楼层
    RickVincent 发表于 2020-8-12 17:21
    & v; q3 j: }- Y' `9 m我是起哄的。:) 目测这个利器要火!工欲善其事,必先利其器!猜测K大是会加1000米还是10000米,以鼓励此类 ...

    ( |- G% j4 ?. b+ A+ e7 d- i( [K大从来不会吝啬的,我觉得可以加十朵浮云,那个更给力
  • TA的每日心情
    开心
    2019-8-21 19:27
  • 签到天数: 5 天

    [LV.2]偶尔看看I

    发表于 2020-8-12 20:10:39 | 显示全部楼层
    惊得我赶忙回去看了下,看看电脑上不知多少年前装的GVim还在不
  • TA的每日心情
    开心
    2019-10-10 05:35
  • 签到天数: 328 天

    [LV.8]以坛为家I

    发表于 2020-8-12 21:27:40 | 显示全部楼层
    本帖最后由 Jiangxi 于 2020-8-12 21:38 编辑 ' Q3 P9 U! @/ }7 e7 M
    VimVim 发表于 2020-8-12 17:12
    " d+ s& h( Z$ b. L9 u5 F# MdxSourceBuilder, l, T; E9 @( S

    ; @# P9 N% l& x! k+ z( Q) pmdx图片词典制作工具:使用一个命令,实现从原始词条==> 标准化词条==> mdx源文件 ==> ...

    0 {- e9 w; K) E菜鸟一问:2 g/ n2 b# a! E. Q$ ?" Z0 Z. w5 F
    用Gvim打开MdxSourceBuilder.vim,显示乱码,是缺啥字体么?
  • TA的每日心情
    奋斗
    2019-10-13 07:34
  • 签到天数: 209 天

    [LV.7]常住居民III

     楼主| 发表于 2020-8-12 21:57:31 | 显示全部楼层
    本帖最后由 VimVim 于 2020-8-12 22:17 编辑 / }* n% H$ D( q/ b  F+ g, [
    Jiangxi 发表于 2020-8-12 21:27; P0 T- p; e, e' y! ]6 E
    菜鸟一问:
    ; a) ]* j  }- ]3 {; J& O/ W用Gvim打开MdxSourceBuilder.vim,显示乱码,是缺啥字体么?
    : l  d  M' s, y# o- w
    不是字体的问题。9 Q' t1 E$ B  q: a( }  S0 Q
    你找到vim安装目录下有个_vimrc文件,用任意文本编辑器打开,随便在哪加入一行(比如最顶部或最后一行):( _! X/ ~" Q7 y8 h

    / }$ s0 L9 B# b! e' m4 u& |set encoding=utf-8# k# I: W4 r8 D5 h* k, [5 C1 U
    9 U- N5 ?! l5 r  h& _; P
    以后就不会有乱码问题了。! `0 t& {$ z. A5 t5 X7 |

    点评

    谢谢,加了set encoding=utf-8后,打开显示正常了。但Gvim软件的所有菜单变成乱码了  发表于 2020-8-12 22:34
  • TA的每日心情
    奋斗
    2019-10-13 07:34
  • 签到天数: 209 天

    [LV.7]常住居民III

     楼主| 发表于 2020-8-12 23:20:19 | 显示全部楼层
    本帖最后由 VimVim 于 2020-8-12 23:39 编辑 . r. y. ~! A$ B" r
    4 |$ D* \" T' C) l
    不用管什么菜单,不影响使用这个工具。( z8 r& V' Z7 m; R" n) f9 x; t

    . U4 v- m5 d" D% d+ \% x若仅仅是解决菜单乱码或者是根治中文乱码有关的常见问题,建议vimrc文件加入如下内容:
    ; V2 @8 F5 \7 D7 K6 q. s6 O/ `
    - j- j8 M+ g$ T3 }; O. o! ~& x
    1. " Basic Setting -----------------------------------------------------------{{{1' P- F  q% l. W$ X3 Z# [0 {, x
    2. set nocompatible    "启用不兼容Vi模式' K, Y; H. @( t& n' @
    3. syntax on6 x) S2 D) h5 Y' S) F
    4. filetype plugin indent on   "文件类型自动识别,并使用相关插件和自动缩进
        B, }( d- T8 ~* K9 ~
    5. % c: W6 F' E, x) F/ G, B
    6. " Encoding related --------------------------------------------------------{{{11 v5 Q" f5 W+ |% H
    7. set encoding=utf-8  "Vim 内部工作编码. ]& D3 {  d9 d$ D
    8. set fileencoding=utf-8  "设置此缓冲区所在文件的字符编码;新文件默认编码
      ' o2 Z9 y  f9 e! I+ h/ r. W
    9. " 打开文件时自动尝试下面顺序的编码
      ; q2 Z: U- h/ d' V  c( J5 R
    10. set fileencodings=ucs-bom,utf-8,cp936,gb18030,big5,euc-jp,euc-kr,latin1+ X+ D/ ^% t4 u0 ^1 q
    11. source $VIMRUNTIME/delmenu.vim" L" w) f5 T- f( o( V
    12. set langmenu=zh_CN.UTF-8    "指定菜单语言,若需要英文则none/ p, F, R4 |; y, @: O/ L6 u. x7 x
    13. source $VIMRUNTIME/menu.vim
      7 T% s; c$ h# ^' V. z2 F: V  j# R
    14. " language message en_US.ISO_8859-1 "指定提示信息语言
      " e* @& s! w; a% U" X! |
    15. language message zh_CN.UTF-8    "指定提示信息语言
      % W; c  V6 X% S. z
    16. set ambiwidth=double    "使用US-ASCII字符两倍的宽度显示宽度不明的字符' `! p" O6 z% y# F
    17. set nobomb    "取消UTF的BOMB文件头* U# C2 J  X2 S, v- v& C0 k, v
    18. set ffs=unix,dos,mac    " 文件换行符,默认使用 unix 换行符
      ) M1 O+ }$ y% Q3 i
    19. set cm=blowfish2    "设置新的加密算法' R5 M, X( {5 e3 v# R) c( K
    复制代码

    : q6 [6 A& ~8 L9 m' D$ Q& o$ J1 D( a7 g) [! K
    若要解决Vim的各种问题,并按照自己的心意来,那么就需要下功夫学会定制vimrc文档。不过使用Vim初期,可以简单的复制别人的vimrc文件直接使用,网络一搜一大堆。
    ) d! z. a, v. m% S- O8 U
    9 w+ g1 |  v3 U4 }4 q9 l0 K  _; u: d: Z+ {8 d

    ' U9 C/ |) ], e, Q8 n, G. Q
  • TA的每日心情

    2020-11-25 15:28
  • 签到天数: 86 天

    [LV.6]常住居民II

    发表于 2020-8-13 03:55:48 | 显示全部楼层
    真是个狠人。。谢谢。
  • TA的每日心情
    无聊
    2022-7-21 15:56
  • 签到天数: 216 天

    [LV.7]常住居民III

    发表于 2020-8-13 09:17:56 | 显示全部楼层
    本帖最后由 wjl 于 2020-8-13 09:39 编辑
    + ], s+ e9 {7 W1 K- L/ t3 ^8 z! C" `4 q' ]: x* A
    我执行脚本后,生成的MarsDict.css,火星词典.txt,内容都是空的,没有生成 火星词典.mdx 不知道怎么回事
    / B3 B: t. k0 l4 y操作方式是在gvim_8.2.1424_x64_signed中单击“运行vim脚本”按钮,选择MdxSourceBuilder.vim,图片链接无法访问吗?https://s1.ax1x.com/2020/08/13/azemGR.gif
    # z3 ~; ^6 s  D5 R我电脑上安装了python,没有安装mdict-utils,这应该不影响生成 MarsDict.css,火星词典.txt  这两个文件吧
    # L2 E" w+ T/ O5 C
    ) |: a0 \- ?% G+ c2 k
    - V/ C9 f4 h* ?) ^1 _) x9 I% M6 o) ~9 F. }" N/ u
    9 c/ B' I% `3 s# w9 l" V. g

    点评

    前面我理解错了,原来MarsDict.css和火星词典.txt都是空的。需要看到你的复现步骤,以及结果截图。  发表于 2020-8-13 09:29
    MarsDict.css能够输出,说明一切正常。但火星词典.txt内容是空的,有点奇怪。还请说说你是如何操作的?复现的具体步骤。  发表于 2020-8-13 09:25
    生成火星词典.mdx需要安装python和mdict-utils  发表于 2020-8-13 09:24
    看不见截图,建议传输图片到图床:https://sm.ms/  发表于 2020-8-13 09:23
  • TA的每日心情
    奋斗
    2019-10-13 07:34
  • 签到天数: 209 天

    [LV.7]常住居民III

     楼主| 发表于 2020-8-13 09:41:13 | 显示全部楼层
    本帖最后由 VimVim 于 2020-8-13 09:47 编辑 ! Y6 L* U: k3 h
    wjl 发表于 2020-8-13 09:175 U4 F: A! S8 I6 L
    我执行脚本后,生成的MarsDict.css,火星词典.txt,内容都是空的,没有生成 火星词典.mdx 不知道怎么回事" T, p9 n6 B0 t: p
    ...
    ' H' N+ k/ c6 ^$ I# |- j8 ^3 z8 |
    看到视频了。: S! B2 n* }! Y! b) B+ R

    / t' H$ D/ r4 e- C9 w+ ]% O你的操作步骤很奇怪。输出的结果也不应该出现在vim的程序目录下,而是词典目录下。
    + _# ^( Z3 G( f9 u# E
    ( m) W4 x4 @+ D估计你的vim“工作路径”错了。请严格按照步骤来。
    6 I$ J  y/ J1 o& }3 [$ E1 M+ ^) r3 b3 X% p  R) P, T7 |
    1、关闭所有vim程序。% K: K, L' v! x5 Y4 j0 R
    2、右键MdxSourceBuilder.vim,使用vim打开(必须这样,才能保证vim的工作路径就是当前的词典目录,而非vim程序目录)
    6 ^: x& J) B7 O' ?$ Q3 L. ^# |; p3、使用 :new 新建文档. q  }' N) G4 c0 n. y$ q
    4、执行 :so MdxSourceBuilder.vim. L8 o; d) @, `( Z, _+ _4 `( n
    " Y. R7 t6 @- }5 X; E
    或者你如果会更改vim的工作路径,那么第二步想怎么打开就怎么打开:+ F; Q: c; G1 l1 }9 G
    1、输入命令 :pwd   可以看到当前的vim工作路径, t6 Y2 y2 p# E3 C+ f, m7 J
    2、输入命令 :cd..  将工作目录变更为上层目录 或  :cd c:\test 将工作路径变更为test目录,如此类推。命令:cd 后加上词典目录即可将vim的工作目录变更到词典所在目录,与dos 或 windows的cmd的cd命令一样。1 I- T- L% N' f' C
  • TA的每日心情
    奋斗
    2019-10-13 07:34
  • 签到天数: 209 天

    [LV.7]常住居民III

     楼主| 发表于 2020-8-13 09:59:26 | 显示全部楼层
    VimVim 发表于 2020-8-13 09:41. o  U( u. g0 f$ k' u1 I+ v
    看到视频了。. y5 n$ `& @! P3 d

    ) T! L8 x/ N2 m0 K! V你的操作步骤很奇怪。输出的结果也不应该出现在vim的程序目录下,而是词典目录下。

    / _2 W9 r- n+ }6 S: q/ J如果你希望你这样的操作也可以,更改MdxSourceBuilder.vim,添加如下最后两行(确保位置如下所示):
    " ^: o+ J3 z+ S7 v8 k" ======================================================
    - K( V5 E: L( W" 以下为程序正文,不熟悉Vim的用户请勿动9 A. ^; r: R' e0 V, h5 H( V
    " ======================================================
    ) l6 s! q9 D/ h; J/ ^; l". O4 i3 f( M5 u: |6 p0 l, c9 b
    "; T: P- {' k! _
    " 取得本文件所在的目录,并设置为当前工作目录& m: K. q6 L! p- d* B: H* x
    let s:home = fnamemodify(resolve(expand('<sfile>:p')), ':h')$ X$ [0 @& s5 L1 e: C" h* \8 @
    execute 'cd ' . s:home1 x- ^* \! L( S' C- M' w
  • TA的每日心情
    无聊
    2022-7-21 15:56
  • 签到天数: 216 天

    [LV.7]常住居民III

    发表于 2020-8-13 10:01:12 | 显示全部楼层
    VimVim 发表于 2020-8-13 09:41
    " }6 I2 X$ U; h/ j. W看到视频了。8 e, `) c" B! c1 S2 H! g4 ?

    ' H; I/ B2 r/ U8 [你的操作步骤很奇怪。输出的结果也不应该出现在vim的程序目录下,而是词典目录下。
    ' n# I, |7 y0 Q9 C  H
    多谢,严格按照你给出的步骤,现在可以正常生成 MarsDict.css,火星词典.txt 了6 Y: h" {5 `8 D' N! j% A. m

    + U% X; _2 i% g- S8 chttps://s1.ax1x.com/2020/08/13/azMjaT.gif) o1 F8 h8 m$ @$ m" o' `: n: k# m8 d

    - I' F9 T+ B% P8 c0 O" ?, Y
    ! ]/ X$ g! X; R: ]0 h8 D& ~+ l8 v4 ^& l; R' g& y# h7 i8 [9 B* V
  • TA的每日心情
    奋斗
    2019-10-13 07:34
  • 签到天数: 209 天

    [LV.7]常住居民III

     楼主| 发表于 2020-8-13 10:07:47 | 显示全部楼层
    本帖最后由 VimVim 于 2020-8-13 10:18 编辑 & J9 X* p9 |# a: H7 N
    wjl 发表于 2020-8-13 10:016 W2 i& s% ]. o9 }$ |# t
    多谢,严格按照你给出的步骤,现在可以正常生成 MarsDict.css,火星词典.txt 了
    # k. `+ g( w6 g3 g3 q0 f; g3 ?1 Y; |
    https://s1.ax1x.com/20 ...
    * N$ x6 _) r& Q& S4 i( z
    我一会更新一下程序(就是上贴所说),让其兼容各种操作。而且,以后不必打开MdxSourceBuilder.vim文件(我原来的设想是通过这个步骤自动设置工作目录,没想到你们却是另一种操作,以致失效),即可使用。
    ) D) `6 ^! @! q! }
    * i5 M* v8 T) }! q) A7 G此外,你已经有Python(需要与vim版本配对,vim的下载页面都有标识支持的python版本;同时python安装时要将其加入系统的path目录),安装 mdict-utilis 就很简单了,只要在windows cmd中输入如下命令,回车即可:
    # S! D1 o1 V0 p6 l5 t% A2 z" v5 b3 }4 D
    pip install mdict-utils
    1 _& K1 ?) R$ A) s+ M$ S8 X7 M! f0 _4 c/ O' q

    : j& i% ?. c7 l  j5 T; j( l$ _: \
  • TA的每日心情
    奋斗
    2019-10-13 07:34
  • 签到天数: 209 天

    [LV.7]常住居民III

     楼主| 发表于 2020-8-13 10:49:30 | 显示全部楼层
    本帖最后由 VimVim 于 2020-8-13 12:50 编辑 - Z5 {' R; x6 N# E
    wjl 发表于 2020-8-13 09:17
    8 [% v1 `2 T" ?$ t& M+ l我执行脚本后,生成的MarsDict.css,火星词典.txt,内容都是空的,没有生成 火星词典.mdx 不知道怎么回事4 t1 O; w0 g! K  A% L: A) `$ R
    ...
    3 r0 y$ Z- m  Y" Z' E
    已更新程序和说明文档,现在按照你这种操作方法也可以了,更简单,而且不容易出错。
    ; [/ w% y0 x4 q
    0 b" N* R1 Z7 I& U/ v打开Vim,单击 “运行vim脚本” 按钮  或  输入命令 :bro so ,找到MdxSourceBuilder.vim,确定,结束。7 I7 u5 _# @& t5 c
    5 k) I5 I5 L) Z6 u$ l% W
    注:原来的操作方法(如GIF Demo所示)依然是可行的,熟悉Vim的用户会更喜欢,因为会自动寻址。
    ( c% u( Q: |$ |( }# U0 p$ @; O2 a& o$ c# `2 |& M# m
    3 w/ K' z. p& g3 j& p
  • TA的每日心情
    无聊
    2022-7-21 15:56
  • 签到天数: 216 天

    [LV.7]常住居民III

    发表于 2020-8-13 11:32:35 | 显示全部楼层
    VimVim 发表于 2020-8-13 10:49
    + V1 Q" h! K; W2 V6 R/ m已更新程序和说明文档,现在按照你这种操作方法也可以了,更简单,而且不容易出错。( T+ ?& m; p" B7 h6 j( ~, W

    + k" G! ]! C+ w# a打开Vim,单击 “运 ...
    1 y+ t  f1 s6 I6 Z9 S9 N3 P
    现在可以直接选择vim脚本来生成mdx,不用手工输入命令也可执行生成操作了
    * E* B9 l9 w. nhttps://s1.ax1x.com/2020/08/13/azsapd.gif3 y" N( F% {4 ~# G! S9 T6 d! ?- Y

    点评

    这个词典的奥妙你可能没发现:词典的最底下还有不一样的导航。  发表于 2020-8-13 11:42
    是的,更方便像你这样喜欢GUI的用户,我自己已经习惯命令行模式,甚至隐藏菜单和工具栏。  发表于 2020-8-13 11:39
  • TA的每日心情
    奋斗
    2019-10-13 07:34
  • 签到天数: 209 天

    [LV.7]常住居民III

     楼主| 发表于 2020-8-13 12:25:34 | 显示全部楼层
    本帖最后由 VimVim 于 2020-8-13 17:13 编辑
    6 W6 F& G- k  l6 C
    VimVim 发表于 2020-8-12 23:20
    % D0 [- E7 d; C  O+ W, ?8 F( Y不用管什么菜单,不影响使用这个工具。4 {! b  Z! b% s$ y

    9 u1 x: M. X% r5 Z若仅仅是解决菜单乱码或者是根治中文乱码有关的常见问题,建议vimr ...
    + c) \# S. E3 D4 A! e: a& h
    进一步更新程序。解决Vim乱码以及满足常见的Vim用户需求。: f- B* z3 F( p: F
    4 V$ D* e6 B- r# k  F4 s7 R3 M7 p
    请将 _vimrc 文件复制到 $HOME 目录下,Windows下即是 c:\Users\YourName\
  • TA的每日心情
    开心
    2019-10-10 05:35
  • 签到天数: 328 天

    [LV.8]以坛为家I

    发表于 2020-8-13 21:50:54 | 显示全部楼层
    wjl 发表于 2020-8-13 11:32
    4 B) O9 E1 G0 @! e5 T5 ?2 N# q现在可以直接选择vim脚本来生成mdx,不用手工输入命令也可执行生成操作了# U% Y6 E2 }! M
    https://s1.ax1x.com/2020/08/1 ...

    / \4 k! e1 ^4 q; A# o  v能发一下您的python和Gvim安装文件么?我折腾半天就是生成不了mdx文件,不知是我的vim版本与python不匹配吗。不好意思,太菜了。谢谢。
    您需要登录后才可以回帖 登录 | 免费注册

    本版积分规则

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

    GMT+8, 2024-4-27 07:34 , Processed in 0.070828 second(s), 11 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2023, Tencent Cloud.

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