掌上百科 - PDAWIKI

 找回密码
 免费注册

QQ登录

只需一步,快速开始

查看: 5825|回复: 100

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

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

    [LV.7]常住居民III

    发表于 2020-8-12 16:46:52 | 显示全部楼层 |阅读模式
    本帖最后由 VimVim 于 2020-8-17 12:48 编辑
    ! v$ o7 i% t9 S5 \* u  ?$ z7 C$ @3 M% h3 R
    # 发布地址& K& N* x7 ]7 m( N9 \* U, P6 `1 v

    ) y5 ?- @! x; l: ]https://github.com/VimWei/MdxSourceBuilder3 h3 v& B- a% g
    6 H: M: R# ~- W& S; Y; q- [. O
    一键制作图片词典:原始词条==> 标准化词条==> mdx源文件 ==> mdx词典文件5 z' h1 P3 o3 h7 q$ N3 b, A
    0 l/ ~/ V, i# b+ z1 f/ E3 U7 Z9 E. y
    # 动图演示
    + M7 ~% [2 _: G9 s) u) P4 q) [5 E6 j% R' q, I, y( |9 H
    1 X% ~/ E0 z* H$ e

    4 q' c# F7 g" ~& ^) u, S3 z更多视频演示: https://www.bilibili.com/video/BV1Ki4y1g74X/+ G2 a: w4 R4 R' b1 G$ Q/ T
    , p9 q0 @% P5 B0 n+ Y$ B
    # 缘起) k5 U7 ^. s% H1 d& a' e- S

      A3 V8 N& Q2 t! Q8 X( B图片词典的制作规范与开源工具
    ! }8 H9 u7 x% b, c) }: Yhttps://www.pdawiki.com/forum/thread-40857-1-1.html6 `2 @4 U0 a5 s4 `( P& f6 L
    0 s8 e* W$ T) h, T5 w

    - C0 D: u9 K, p
    6 m4 {& f0 m; e2 f! Y9 x) Y1 ~  k8 S5 v

    ( n! h$ P( ~: F& R0 u- A# P
    * d, F# A8 T3 Z% Y0 \7 H. e' o$ g
    3 C  ~( m' k* r

    评分

    3

    查看全部评分

    本帖被以下淘专辑推荐:

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

    [LV.7]常住居民III

     楼主| 发表于 2020-8-12 17:12:25 | 显示全部楼层
    本帖最后由 VimVim 于 2020-8-14 11:29 编辑   y' \8 B7 b9 H5 @( J6 N
    0 y; j, J% m8 l( E  n6 c$ S
    # MdxSourceBuilder6 E' M( X  ~/ W( b- A! O
    - n6 Y, `. e# R" w  t/ F7 Y* Y- g
    一键制作图片词典:原始词条==> 标准化词条==> mdx源文件 ==> mdx词典文件
    . x: z- I4 g. f# p6 a) C+ K) J% h6 C6 x8 o6 e- t
    / j1 @3 Y% _: q6 q7 U% F, a
    ## 背景
    * A; D% ^. b: |. K. k2 F7 s7 w, A7 S2 h
    ### 需求背景
    # M4 f2 u" G* j/ m6 W- Z5 v5 `9 V0 R0 y
    时常遇到一些好资料,怎奈只有纸质版或扫描版之类,希望将这些资料转换为可以检索的mdx词典,既方便使用,也提高利用率。
    2 {4 ]8 |6 K2 U9 F8 ]
    " a# Z4 R4 p7 |& s但是,常常在辛苦整理好词条(这是纯苦力活)之后,使用过往技术方案实现的成品却不够理想,不理想之处有两大方面:
    # i; T% C, w$ @7 {* a6 L) {! V- i$ Z- j! e
    * 导航不理想,极大降低了用户的使用体验( g# _5 g1 Z  O- x! v( d6 r7 X
    * 制作修订过程复杂,极大干扰了制作者的热情
    ' P, _% n4 e3 D0 X8 q9 p! p  d* o4 G1 a4 ^' |; g; {- ]0 z& A
    这完全可以通过工具来解决。
    $ U4 W0 h) k# x/ X0 B& J! H- `- w
    + s& [: s' c3 [" ]; e% l2 S### 程序设计背景' B; }$ I- O5 J- |2 n

    + ^. k5 q4 E3 V" ]+ R4 [) F# j- c本来我只是提出痛点,希望有高人能出手解决,怎奈高人大都不屑于处理。
    " ?0 `. \( k. Y& m& w, Z6 U1 h- E  }; h" h
    本非码农,可鉴于实在痛的厉害,只好自己用三脚猫功夫倒腾了人生第一个具有完整功能的程序。在此之前,从来没用过list、dict之类的,连这个github发布,都是现学现卖,还望高人不要耻笑,多提点才是。若有高人能够弄个更好的程序或是python版的或是GUI版的,那大家就有福了,我这纯粹抛砖引玉。: r8 s; z& I6 e, Z  B
    * B/ F  q7 Y1 h5 S& C/ d
    非码农的好处,或许是可以有更好的用户视角:既考虑词典终端用户的使用体验,也考虑普通的词典制作者的使用体验。虽不能解决所有问题,但至少已能解决我自己的大部分诉求,希望也能解决众多mdx词典用户的些许痛点。8 f% [  B0 D1 D7 z  r4 B& I' w
    6 G1 X9 M3 _. A3 K6 J
    ## 解决方案2 h1 W3 f. o, w
    1 S: D: `2 `3 H! n
    基本思路: 1.原始词条==> 2.标准化词条==> 3.mdx源文件 ==> 4.mdx词典文件! a1 b! K: W; s
    3 j  B; d# \1 |, g  H, k
    1. 原始词条:鉴于资料的多样性,原始词条的获取方式也是多种多样,有OCR来的,有手工输入的,也有从其他人的资料转编译来的,也有是因为制作人的喜好或用的工具不同,导致原始词条的格式完全不同。这个特点造就了解决方案必须:(1)兼容多样性,将最常见的词条样式纳入进来;(2)开放性,用户可以根据需要自定义更多个性化的原始词条样式。* ^! T3 ^( M5 r

    1 M  T9 [% b) y    目前,本程序已经实现了对三种原始词条样式的兼容,用户也可以根据需要自定义添加。
    , j5 M8 I6 F8 f" t4 j! o3 U( Y9 C7 F8 \! O4 o3 m
    2. 标准化词条:若能将多样化的原始词条转化为标准化的词条,那么后续就可以标准化处理了。因此如何定义标准化词条就变得很重要,它是实现后续程序的基础。% z8 A: s5 k# d; x
    & i% w4 p' V$ ], I* p
        目前,本程序已经提出了一个1.0版的最基本词条标准:一行页码,之后跟随多行关键词,每行一个关键词,如此往复。之所以说1.0版仅仅是最基本的标准,是因为这个标准还未能兼容如分栏、多层级词条等更复杂的情形,这些都有待后续有高人继续升级完善。% c* k2 t7 ]! x, Y
    1 y' g7 \6 c& `4 e" |; n1 \# j
    3. mdx源文件:这个txt文件与其他技术方案的最大区别是——包含了足够优良的页面导航、关键词导航以及用户自由定义的导航信息,极大提升用户对图片词典的使用体验。图片导航如何设计仁者见仁智者见智,因此,解决方案必须:(1)足够优良,不能太简陋,能用机器实现的定位,就不要浪费肉眼定位、繁琐操作定位等人类的精力;(2)兼容多样性,将最常见的导航样式纳入进来,比如封面附录等无需关键词导航、正文等需要关键词导航、拼音等则无需导航直接转链接到现有页面即可;(3)开放性,用户可以根据需要自定义CSS样式,或者添加更多个性化的导航样式。
    " p8 D8 m: m2 n' I, j: x' T4 j0 D( J5 ]+ }9 s3 Z  t6 G
        目前,本程序已经实现了三种导航样式,满足一本常见词典的基本需求,同时本程序会输出配套的精细CSS,方便用户个性化定制,此外用户也可以自由添加、改造导航样式。
    5 ~8 E+ x8 r9 W6 U
    3 J8 S" L% [) `4 m1 n/ ~4. mdx词典文件:这个步骤是可选项,但一步到位可以极大提升用户的体验,更重要的是使用这个工具可以实现跨平台制作mdx词典了,不必局限于Windows,Linux、Mac统统不在话下。当然要说明的是,这一环节用到了另一个开源工具, https://github.com/liuyug/mdict-utils ,功劳统统属于他!
    + \" k6 ]: I+ ^6 t- X0 T0 T& {, [' V: Q
    ## 程序文件及安装  J. W( D; }2 t
    - B8 |, s  M  \
    根本谈不上安装,因为整个程序就是3个Vim脚本文件而已,下载后,直接将这些脚本文件放在与词条文件同一个目录即可。* k# `. v* C) }3 B+ p

    # u6 }3 k* ~: O7 g6 a# X* MdxSourceBuilder.vim  这是入口文件:上半部分是配置文件,需要用户定义词典参数;下半部分是主程序,通常无需理会
    % ?1 _3 p; B/ P9 Q* MdxSourceBuilderCore.vim  这是主程序调用的程序,仅当需要高级定制时修改,通常无需理会+ E" N; X3 Q1 F7 F0 w2 E4 l
    * MdxSourceBuilderCSS.vim  这是CSS文件,样式文件可以在这里定义,通常无需理会5 {7 M$ B$ [4 `; ^
    - q& ]1 \% m/ T" M* [3 E
    其他文件,都是附带的Readme、动图演示、参考资料、案例词典之类,可以忽略。1 Y% @9 i3 D) B6 ?  S; H/ v, ~
    9 k' k( x& C" }! I) i
    ## 体验案例“火星词典”0 @3 B, G) T7 q1 o& N7 ]
    1 k: d1 C  X0 ]1 W) ~
    为展示程序的特点,特制作了“火星词典”,供观摩使用。5 x4 V* S5 m7 W8 V; W
    . b- t: q; N7 `* a; p
    * 案例词条文件:以"火星词典"开头的所有.txt和.html文件,其中body.part1、body.part2、Pinyin三个文件展示了不同的词条格式' Q( b2 j1 I8 }+ t4 d
    * 程序及词典配置文件:以"MdxSourceBuilder"开头的所有.vim文件,其中MdxSourceBuilder.vim已经包含了案例词典的配置信息2 D- E! {. c9 w

    . P  e( g# l! g3 f: [' d/ y/ \案例使用:打开Vim,输入命令 `:bro so`,找到MdxSourceBuilder.vim,打开,结束。  `& H* o" r6 C0 n9 b
    0 P/ t* J' K7 q8 T2 l6 l
    * 你会看到,仅仅使用上述一个命令,就会输出3个成品文件:MarsDict.css,火星词典.txt,火星词典.mdx
    7 O. ?( F, ?6 t5 _: m/ ~  K* 你若没有复现上述效果,也别着急,可能是vim、python和mdict-utils没有安装配置好,继续往下看说明文件即可解决! a! b1 j& M# \' `! J& z9 l
    * 之后你只要照猫画虎,即可制作自己的图片词典了
    7 h2 G$ i( l$ N" }  u, r/ Z( S$ u
    3 _5 T- @5 x% Z, D* M% F* L2 Q9 O## 使用说明
    $ m6 r0 ]1 w) u+ o; Z1 w. m" {6 n/ A+ j  a: P
    ### 极简使用说明
    ( n- E1 q6 K8 m  J. f" E8 Q; y5 p
    & s: H4 Q6 {( f* u$ B打开Vim,输入命令 `:bro so`,找到MdxSourceBuilder.vim,打开,结束。
    5 u4 Y$ C8 ~+ l6 _0 K9 V8 Y1 F# [. P2 c5 U3 ^& ?- U$ X7 J6 }
    ### 概要使用说明& r9 I' A/ r8 X) \% u  {+ S  F
    + X4 ~% O/ f/ W) H8 E* r
    1. 按格式要求准备好词条文件" j+ W' K% C! ~2 H7 b! q% y
    2. 使用任意文本编辑器配置好 MdxSourceBuilder.vim 中的词典参数9 ?8 O7 `  f, R5 A9 f- o
    3. 打开Vim,输入命令 `:bro so`,找到MdxSourceBuilder.vim,打开,结束。# L( L/ N2 w) T* ~

    : M; E6 ]7 e/ z. g# C, F### 详细使用说明
    % G" G+ Z9 t0 M" ^- s% d- p  J
    ) u) }: H. ]$ {+ z* 直接打开查阅 MdxSourceBuilder.vim,其中“使用方法”及“词典参数配置”两个部分自带详细使用说明。
    ) c9 w2 t- M: X6 W5 B* 若想深度定制,把所有以"MdxSourceBuilder"开头的.vim文件看一遍就知道怎么处理了,即使不懂VimL语言,看注释也能猜个差不离。
    * t5 l( W$ s6 U0 G
    * Z* U9 G) n9 [. S### Tips: 使用更便捷快速的命令
    3 _# j; @5 M4 U3 m  z1 U2 ?: o4 `: q2 v8 s
    * 若觉得如下步骤还要寻找MdxSourceBuilder.vim,有些麻烦* V  p# m& i2 I
    / Q- q0 U/ H" A$ Y9 ]/ ?7 s+ {6 R
    打开Vim,输入命令 `:bro so`,找到MdxSourceBuilder.vim,打开,结束。
    + ^+ ^, ~5 a; P5 n; f2 a+ N0 G; V5 T/ |. @8 {* r
    * 那么建议使用如下更快的方法(自动寻址):
    . N$ H1 s; s/ b# g& z+ H) K3 |1 t% L: ?$ T  T1 v
    用 Vim 打开 MdxSourceBuilder.vim,新建文档`:new`,输入命令`:so MdxSourceBuilder.vim`0 L& q8 L; Y& `/ y6 ]5 @
    5 n$ B+ S; ^; g- H$ n
    甚至输入`:so mdx` 之后,按Tab键即可自动补全命令 `:so MdxSourceBuilder.vim`& ~  s- Z0 N/ i+ }% i5 X

    2 O) G4 `: F7 j4 P6 @& [这个新方法的逻辑,其实是利用Vim首次打开一个文件时,会将该文件所在目录设置为Vim当前工作目录。" m0 C: H0 C3 ]4 S. L  S
    1 v9 i8 E" [9 _1 i/ \
    也可以使用系统命令 `:cd` 来更换Vim的工作目录,如 `:cd d:\火星词典`* z# _0 _, s0 j

    # ?8 t& M! C; j若您使用附带的`_vimrc`,还可以直接使用自定义的命令 `:CD` 将Vim的工作目录切换为当前文件所在目录。% ?. |( O, g2 q; V) Z" e% D

    , x% p# S3 [# a- F4 k- \' l

    3 H2 S! B6 O6 _) D( k### 相关FAQ
    ! Y8 G4 ]: ~4 U' D3 s7 T9 h
    * z: K6 V5 Z" c9 S) F! a0 P& f1. 关于Vim的使用:号称编辑器之神,要想完全掌握确实有难度,但本程序要用到的Vim知识则少的可怜,不必顾虑。1 T5 [5 ?0 v" R( O5 {. Y! s
    7 b0 ^! b; E; t
    * Q: vim出现乱码! q2 H0 y. S0 _
    * A: 请将`_vimrc`文件复制到`$HOME`目录下,Windows下即是`c:\Users\YourName\`
    & _# u4 @# j  N* Z
    $ J3 \4 s5 J' W8 c9 i- `7 b* V$ h     其中必备行是 set encoding=utf-8,其他可选,用于提升Vim使用体验
    7 f* e% \) q! Y# N9 ?, J# h* \) V
    4 D2 u: e9 W8 o8 e" S  G1 s2. 关于mdict-utils的使用:除了打包,还有很多其他解包、读取等功能,大家可以尽情挖掘改造。6 I9 t! Z& u' x4 x: q

    - Y9 w2 o9 L! R## 社区讨论与反馈
    / g8 ^. a- U2 x. a! x5 d' P( p' G" ?: o& l3 @8 J( j+ N7 |
    * Github: https://github.com/VimWei/MdxSourceBuilder* i% N& G! S+ }7 n7 o9 R3 H- K
    * 讨论社区: https://www.pdawiki.com/forum/thread-41287-1-1.html* u8 q0 ^- [( Z$ [1 V
    + ^* _# e* `1 L6 ~
    ## LICENSE) R& L# E- J: U* G# v3 s5 c3 A* H
    ( J% D1 v" j" @5 Y9 [  g
    [GPLv3](https://www.gnu.org/licenses/gpl-3.0.en.html)
    4 D& Q, R; P" y2 B% j$ P) }6 u7 I- X, K* Q) b7 T/ O; P
  • TA的每日心情
    无聊
    2022-7-21 15:56
  • 签到天数: 216 天

    [LV.7]常住居民III

    发表于 2020-8-13 18:22:09 | 显示全部楼层
    本帖最后由 wjl 于 2020-8-13 18:49 编辑 9 T) o6 u& S$ b, z* E3 i0 j+ F, b/ t
    VimVim 发表于 2020-8-13 12:25- y" ~/ l+ Q4 r5 c# p1 E7 e
    进一步更新程序。解决Vim乱码以及满足常见的Vim用户需求。: a3 E. [" }( M! m4 Q
    ) h. R! X6 v% m
    请将 _vimrc 文件复制到 $HOME 目录下,Window ...

    ! h8 a+ f0 B$ [4 m9 Y( s7 F2 |请问Vim能否实现以下更改呀?方便的话,能否帮忙写一下vim的更改实现方法,现在我只会逐行手动更改,没法实现全文件批量修改
    ! Z/ g. i4 X& X1 Y' v$ q查找含有<div class="HW_L_C" style="margin-top:(.*?)">的所有行,然后将同一行中的所有margin-top:44.43%中的数字减去<div class="HW_L_C" style="margin-top:后面的数字,保留两位小数- K. o& n5 f) B8 o& g( C
    6 N" ?2 L5 ]& R8 [
    <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>6 {- a: ~! G4 p- q2 M* H* a3 K( v/ ^

    " G; S) K) R. _9 o6 T1 F$ S) E" ^4 Z% f7 D3 R  }

    点评

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

    [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+ w3 `# N0 D9 L: U# _; y
    我是起哄的。:) 目测这个利器要火!工欲善其事,必先利其器!猜测K大是会加1000米还是10000米,以鼓励此类 ...
    * h) K) T  T+ R8 k9 q; Y( A
    感谢支持。
    0 J# x! P, A( K: a& n. h/ W; G: l% p$ }+ S3 j, [+ m0 z$ O% Z% y
    若能有这样的工具,我想目前的图片词典将发生极大的变化:
    ' X( N- s% d0 V$ e5 D8 ^/ q! N; Y7 N! D# s6 m% f+ }; x6 g8 t- T
    1、新的图片词典制作将非常容易,基本人人皆可上手,而且生成的质量都还很不错,这些将促进新词典的产生。2 C& T0 t" w1 \3 F" h
    2、对于已有的图片词典,非常容易转换为新标准下的导航,且实现个性化处理,这将极大提升词典的使用体验。
  • TA的每日心情
    开心
    2018-8-8 03:13
  • 签到天数: 1 天

    [LV.1]初来乍到

    发表于 2020-8-12 18:00:30 | 显示全部楼层
    VimVim 发表于 2020-8-12 17:33" e- j; R& ]; g. o5 t" v
    感谢支持。

    & p2 ?1 {& r& K: m! aVimVim 兄,相當棒的工具,創意十足,漂亮
  • TA的每日心情
    奋斗
    2019-10-13 07:34
  • 签到天数: 209 天

    [LV.7]常住居民III

     楼主| 发表于 2020-8-12 18:52:06 | 显示全部楼层
    喬治兄 发表于 2020-8-12 18:00* F9 B1 [- ~3 G  m* O5 X6 J
    VimVim 兄,相當棒的工具,創意十足,漂亮

    / j. v! ?, y% e$ `" {7 J其实,很大一部分是借鉴自你最初的创意(页面导航和关键字导航),我只是将其拼接在一起,使其更加开放(开源、可融入更多工具链)、兼容(多种词条格式及容错)和扩展(高度自定义、跨平台)。
  • TA的每日心情
    开心
    2018-8-8 03:13
  • 签到天数: 1 天

    [LV.1]初来乍到

    发表于 2020-8-12 19:06:40 | 显示全部楼层
    VimVim 发表于 2020-8-12 18:52! h- F9 h; y3 r! ]5 K; a
    其实,很大一部分是借鉴自你最初的创意(页面导航和关键字导航),我只是将其拼接在一起,使其更加开放( ...

    2 d" p9 L- M  {# y& u7 F6 ?1 q9 AVimVim兄,太客气了,自從有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 编辑 ' S  ?8 l: z; O& y; _; `, F
    wjl 发表于 2020-8-12 19:30
    ) Q* P& _' E0 g  |0 a多谢分享制作工具,不过Vim对于大多数人学习难度有点高吧。

    - E- D+ _- Z6 _所需要的所有Vim知识已经在动图演示的字幕中显示了,总结就是:, o. D* c" S- D4 ]+ r

    4 O! F: a' z. e, q) ]:new
    " p; d, e7 R6 m! n% t$ A:so MdxSourceBuilder
    9 y+ H2 ?4 T2 t2 U9 o6 d( d8 x
    : _# j: E! e& Q随便找个识字的人都能照着这些字按顺序输入,不难吧。8 G1 a: O' o+ k$ s3 N
    8 E' }- e! T8 f
    我要吃肉,是不需要学会打猎或养牛养羊甚至当个厨师,只要会拿起筷子或刀叉送到嘴里就好了。
    3 l2 U* C* C& o9 r- p0 G我要浏览个网页,是不需要学习计算机原理、HTTP协议或制作网站之类,只要会点击超链接就好了。2 N4 G2 S# f: ~
    2 M. T- _9 B$ j5 c* Q1 O

    4 f8 [  I' F1 g2 p: F  s" G
  • TA的每日心情
    擦汗
    2022-3-25 11:07
  • 签到天数: 66 天

    [LV.6]常住居民II

    发表于 2020-8-12 20:03:06 | 显示全部楼层
    RickVincent 发表于 2020-8-12 17:21
    / G9 H6 G0 k: I; d5 H( T我是起哄的。:) 目测这个利器要火!工欲善其事,必先利其器!猜测K大是会加1000米还是10000米,以鼓励此类 ...
    8 Z5 ^& S1 v/ z" D5 Z$ g% E0 f
    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 编辑 # W2 R- h' U* Y3 m0 ~8 `
    VimVim 发表于 2020-8-12 17:12
    : G  U: y7 K/ p" {+ \# MdxSourceBuilder% `+ J) O+ \( |3 N0 I

    3 \( |  R& V8 lmdx图片词典制作工具:使用一个命令,实现从原始词条==> 标准化词条==> mdx源文件 ==> ...

    % {8 N/ g7 j% k( ^7 _) M% ?菜鸟一问:
    * N& w9 x6 A; l0 P1 A用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 编辑
    3 I2 h0 p  D' |" [9 D  N
    Jiangxi 发表于 2020-8-12 21:27
    ! l6 j6 a( e5 E+ }菜鸟一问:( k. ~, t9 M; n4 l
    用Gvim打开MdxSourceBuilder.vim,显示乱码,是缺啥字体么?
    2 _5 @% e; j- j8 e( O4 f" \3 K
    不是字体的问题。
    7 o& w8 P: j& S7 J; Z2 w2 B你找到vim安装目录下有个_vimrc文件,用任意文本编辑器打开,随便在哪加入一行(比如最顶部或最后一行):  B5 [" Y7 i* h0 }% Q$ z+ b
    ' T8 v' [# |% Q% g! q) f" M
    set encoding=utf-8" ~' `% A3 W# D
    ) t5 j  D% o8 j7 z# ~9 Z" w: g$ n) T
    以后就不会有乱码问题了。
    * f3 g& \3 H$ @5 @

    点评

    谢谢,加了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 编辑
    + Q6 L" O0 \4 w  X& o+ Z1 _- E% W8 h# N. G+ |, f4 q$ K
    不用管什么菜单,不影响使用这个工具。0 @- l% {7 w+ c3 I: L  n

    9 T; F( S( l; d/ I若仅仅是解决菜单乱码或者是根治中文乱码有关的常见问题,建议vimrc文件加入如下内容:, z8 {& a$ u" M: u4 p, [

    7 n( z2 L6 E; ]* A
    1. " Basic Setting -----------------------------------------------------------{{{1
      ) ]0 e, d) N6 p3 ~
    2. set nocompatible    "启用不兼容Vi模式2 G: ?( I5 q' K2 b2 }- ~
    3. syntax on: ?( L* b* [& p$ J0 r) i
    4. filetype plugin indent on   "文件类型自动识别,并使用相关插件和自动缩进9 L. l' U& e" b2 ^5 P; M/ w

    5. ' M) S2 s# w' }: d" y- d
    6. " Encoding related --------------------------------------------------------{{{1
      2 \' M0 H0 e- J0 M) a. m4 U
    7. set encoding=utf-8  "Vim 内部工作编码3 D9 \% A5 h  @5 {/ s
    8. set fileencoding=utf-8  "设置此缓冲区所在文件的字符编码;新文件默认编码
      ! i3 B3 M1 @+ Z2 K; A
    9. " 打开文件时自动尝试下面顺序的编码% ^. R6 |5 V6 [2 g7 v: k
    10. set fileencodings=ucs-bom,utf-8,cp936,gb18030,big5,euc-jp,euc-kr,latin13 L( d2 M" V- u+ {& Y' P; Q# j+ {
    11. source $VIMRUNTIME/delmenu.vim
      ( f% P0 o6 B. }& h. j
    12. set langmenu=zh_CN.UTF-8    "指定菜单语言,若需要英文则none; u) P$ O) T, X2 }3 r
    13. source $VIMRUNTIME/menu.vim8 L% o4 b% q4 c, o; t8 T9 i
    14. " language message en_US.ISO_8859-1 "指定提示信息语言5 G9 ?* d; h/ a$ @" ^, @
    15. language message zh_CN.UTF-8    "指定提示信息语言% o9 s' |- O# N3 _1 r1 ~' j
    16. set ambiwidth=double    "使用US-ASCII字符两倍的宽度显示宽度不明的字符! Y0 c1 R  x9 @3 K# _# c* w  i
    17. set nobomb    "取消UTF的BOMB文件头- @& `+ ~3 w3 w
    18. set ffs=unix,dos,mac    " 文件换行符,默认使用 unix 换行符
      , h( k$ A6 D  j2 P+ ?
    19. set cm=blowfish2    "设置新的加密算法% J2 p8 R% o3 k; H/ s, ~. i
    复制代码
    8 ~$ X+ x8 `9 V/ B' W4 z' L
    9 G* n, ^' z; z% }! p# l& D
    若要解决Vim的各种问题,并按照自己的心意来,那么就需要下功夫学会定制vimrc文档。不过使用Vim初期,可以简单的复制别人的vimrc文件直接使用,网络一搜一大堆。" T1 e2 x  s6 X* Q5 x' C+ L' |

    % A+ C5 u) |# u, b/ z
    3 C0 N5 ^7 V! w  E3 G
    / y$ o* u$ k8 n, ~$ ^2 S: e
  • 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 编辑
    5 F) W" @6 ~% G8 g5 ^% ?5 t  N' K4 o$ H/ z5 c8 I3 B+ F
    我执行脚本后,生成的MarsDict.css,火星词典.txt,内容都是空的,没有生成 火星词典.mdx 不知道怎么回事$ b: m( B/ K  j6 k5 t- c
    操作方式是在gvim_8.2.1424_x64_signed中单击“运行vim脚本”按钮,选择MdxSourceBuilder.vim,图片链接无法访问吗?https://s1.ax1x.com/2020/08/13/azemGR.gif3 y% U$ L  {2 D
    我电脑上安装了python,没有安装mdict-utils,这应该不影响生成 MarsDict.css,火星词典.txt  这两个文件吧' l" A4 N# o3 A

    1 k  e8 U$ Z! r
    * |. w4 W; c0 T/ w1 d9 `- H3 s2 e0 \  F4 A+ g8 U5 z0 p- a
    $ f& n2 N* R2 ~3 W% R) v! y

    点评

    前面我理解错了,原来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 编辑 1 t9 I  g. J! T
    wjl 发表于 2020-8-13 09:173 h6 L& G$ d( B# N- m4 z
    我执行脚本后,生成的MarsDict.css,火星词典.txt,内容都是空的,没有生成 火星词典.mdx 不知道怎么回事) J/ p% b. |9 X
    ...
    7 B4 I) A! Z  g# {2 N3 ]
    看到视频了。
    2 G1 m. Z  J: b) X$ z& [, }, }* f3 m7 M: n; j1 E+ A
    你的操作步骤很奇怪。输出的结果也不应该出现在vim的程序目录下,而是词典目录下。1 n4 C0 L' U9 S& d1 D3 t( O3 G& y
    * y/ i7 I1 D: H1 O, m% o4 @' g" C
    估计你的vim“工作路径”错了。请严格按照步骤来。$ `3 p, O9 `3 Z0 e3 Z# O3 D: t
    9 n- T) v+ O+ ]) ~# a- i
    1、关闭所有vim程序。: Z6 A# y2 k6 o5 X. o) w
    2、右键MdxSourceBuilder.vim,使用vim打开(必须这样,才能保证vim的工作路径就是当前的词典目录,而非vim程序目录)
    1 d1 x: ?! l) ^+ q( N! D& k# |3、使用 :new 新建文档
    $ y, N/ g+ k4 m6 B& W5 {) u- G4、执行 :so MdxSourceBuilder.vim; h: ^; A. s- f* q
    " H' A) H$ P2 N1 t' ?: E/ M
    或者你如果会更改vim的工作路径,那么第二步想怎么打开就怎么打开:  I: v" [" ]: ^% l
    1、输入命令 :pwd   可以看到当前的vim工作路径
    6 s. R0 _* R" i, D2、输入命令 :cd..  将工作目录变更为上层目录 或  :cd c:\test 将工作路径变更为test目录,如此类推。命令:cd 后加上词典目录即可将vim的工作目录变更到词典所在目录,与dos 或 windows的cmd的cd命令一样。) q; e! J, l; ~) X5 T( v3 x
  • TA的每日心情
    奋斗
    2019-10-13 07:34
  • 签到天数: 209 天

    [LV.7]常住居民III

     楼主| 发表于 2020-8-13 09:59:26 | 显示全部楼层
    VimVim 发表于 2020-8-13 09:41
    & v* J4 {. x2 Y看到视频了。2 q" A  T, H# Y. G% ]
    4 |, k. }; K& t9 F! Z: c& F
    你的操作步骤很奇怪。输出的结果也不应该出现在vim的程序目录下,而是词典目录下。
    4 P# T5 g4 ^$ M- E/ n6 K
    如果你希望你这样的操作也可以,更改MdxSourceBuilder.vim,添加如下最后两行(确保位置如下所示):6 L/ T1 Y  z) |9 l
    " ======================================================
    + y" v! S/ o7 u. o4 Y% J1 s" 以下为程序正文,不熟悉Vim的用户请勿动
    # S' S6 G) r* o" F; A9 Q- P+ g" Q" ======================================================
    % S: i; _' n/ {8 \( P2 u"2 K# N, K; Z6 w7 Q# T
    "
    0 i5 _) @/ B8 o7 b- Q" 取得本文件所在的目录,并设置为当前工作目录5 C/ u0 Z6 |4 R& H8 A4 i" g
    let s:home = fnamemodify(resolve(expand('<sfile>:p')), ':h')
    & m: e+ J% x/ Q3 x) B1 }( qexecute 'cd ' . s:home
    $ M, l# h- D, a' A1 N" ~; h
  • TA的每日心情
    无聊
    2022-7-21 15:56
  • 签到天数: 216 天

    [LV.7]常住居民III

    发表于 2020-8-13 10:01:12 | 显示全部楼层
    VimVim 发表于 2020-8-13 09:41
    : p2 o2 h! h, o2 z% f# R看到视频了。1 M5 N8 G; e: M. T

    ( q6 a( v" T7 `) f/ i9 `" W你的操作步骤很奇怪。输出的结果也不应该出现在vim的程序目录下,而是词典目录下。

    / g, c& E0 ^- N( ]3 N! j多谢,严格按照你给出的步骤,现在可以正常生成 MarsDict.css,火星词典.txt 了0 m8 F1 r4 t1 F' m% ?3 V

    & g3 C; a8 K' Lhttps://s1.ax1x.com/2020/08/13/azMjaT.gif2 G' |/ Q0 [) M

    + c. c+ l4 `  M7 ^! x! @) |$ H# |9 N. D) e# {: Z( Z
    6 c- L/ G% W% ?8 L
  • TA的每日心情
    奋斗
    2019-10-13 07:34
  • 签到天数: 209 天

    [LV.7]常住居民III

     楼主| 发表于 2020-8-13 10:07:47 | 显示全部楼层
    本帖最后由 VimVim 于 2020-8-13 10:18 编辑
    5 W, M' m" T! U, R* J
    wjl 发表于 2020-8-13 10:011 Y1 [' Q" T/ J# ]$ [7 z
    多谢,严格按照你给出的步骤,现在可以正常生成 MarsDict.css,火星词典.txt 了
    ! H% V" S0 ~+ N! K$ a
    9 m& t+ f% \/ O( M, yhttps://s1.ax1x.com/20 ...

    9 I% l* t6 P) c0 D我一会更新一下程序(就是上贴所说),让其兼容各种操作。而且,以后不必打开MdxSourceBuilder.vim文件(我原来的设想是通过这个步骤自动设置工作目录,没想到你们却是另一种操作,以致失效),即可使用。; r5 ]% B% w, s/ a  T
    ! P' F, p& o6 N' P$ k' ~
    此外,你已经有Python(需要与vim版本配对,vim的下载页面都有标识支持的python版本;同时python安装时要将其加入系统的path目录),安装 mdict-utilis 就很简单了,只要在windows cmd中输入如下命令,回车即可:
    7 ^8 _8 r  T2 g0 ^9 h
    7 K4 H) e, e% n1 Upip install mdict-utils
      Q' p0 z8 A: }0 a) [6 @0 D7 g# Y- [) w
    # g+ L1 k. a* ]% L% ]
  • TA的每日心情
    奋斗
    2019-10-13 07:34
  • 签到天数: 209 天

    [LV.7]常住居民III

     楼主| 发表于 2020-8-13 10:49:30 | 显示全部楼层
    本帖最后由 VimVim 于 2020-8-13 12:50 编辑 - m1 Z) _5 `5 a5 f4 H$ n0 {
    wjl 发表于 2020-8-13 09:17. X0 @) n: S# {5 J0 r6 E5 ^+ W
    我执行脚本后,生成的MarsDict.css,火星词典.txt,内容都是空的,没有生成 火星词典.mdx 不知道怎么回事) f$ ]" D9 y; {1 E4 E+ ~& T, L9 H. C
    ...

    . G3 k& l! z) X( |# c, \已更新程序和说明文档,现在按照你这种操作方法也可以了,更简单,而且不容易出错。# u8 W& O" U/ {4 R$ V0 D, p6 d
    0 r! m  m) z1 @* o- t$ D# u
    打开Vim,单击 “运行vim脚本” 按钮  或  输入命令 :bro so ,找到MdxSourceBuilder.vim,确定,结束。
    ' m1 c' C, Y/ N  O7 r: S+ L1 j; g4 s* q% E2 ]" Q& o. n- E
    注:原来的操作方法(如GIF Demo所示)依然是可行的,熟悉Vim的用户会更喜欢,因为会自动寻址。& P/ e+ e5 y: D& S+ g0 V

    3 [( k/ |5 k; R# Q2 C' D6 ^' r+ |; O7 g3 w( i8 e* I5 Z. y# _
  • TA的每日心情
    无聊
    2022-7-21 15:56
  • 签到天数: 216 天

    [LV.7]常住居民III

    发表于 2020-8-13 11:32:35 | 显示全部楼层
    VimVim 发表于 2020-8-13 10:493 {4 P  z8 `4 i2 k$ I5 r
    已更新程序和说明文档,现在按照你这种操作方法也可以了,更简单,而且不容易出错。
    , f2 Q0 |, v' T* d' i0 a5 l5 I. ?; {  X! {* T
    打开Vim,单击 “运 ...

    7 W% ?7 I% `' x+ V1 S7 X现在可以直接选择vim脚本来生成mdx,不用手工输入命令也可执行生成操作了
    ) a6 l/ D: m$ z7 |- a7 o* x5 x: fhttps://s1.ax1x.com/2020/08/13/azsapd.gif. v- s4 P% s6 N  p' }1 N$ |+ n( _2 I

    点评

    这个词典的奥妙你可能没发现:词典的最底下还有不一样的导航。  发表于 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 编辑 $ Z4 A5 x9 ]9 i: b+ C0 Q0 e" x: O, ]
    VimVim 发表于 2020-8-12 23:20
    6 m" I5 m: T2 k& \8 Q/ H不用管什么菜单,不影响使用这个工具。
    + `4 W5 }# Q2 g# s0 V! w+ s6 ]% f: n  W
    若仅仅是解决菜单乱码或者是根治中文乱码有关的常见问题,建议vimr ...
    : b. @( k2 ~$ f) u* L1 g9 M
    进一步更新程序。解决Vim乱码以及满足常见的Vim用户需求。
    3 l5 x' s& p; |( U* Z6 o6 R
    ( K6 l- }$ f) }+ e9 C6 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
    2 [% H7 W$ L4 m" q5 ^; z+ h4 d现在可以直接选择vim脚本来生成mdx,不用手工输入命令也可执行生成操作了& o7 _9 e/ Q  j  o7 {
    https://s1.ax1x.com/2020/08/1 ...
      L7 w4 ?  W" p% S3 B+ l$ A# k7 t
    能发一下您的python和Gvim安装文件么?我折腾半天就是生成不了mdx文件,不知是我的vim版本与python不匹配吗。不好意思,太菜了。谢谢。
    您需要登录后才可以回帖 登录 | 免费注册

    本版积分规则

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

    GMT+8, 2024-5-5 07:49 , Processed in 0.093629 second(s), 13 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2023, Tencent Cloud.

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