掌上百科 - PDAWIKI

 找回密码
 免费注册

QQ登录

只需一步,快速开始

查看: 5828|回复: 100

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

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

    [LV.7]常住居民III

    发表于 2020-8-12 16:46:52 | 显示全部楼层 |阅读模式
    本帖最后由 VimVim 于 2020-8-17 12:48 编辑
    6 \0 _7 k* |% G) J7 _/ d* H' a* L) W2 p* b
    # 发布地址
    " s) o  r) y! ]3 Y, ]
    & {2 d1 B$ S' ~8 s/ ?+ ^3 x' Zhttps://github.com/VimWei/MdxSourceBuilder& r; y! G& ?& {

    4 [. N. ]# |" _- c7 j. E一键制作图片词典:原始词条==> 标准化词条==> mdx源文件 ==> mdx词典文件
    ( q! E" c% f! F$ {/ d: ]
    ' r) ?' Z) N; Y5 [: u% T& r# 动图演示8 r! S: Z: r1 z9 t2 v
    " H# F2 g% F& K- A' ~

    2 j8 w0 l4 n. u( r( I
    . G6 B" J! t, X更多视频演示: https://www.bilibili.com/video/BV1Ki4y1g74X/6 b8 H$ U! G% S% T; h( C

    4 p5 O! R0 D% Q# 缘起
    / x5 F6 O# r0 q9 c2 a
    1 E& Z8 l8 |. Y8 C' W图片词典的制作规范与开源工具" i/ Q) g* y4 u; ~) _
    https://www.pdawiki.com/forum/thread-40857-1-1.html: X% @" W  L# R2 C& m

    - U# l) T1 b2 E( n" j2 J

    2 O: L! s. @, e, ^( L$ }0 ^5 L( I7 ]  c
    7 |7 f! ]( ]4 ^& o8 v
    - z7 k: A8 `5 @: x, f  R- K

    : ~9 E6 Z: V1 Y  y7 A6 T3 b0 P3 J3 \; t. ]0 q

    评分

    3

    查看全部评分

    本帖被以下淘专辑推荐:

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

    [LV.7]常住居民III

     楼主| 发表于 2020-8-12 17:12:25 | 显示全部楼层
    本帖最后由 VimVim 于 2020-8-14 11:29 编辑 ) E: s$ Y4 n! H
      W2 A9 x, }. I% g/ o
    # MdxSourceBuilder
    % b' M8 N# X; U. W; }. m! j9 w1 P$ I6 g6 m
    一键制作图片词典:原始词条==> 标准化词条==> mdx源文件 ==> mdx词典文件
    : z; a0 N0 O* I+ g) l9 V9 H, p' ^: i9 z8 P1 U

      l9 X! n. d4 x7 ~## 背景, p* |1 i. k8 S2 a6 e

    $ s( l  ~2 y' s: ?### 需求背景/ a4 z' K) I9 Y: G+ U
    0 n# I. p! x: {  {2 c/ c- C4 h
    时常遇到一些好资料,怎奈只有纸质版或扫描版之类,希望将这些资料转换为可以检索的mdx词典,既方便使用,也提高利用率。* e2 V5 e1 v1 N$ `

    : C, P4 M) B6 t% J但是,常常在辛苦整理好词条(这是纯苦力活)之后,使用过往技术方案实现的成品却不够理想,不理想之处有两大方面:
    + V: k- u5 B1 u
    ! J) p- [( t4 o8 q7 Y. I* 导航不理想,极大降低了用户的使用体验. e  \. ?) ]4 t& {1 f1 S
    * 制作修订过程复杂,极大干扰了制作者的热情
    + p! ]+ H- f( P- i
    : n; u% r( @; K3 Z$ ~这完全可以通过工具来解决。& L3 B7 c1 C' @5 d. F
    # j6 D/ s" V5 Q" K% h" w) |
    ### 程序设计背景: w; w0 _7 Y" t; E, E" G

    : u. A3 g6 h: N+ f本来我只是提出痛点,希望有高人能出手解决,怎奈高人大都不屑于处理。
    ' R1 @# W: \6 R" Y1 i2 _+ V- x# U  o* G' m% E& q. H
    本非码农,可鉴于实在痛的厉害,只好自己用三脚猫功夫倒腾了人生第一个具有完整功能的程序。在此之前,从来没用过list、dict之类的,连这个github发布,都是现学现卖,还望高人不要耻笑,多提点才是。若有高人能够弄个更好的程序或是python版的或是GUI版的,那大家就有福了,我这纯粹抛砖引玉。
    ( W3 F4 U+ a2 A0 r, ]% s
    - c1 b1 G% ]# W; K2 [非码农的好处,或许是可以有更好的用户视角:既考虑词典终端用户的使用体验,也考虑普通的词典制作者的使用体验。虽不能解决所有问题,但至少已能解决我自己的大部分诉求,希望也能解决众多mdx词典用户的些许痛点。
    " R* w- }! w- ^: U3 B$ R, @  q3 \# {" y1 ]
    ## 解决方案7 R* k8 }) c5 t) s: k' }

    , z  w6 p( K* T* o基本思路: 1.原始词条==> 2.标准化词条==> 3.mdx源文件 ==> 4.mdx词典文件0 T- r! r. Y7 x, `- T* W/ [
    - [6 G$ ?! V+ V; D0 O$ l1 T  E, W
    1. 原始词条:鉴于资料的多样性,原始词条的获取方式也是多种多样,有OCR来的,有手工输入的,也有从其他人的资料转编译来的,也有是因为制作人的喜好或用的工具不同,导致原始词条的格式完全不同。这个特点造就了解决方案必须:(1)兼容多样性,将最常见的词条样式纳入进来;(2)开放性,用户可以根据需要自定义更多个性化的原始词条样式。' s! n/ x! u- v) h8 i( {
    % Q6 C9 m# D" G4 X. G8 x. A; @+ ~' h: J
        目前,本程序已经实现了对三种原始词条样式的兼容,用户也可以根据需要自定义添加。: `4 \6 t) Q3 k& z" s

    $ V6 o3 f8 x2 a, d2. 标准化词条:若能将多样化的原始词条转化为标准化的词条,那么后续就可以标准化处理了。因此如何定义标准化词条就变得很重要,它是实现后续程序的基础。
    2 k1 k( G& v* z  D: ^- X$ \' L; R' j
        目前,本程序已经提出了一个1.0版的最基本词条标准:一行页码,之后跟随多行关键词,每行一个关键词,如此往复。之所以说1.0版仅仅是最基本的标准,是因为这个标准还未能兼容如分栏、多层级词条等更复杂的情形,这些都有待后续有高人继续升级完善。
    % m( |: Q1 X2 C. W+ h2 p  B7 u* j! X; G8 u& N  z7 a% x# Q! I, D. }' J
    3. mdx源文件:这个txt文件与其他技术方案的最大区别是——包含了足够优良的页面导航、关键词导航以及用户自由定义的导航信息,极大提升用户对图片词典的使用体验。图片导航如何设计仁者见仁智者见智,因此,解决方案必须:(1)足够优良,不能太简陋,能用机器实现的定位,就不要浪费肉眼定位、繁琐操作定位等人类的精力;(2)兼容多样性,将最常见的导航样式纳入进来,比如封面附录等无需关键词导航、正文等需要关键词导航、拼音等则无需导航直接转链接到现有页面即可;(3)开放性,用户可以根据需要自定义CSS样式,或者添加更多个性化的导航样式。2 V9 n' }8 y! T# ]$ j

    * f! Y0 ?: u3 G; I' b    目前,本程序已经实现了三种导航样式,满足一本常见词典的基本需求,同时本程序会输出配套的精细CSS,方便用户个性化定制,此外用户也可以自由添加、改造导航样式。
    8 ^8 e, _2 Q8 Z7 y. {, c
    - K* A, l& q; ^. Z: L$ R! ^4. mdx词典文件:这个步骤是可选项,但一步到位可以极大提升用户的体验,更重要的是使用这个工具可以实现跨平台制作mdx词典了,不必局限于Windows,Linux、Mac统统不在话下。当然要说明的是,这一环节用到了另一个开源工具, https://github.com/liuyug/mdict-utils ,功劳统统属于他!: n8 ]% y) J  V' ?( [3 }+ Y; |
    * [% E% ^! X* l
    ## 程序文件及安装7 O7 \# L1 e& p8 X) S

      O4 ~- b: g  D根本谈不上安装,因为整个程序就是3个Vim脚本文件而已,下载后,直接将这些脚本文件放在与词条文件同一个目录即可。$ w- p; k* e: b/ H3 @) Y/ }
    / \7 i; _: Y0 ~8 w. e
    * MdxSourceBuilder.vim  这是入口文件:上半部分是配置文件,需要用户定义词典参数;下半部分是主程序,通常无需理会  v# I, H; S2 w/ v9 u
    * MdxSourceBuilderCore.vim  这是主程序调用的程序,仅当需要高级定制时修改,通常无需理会
    : G' {. |0 N5 O+ I7 m3 X* MdxSourceBuilderCSS.vim  这是CSS文件,样式文件可以在这里定义,通常无需理会
    ! N& @+ P6 |! c0 u+ ]" M, i4 l- v3 r* g  ]( ~! S( \. |! N
    其他文件,都是附带的Readme、动图演示、参考资料、案例词典之类,可以忽略。
    ! M  D+ J4 s. K7 H) D7 b; o
    5 ^6 c7 Z$ o% ]+ {8 q0 K! r6 k## 体验案例“火星词典”- l) S8 |' w8 i: e% }% C0 |

    5 ]- C. z1 j  k& |# g为展示程序的特点,特制作了“火星词典”,供观摩使用。
    5 F  f5 L/ o1 z  b' K
    % h9 I3 F. H, ^$ t/ T* V* 案例词条文件:以"火星词典"开头的所有.txt和.html文件,其中body.part1、body.part2、Pinyin三个文件展示了不同的词条格式
    5 f' p9 ^( `' c9 `8 c9 H& A* 程序及词典配置文件:以"MdxSourceBuilder"开头的所有.vim文件,其中MdxSourceBuilder.vim已经包含了案例词典的配置信息- x  \9 n! P- G0 R& k
    / e3 @' V. Y- n; J  h
    案例使用:打开Vim,输入命令 `:bro so`,找到MdxSourceBuilder.vim,打开,结束。
    4 p- N$ k4 M- O3 J) m8 M0 o( ~. q7 f8 b  T9 i
    * 你会看到,仅仅使用上述一个命令,就会输出3个成品文件:MarsDict.css,火星词典.txt,火星词典.mdx
    0 S, l  E  l* o* 你若没有复现上述效果,也别着急,可能是vim、python和mdict-utils没有安装配置好,继续往下看说明文件即可解决
    & g0 k* k$ t5 B( ~. o, {' R: C* 之后你只要照猫画虎,即可制作自己的图片词典了
    8 r" C8 [: N1 _; X* h' g* d
    1 X: `( n: i# |## 使用说明" c5 U, ?$ C8 m& {/ Y* r

    ; I5 M( o! w( V- g2 O### 极简使用说明
    # i+ c3 ]6 Y, z  L" Q5 j. K% ^7 r  c" p! N7 g
    打开Vim,输入命令 `:bro so`,找到MdxSourceBuilder.vim,打开,结束。' ~/ F. i( T* I" V2 ]" s6 F+ O, q& `2 T

    % @) G! V( D  q4 F2 k9 O### 概要使用说明
    " S0 G& q* ?- W+ ]3 N
    $ j! }, w3 N  Z$ f  J" S' a1. 按格式要求准备好词条文件
    9 F! w- y, i- y( ^$ i3 c2. 使用任意文本编辑器配置好 MdxSourceBuilder.vim 中的词典参数
    ; k8 m) A% g, Z) s3. 打开Vim,输入命令 `:bro so`,找到MdxSourceBuilder.vim,打开,结束。7 Q8 R% p& \- [1 p4 b
    3 P4 @9 V8 V# U) o. w
    ### 详细使用说明
    , R$ ]0 @9 u. c- g8 p% w9 p0 t. E! t- U6 a3 M9 ^, V
    * 直接打开查阅 MdxSourceBuilder.vim,其中“使用方法”及“词典参数配置”两个部分自带详细使用说明。5 h$ w, R$ x0 K! S$ t
    * 若想深度定制,把所有以"MdxSourceBuilder"开头的.vim文件看一遍就知道怎么处理了,即使不懂VimL语言,看注释也能猜个差不离。
    ! x9 g& M0 J9 X; G* l! l) h9 l8 t2 R8 [% e3 o0 R& T7 q0 Y8 v/ d. ]7 T
    ### Tips: 使用更便捷快速的命令
    ! y$ a- e5 _4 {1 M" ^
    9 S* v' g2 G0 I4 {& v' W8 w* 若觉得如下步骤还要寻找MdxSourceBuilder.vim,有些麻烦
    8 ]1 B7 G* X2 j& S0 {0 [* h+ F6 I) f2 x: m4 W# j, f5 z* \
    打开Vim,输入命令 `:bro so`,找到MdxSourceBuilder.vim,打开,结束。
    8 W$ j$ l, S- p8 H# A" P1 n
    ! F! s- X* S( Q, h* 那么建议使用如下更快的方法(自动寻址):
    ; k1 y$ j. M1 N7 i3 A% v
    - J$ A- D# B9 u9 d7 \; z0 H3 G用 Vim 打开 MdxSourceBuilder.vim,新建文档`:new`,输入命令`:so MdxSourceBuilder.vim`
    . M+ i+ C2 }) f
    2 j2 L. J6 y3 ?& p甚至输入`:so mdx` 之后,按Tab键即可自动补全命令 `:so MdxSourceBuilder.vim`! h$ m2 _" N& X1 L& z

    ( N7 u0 f' O; K( ^! N这个新方法的逻辑,其实是利用Vim首次打开一个文件时,会将该文件所在目录设置为Vim当前工作目录。) N4 C5 O8 ^1 x' U

    ; o2 r2 T9 K, B- x% |也可以使用系统命令 `:cd` 来更换Vim的工作目录,如 `:cd d:\火星词典`- Q. C" f. u4 @+ b. j# t0 V5 z6 p
    9 Q3 c( S4 M& m# ]8 n8 c; Y
    若您使用附带的`_vimrc`,还可以直接使用自定义的命令 `:CD` 将Vim的工作目录切换为当前文件所在目录。
    0 y4 u: l3 t, H+ Q/ A: c" M6 n# q, U# J5 X

    4 g3 d4 f0 r# t( ~### 相关FAQ0 i& u) E* b3 z) E

    / S& S( |. X/ D3 B; @1. 关于Vim的使用:号称编辑器之神,要想完全掌握确实有难度,但本程序要用到的Vim知识则少的可怜,不必顾虑。
    6 }- U# h) z5 @" F
    0 z( B4 @7 S9 ]5 n7 W& Z: h* Q: vim出现乱码  K; }6 b* |' S: G% S
    * A: 请将`_vimrc`文件复制到`$HOME`目录下,Windows下即是`c:\Users\YourName\`
    $ B7 B5 ^9 ]$ _
    7 q0 z' C6 N: k* ]% A     其中必备行是 set encoding=utf-8,其他可选,用于提升Vim使用体验
    & J( j6 d. Q  m% e  D& r4 j5 j4 y! ]! |3 p8 k4 W: f6 t" H! W5 T
    2. 关于mdict-utils的使用:除了打包,还有很多其他解包、读取等功能,大家可以尽情挖掘改造。+ i4 T2 l3 m! r! S
    0 K- ~1 s3 n: s8 W  I. {
    ## 社区讨论与反馈& ]# X  c  w& x

    , R; D% m7 F( C* Github: https://github.com/VimWei/MdxSourceBuilder
    & N: P( w" A. Z2 G& u) h" z9 P* 讨论社区: https://www.pdawiki.com/forum/thread-41287-1-1.html/ W( P% L1 m+ Y+ U( x2 G

    ' e* d; Z* e, ^- L% j# H: Z% {2 c6 p## LICENSE& @, [/ V3 ]% b& P0 _) s" |3 X
    1 i6 s3 H( m- g( {. s
    [GPLv3](https://www.gnu.org/licenses/gpl-3.0.en.html)
    ) W3 q% e% Z9 I+ i1 d9 D6 i. O: [9 T8 A; }8 c  ~! |
  • TA的每日心情
    无聊
    2022-7-21 15:56
  • 签到天数: 216 天

    [LV.7]常住居民III

    发表于 2020-8-13 18:22:09 | 显示全部楼层
    本帖最后由 wjl 于 2020-8-13 18:49 编辑 % s4 s0 {; [0 g, r& {, W' T  s
    VimVim 发表于 2020-8-13 12:25) M" i3 a! l  d! t1 C
    进一步更新程序。解决Vim乱码以及满足常见的Vim用户需求。
    9 g1 K% Z  Y+ D0 H, H
    & k) H. B, x' D请将 _vimrc 文件复制到 $HOME 目录下,Window ...

    2 s% B* D; H5 r0 B4 K请问Vim能否实现以下更改呀?方便的话,能否帮忙写一下vim的更改实现方法,现在我只会逐行手动更改,没法实现全文件批量修改  A0 `' c" K. n; w$ F
    查找含有<div class="HW_L_C" style="margin-top:(.*?)">的所有行,然后将同一行中的所有margin-top:44.43%中的数字减去<div class="HW_L_C" style="margin-top:后面的数字,保留两位小数8 D9 W/ v4 g" q" L* {, d  |
    + @7 ~' P; h: S& v: ~3 h
    <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>
    , ?, x. C# M8 u% C" c! j( E* w$ R7 C9 e3 z- g
    + K  T8 S) ^7 q$ J4 L3 H

    点评

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

    [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
    5 u- r5 E0 s" E/ W  F我是起哄的。:) 目测这个利器要火!工欲善其事,必先利其器!猜测K大是会加1000米还是10000米,以鼓励此类 ...
    ' |2 t, A6 [3 G0 I$ W* V# G
    感谢支持。, X; W" X+ A: y

    - m8 f$ j, u1 B2 e4 o8 a
    若能有这样的工具,我想目前的图片词典将发生极大的变化:, r' t  O7 v" g

    - O" @/ M' t5 z0 ~% @; k! p' t- |1、新的图片词典制作将非常容易,基本人人皆可上手,而且生成的质量都还很不错,这些将促进新词典的产生。
    . D% l7 T6 j7 M9 v5 Z( T2、对于已有的图片词典,非常容易转换为新标准下的导航,且实现个性化处理,这将极大提升词典的使用体验。
  • TA的每日心情
    开心
    2018-8-8 03:13
  • 签到天数: 1 天

    [LV.1]初来乍到

    发表于 2020-8-12 18:00:30 | 显示全部楼层
    VimVim 发表于 2020-8-12 17:33
    , E2 T6 F" t4 L  Z+ L+ m感谢支持。
    " y  l* G  I& F4 H5 k' H
    VimVim 兄,相當棒的工具,創意十足,漂亮
  • TA的每日心情
    奋斗
    2019-10-13 07:34
  • 签到天数: 209 天

    [LV.7]常住居民III

     楼主| 发表于 2020-8-12 18:52:06 | 显示全部楼层
    喬治兄 发表于 2020-8-12 18:00
    : [; g7 {4 Q' i, J0 TVimVim 兄,相當棒的工具,創意十足,漂亮
    & k1 m3 m! q6 I, C8 L+ ~1 m+ j
    其实,很大一部分是借鉴自你最初的创意(页面导航和关键字导航),我只是将其拼接在一起,使其更加开放(开源、可融入更多工具链)、兼容(多种词条格式及容错)和扩展(高度自定义、跨平台)。
  • TA的每日心情
    开心
    2018-8-8 03:13
  • 签到天数: 1 天

    [LV.1]初来乍到

    发表于 2020-8-12 19:06:40 | 显示全部楼层
    VimVim 发表于 2020-8-12 18:52
    $ f4 q( s; `& ]  k  ?) B其实,很大一部分是借鉴自你最初的创意(页面导航和关键字导航),我只是将其拼接在一起,使其更加开放( ...

    0 J. D4 F% M0 c# S( b5 L0 RVimVim兄,太客气了,自從有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 编辑 6 B3 z8 a  _- k2 M4 I) `
    wjl 发表于 2020-8-12 19:30! Y2 r  A' e; R# a6 E5 w
    多谢分享制作工具,不过Vim对于大多数人学习难度有点高吧。

      m) t$ M, [+ l所需要的所有Vim知识已经在动图演示的字幕中显示了,总结就是:
    . H& Z  T) K4 \) W+ u# s$ u1 D  I2 I5 [( T5 p+ x
    :new- V+ r& e4 B4 `% l$ k3 n
    :so MdxSourceBuilder7 g: e, s' @3 o& L7 s; U5 @" D/ M1 l$ Q

    8 D) Q/ H4 F9 V1 X) P1 ?" L& Q) g. O. W. ]随便找个识字的人都能照着这些字按顺序输入,不难吧。) H7 [, W! L6 U* T  E+ }7 ?

    4 ]+ _& r3 R# Q% S, k3 n我要吃肉,是不需要学会打猎或养牛养羊甚至当个厨师,只要会拿起筷子或刀叉送到嘴里就好了。- @4 \1 |9 c( p% G: o' m  K+ O
    我要浏览个网页,是不需要学习计算机原理、HTTP协议或制作网站之类,只要会点击超链接就好了。
    1 T& F7 h6 E- @4 Y4 C7 N6 w) g& @9 W. i
    ( N- B$ C/ N) S' ?- D# J
  • TA的每日心情
    擦汗
    2022-3-25 11:07
  • 签到天数: 66 天

    [LV.6]常住居民II

    发表于 2020-8-12 20:03:06 | 显示全部楼层
    RickVincent 发表于 2020-8-12 17:21& S# G8 B2 }7 j  V8 \$ k& T
    我是起哄的。:) 目测这个利器要火!工欲善其事,必先利其器!猜测K大是会加1000米还是10000米,以鼓励此类 ...
    3 q4 X9 o% i  a) K
    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 编辑 " R& M& E* t  r% T" W/ h/ |: X+ x8 o6 f8 _
    VimVim 发表于 2020-8-12 17:121 S+ m# H" u1 e- `0 `
    # MdxSourceBuilder6 C. g; Z$ Z# F  K6 q3 B- T
    - t- M' n6 c% s5 t& O
    mdx图片词典制作工具:使用一个命令,实现从原始词条==> 标准化词条==> mdx源文件 ==> ...

    , t8 x$ a: u# J$ p3 ]& ]3 Q7 J菜鸟一问:
    ) d% \3 p7 E7 Z% P& r( e/ F% m# `7 k用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 编辑   C0 _  T! l5 X4 q% G3 N  p+ X
    Jiangxi 发表于 2020-8-12 21:27! p1 a; A7 ^, N( o
    菜鸟一问:& q, ?5 C* b# \( v% D
    用Gvim打开MdxSourceBuilder.vim,显示乱码,是缺啥字体么?

    4 Z! k9 X% a1 \+ f8 N  O不是字体的问题。
    ; d& A% g+ N6 a( K6 ?& |你找到vim安装目录下有个_vimrc文件,用任意文本编辑器打开,随便在哪加入一行(比如最顶部或最后一行):1 a; D, _+ a3 y" `4 c2 w/ H5 |" S

    6 G/ p3 c! [- D" M/ j* jset encoding=utf-8
    5 f' s9 h9 m. }8 X# f5 C2 E+ r" q5 R3 r0 z8 ^
    以后就不会有乱码问题了。0 r8 [5 Q5 R7 M; V

    点评

    谢谢,加了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 编辑 ( o6 F7 f( o1 C7 p4 q9 l
    ' c2 X2 U( q( t( a4 Q. D* G' Q/ r
    不用管什么菜单,不影响使用这个工具。
    6 G& E8 g' K6 |5 i  [8 ^. `! P9 I8 S6 Q) {! Q
    若仅仅是解决菜单乱码或者是根治中文乱码有关的常见问题,建议vimrc文件加入如下内容:' \( C, W' O: \7 z# M

    " Y' ^  |7 V& Q/ [9 W8 x  A" T
    1. " Basic Setting -----------------------------------------------------------{{{15 W" E1 A) ^  s% s
    2. set nocompatible    "启用不兼容Vi模式; `  B8 u& O5 r- ?9 J. D& N
    3. syntax on7 N. L& g, @- M- _
    4. filetype plugin indent on   "文件类型自动识别,并使用相关插件和自动缩进# l3 e* w/ i+ V6 s( L1 {! ]

    5. 3 G8 s. t" l4 n1 p+ M
    6. " Encoding related --------------------------------------------------------{{{10 ]( \  c; F7 B& ]' v
    7. set encoding=utf-8  "Vim 内部工作编码  O# Y+ ]" k& U2 H
    8. set fileencoding=utf-8  "设置此缓冲区所在文件的字符编码;新文件默认编码& t7 M  o8 P' l
    9. " 打开文件时自动尝试下面顺序的编码
      , _. t# q$ `7 l) [% }
    10. set fileencodings=ucs-bom,utf-8,cp936,gb18030,big5,euc-jp,euc-kr,latin1" a8 l* ]) p. K. w
    11. source $VIMRUNTIME/delmenu.vim
      % x8 q! X8 h4 u2 V0 X* u$ u0 ~
    12. set langmenu=zh_CN.UTF-8    "指定菜单语言,若需要英文则none* ^  E6 C" l$ h7 A' T
    13. source $VIMRUNTIME/menu.vim
      ; \: o' |) Z5 Q0 L" \: k5 n
    14. " language message en_US.ISO_8859-1 "指定提示信息语言0 s; P& v0 n5 E( q
    15. language message zh_CN.UTF-8    "指定提示信息语言5 V6 `+ e- g, ?6 E0 e- Z
    16. set ambiwidth=double    "使用US-ASCII字符两倍的宽度显示宽度不明的字符. o. n+ E4 M; Y6 b& z+ J
    17. set nobomb    "取消UTF的BOMB文件头* N+ p, e) f' h& a/ h% m
    18. set ffs=unix,dos,mac    " 文件换行符,默认使用 unix 换行符
      5 H3 J6 r. y/ M* z6 t
    19. set cm=blowfish2    "设置新的加密算法2 b* U4 }; n' B4 F9 H8 S
    复制代码
      `9 G; D! j8 M/ W
    3 _# T' p! @( H% K+ j, c. v0 h
    若要解决Vim的各种问题,并按照自己的心意来,那么就需要下功夫学会定制vimrc文档。不过使用Vim初期,可以简单的复制别人的vimrc文件直接使用,网络一搜一大堆。
    + Q' l# t1 Q# L+ [6 ?* j. T$ `, k0 k0 d
    5 r; S! u. N3 v6 \) ~0 A# J

    3 d  R" l( v( R* I
  • 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 编辑
    ! c3 ^; ~' Q$ Y+ Z8 N
    % L# L; Q9 N* C! X* U8 L3 f: o我执行脚本后,生成的MarsDict.css,火星词典.txt,内容都是空的,没有生成 火星词典.mdx 不知道怎么回事
    - F; J: n& W3 B1 e. f操作方式是在gvim_8.2.1424_x64_signed中单击“运行vim脚本”按钮,选择MdxSourceBuilder.vim,图片链接无法访问吗?https://s1.ax1x.com/2020/08/13/azemGR.gif7 O1 @! @+ Q5 w% O; S
    我电脑上安装了python,没有安装mdict-utils,这应该不影响生成 MarsDict.css,火星词典.txt  这两个文件吧
    0 c9 Y* M3 e8 I2 U0 o! @# h9 g( e' ?& T* v! B$ ]

    4 s# f; o" ~0 `) l$ G: J6 u
    9 h- p8 l4 Z+ P# o# H
    - \/ ^4 f' z) \  G% H3 }

    点评

    前面我理解错了,原来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 编辑
    / n- u% g2 q! o9 H1 W0 K9 H" }
    wjl 发表于 2020-8-13 09:17
      F! o% C( N6 u我执行脚本后,生成的MarsDict.css,火星词典.txt,内容都是空的,没有生成 火星词典.mdx 不知道怎么回事
    3 }3 v) R+ f& j& H2 X ...
    . U. R3 y( k5 q0 ^* s4 e6 ?
    看到视频了。& H* `. l% ?+ L) t8 n- |$ h7 V' j
    ) h5 _0 e2 j" b% y# v; Z
    你的操作步骤很奇怪。输出的结果也不应该出现在vim的程序目录下,而是词典目录下。
    9 q$ B% h" R% l' G$ Y
    3 P  A) j6 h) G7 ?( q8 K6 R1 M估计你的vim“工作路径”错了。请严格按照步骤来。2 r& ^  L* t. {
    ) n. P5 x, _7 b$ P. m1 G
    1、关闭所有vim程序。( Y7 _( l' a; z- C3 x; N
    2、右键MdxSourceBuilder.vim,使用vim打开(必须这样,才能保证vim的工作路径就是当前的词典目录,而非vim程序目录)+ r+ c+ I, E7 j) H& q# j9 |
    3、使用 :new 新建文档
    , j# r& n) _1 F/ }4、执行 :so MdxSourceBuilder.vim! p+ Z8 \" T) s/ b1 L0 A  j2 x

    4 r6 k% W8 W+ A! c) d, F5 v8 }或者你如果会更改vim的工作路径,那么第二步想怎么打开就怎么打开:7 b/ u: y: j0 f
    1、输入命令 :pwd   可以看到当前的vim工作路径
    + [4 S: o8 Z) x; i- S  X6 u( J2、输入命令 :cd..  将工作目录变更为上层目录 或  :cd c:\test 将工作路径变更为test目录,如此类推。命令:cd 后加上词典目录即可将vim的工作目录变更到词典所在目录,与dos 或 windows的cmd的cd命令一样。
    " Q' w! E7 V- [5 L. W/ x
  • TA的每日心情
    奋斗
    2019-10-13 07:34
  • 签到天数: 209 天

    [LV.7]常住居民III

     楼主| 发表于 2020-8-13 09:59:26 | 显示全部楼层
    VimVim 发表于 2020-8-13 09:41
    / [$ Q4 E6 Z- Z看到视频了。
    2 n" H4 O; B, l. w# B" `. m' n% O) t
    你的操作步骤很奇怪。输出的结果也不应该出现在vim的程序目录下,而是词典目录下。
    ' T* g* ?5 p. w( N) A8 v# D" \$ m
    如果你希望你这样的操作也可以,更改MdxSourceBuilder.vim,添加如下最后两行(确保位置如下所示):
    ; N) [$ n+ G. X8 ]$ @3 S& S0 E: k( K9 l" ======================================================
    5 `9 w# o$ A) z; {" 以下为程序正文,不熟悉Vim的用户请勿动
    + V, g6 @) D" R: E$ ^4 S" ======================================================
    5 E* G+ D6 ^" F0 A( a) y"
    , v0 c8 N! U# }$ K/ M; E"6 O$ u+ r: G# v2 H0 Y; L
    " 取得本文件所在的目录,并设置为当前工作目录! o/ D' o( [& ]  T5 `4 s
    let s:home = fnamemodify(resolve(expand('<sfile>:p')), ':h')/ `; h$ v$ d' Q) [* j1 H6 W
    execute 'cd ' . s:home5 w4 w1 k" S# c
  • TA的每日心情
    无聊
    2022-7-21 15:56
  • 签到天数: 216 天

    [LV.7]常住居民III

    发表于 2020-8-13 10:01:12 | 显示全部楼层
    VimVim 发表于 2020-8-13 09:41
    ' [( V# X( A, k$ o/ z# n看到视频了。5 f& c, y9 w* V& |* Z
    5 y6 j0 i  c, H8 C
    你的操作步骤很奇怪。输出的结果也不应该出现在vim的程序目录下,而是词典目录下。
    : C; \3 [% f( n" v' B
    多谢,严格按照你给出的步骤,现在可以正常生成 MarsDict.css,火星词典.txt 了% M6 c/ X' A$ Q$ U1 I2 H" R# H. c
    ' q6 b& `5 R2 O* x  `) X' K% ]
    https://s1.ax1x.com/2020/08/13/azMjaT.gif
    2 |" [  v0 Z- R% j- V, C( I; r& ?
    $ K2 Y: |. S8 P, r+ c; F: Y5 i) O: C6 O: z5 B$ ?

    3 R1 L5 `9 I$ s$ o/ G% A4 H# \8 A
  • TA的每日心情
    奋斗
    2019-10-13 07:34
  • 签到天数: 209 天

    [LV.7]常住居民III

     楼主| 发表于 2020-8-13 10:07:47 | 显示全部楼层
    本帖最后由 VimVim 于 2020-8-13 10:18 编辑 6 b) [  C( R& O  r7 J# O& E
    wjl 发表于 2020-8-13 10:01; ?, x  z3 h! }2 {# }6 R$ d: y6 U0 G
    多谢,严格按照你给出的步骤,现在可以正常生成 MarsDict.css,火星词典.txt 了
    ) P% [; p$ E2 i* Z8 ?  A/ ~* I( G( z) i0 P& x! O( i# O
    https://s1.ax1x.com/20 ...

    - X  \$ t( x! r我一会更新一下程序(就是上贴所说),让其兼容各种操作。而且,以后不必打开MdxSourceBuilder.vim文件(我原来的设想是通过这个步骤自动设置工作目录,没想到你们却是另一种操作,以致失效),即可使用。
    6 b- o( I8 @  e: O4 A9 G0 s
    - j( F' Z+ q, Z" M: s此外,你已经有Python(需要与vim版本配对,vim的下载页面都有标识支持的python版本;同时python安装时要将其加入系统的path目录),安装 mdict-utilis 就很简单了,只要在windows cmd中输入如下命令,回车即可:
    ! b3 b# G& X4 _( l
    ; x3 e! \; s" q9 l9 }' n6 \. ^/ cpip install mdict-utils
    5 @1 y2 \' H" G1 U1 N% q; @
    0 G. R- y- n0 \# f
    - y2 X9 a+ i. ]" p8 H8 f
  • TA的每日心情
    奋斗
    2019-10-13 07:34
  • 签到天数: 209 天

    [LV.7]常住居民III

     楼主| 发表于 2020-8-13 10:49:30 | 显示全部楼层
    本帖最后由 VimVim 于 2020-8-13 12:50 编辑 9 y! L+ a- `2 L1 ?0 I
    wjl 发表于 2020-8-13 09:17- k4 u$ _5 y# y$ `6 t8 G# h! H
    我执行脚本后,生成的MarsDict.css,火星词典.txt,内容都是空的,没有生成 火星词典.mdx 不知道怎么回事
    8 x0 Y9 Z6 P. Y3 { ...

    $ ~' s7 M2 d" W4 a8 b* i- {已更新程序和说明文档,现在按照你这种操作方法也可以了,更简单,而且不容易出错。
    / a7 q8 J5 [) n" R
    $ ~0 }7 v  n4 ~  i0 L8 E; E打开Vim,单击 “运行vim脚本” 按钮  或  输入命令 :bro so ,找到MdxSourceBuilder.vim,确定,结束。
    6 T- u5 c. g% X) \1 Q
      w! k* ?2 M7 H! J注:原来的操作方法(如GIF Demo所示)依然是可行的,熟悉Vim的用户会更喜欢,因为会自动寻址。
    & X' A( V# M" ?2 s+ `
    ' k* o' U- h8 f# D! {% D( U4 X1 {3 e, A3 k- k2 W) F
  • TA的每日心情
    无聊
    2022-7-21 15:56
  • 签到天数: 216 天

    [LV.7]常住居民III

    发表于 2020-8-13 11:32:35 | 显示全部楼层
    VimVim 发表于 2020-8-13 10:49! ^- M' D$ f- H
    已更新程序和说明文档,现在按照你这种操作方法也可以了,更简单,而且不容易出错。7 T/ c) Y: G/ p0 L* q1 r! [1 k
    ! g/ u, u$ A. o- W0 A$ j! J( f  g# g
    打开Vim,单击 “运 ...
    ( i  Z4 R, s0 U3 j. \- Q
    现在可以直接选择vim脚本来生成mdx,不用手工输入命令也可执行生成操作了# Z4 \2 L2 P4 y* O$ m
    https://s1.ax1x.com/2020/08/13/azsapd.gif& [6 q4 y3 }0 O9 h, i' M( 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 编辑 " I- }. l9 n9 i1 S8 A
    VimVim 发表于 2020-8-12 23:20: S9 }4 U& A0 Q7 F
    不用管什么菜单,不影响使用这个工具。+ ]1 E3 p3 \- w" S
    ; |( q( @1 i' }0 \0 F
    若仅仅是解决菜单乱码或者是根治中文乱码有关的常见问题,建议vimr ...
    9 d! Z& w" N1 @% ]9 N5 f
    进一步更新程序。解决Vim乱码以及满足常见的Vim用户需求。
    ( Q) K" Y2 c/ I/ o2 o: C# G' {- |0 H# g: O7 [, i
    请将 _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
    . e6 A& v+ @: y' P现在可以直接选择vim脚本来生成mdx,不用手工输入命令也可执行生成操作了
    + r/ w4 V) x/ C0 ^7 ohttps://s1.ax1x.com/2020/08/1 ...
    2 R& T$ A# q' N" R: w5 e  y
    能发一下您的python和Gvim安装文件么?我折腾半天就是生成不了mdx文件,不知是我的vim版本与python不匹配吗。不好意思,太菜了。谢谢。
    您需要登录后才可以回帖 登录 | 免费注册

    本版积分规则

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

    GMT+8, 2024-5-5 10:05 , Processed in 0.108630 second(s), 13 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2023, Tencent Cloud.

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