掌上百科 - PDAWIKI

 找回密码
 免费注册

QQ登录

只需一步,快速开始

查看: 5763|回复: 100

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

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

    [LV.7]常住居民III

    发表于 2020-8-12 16:46:52 | 显示全部楼层 |阅读模式
    本帖最后由 VimVim 于 2020-8-17 12:48 编辑 ; ~: D" [' [3 X- s' M# P

    1 i2 l* ?+ {9 e' c# u8 Q# 发布地址
    8 j# M. k: k3 x3 y0 Y. e/ {: [" J7 z" L7 `$ |/ n
    https://github.com/VimWei/MdxSourceBuilder
    ' T% U/ t; B! A/ Q9 `1 O
    : E: ?% [4 I; y5 \# ]" Y$ x% K一键制作图片词典:原始词条==> 标准化词条==> mdx源文件 ==> mdx词典文件
    + S% E  t5 A0 |  F
    , H/ p5 F' ]* J- d- I- w; @# 动图演示
    2 [% m4 B# I% A4 r! h
      @& W3 g8 \6 t6 W, G4 r/ v* J- _1 S& M+ C

    1 G9 d* f* R8 C# q! f0 e# H4 ]更多视频演示: https://www.bilibili.com/video/BV1Ki4y1g74X/
    & ]6 ?0 J0 p+ a, E
    $ x4 b/ J) V0 u2 b; b# J8 G# 缘起, Y) e+ J* C; Q+ w9 y8 |- @) f# U

    , T0 u) Q, @8 f* a图片词典的制作规范与开源工具( U5 Z/ L! ?1 F/ ~7 g
    https://www.pdawiki.com/forum/thread-40857-1-1.html9 Z, }8 S( Z8 i0 @+ [# j

    2 O* ?2 T) N6 @' C  ]

    # @1 G8 j/ }/ W  {3 V( N* |8 n9 R! X4 o& n

    : _( w* E: w7 }- K
    $ Y4 ^& o0 L7 T( `
    , |% c# Q% E! y
    " I% c: X2 r4 N1 c' _

    评分

    3

    查看全部评分

    本帖被以下淘专辑推荐:

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

    [LV.7]常住居民III

     楼主| 发表于 2020-8-12 17:12:25 | 显示全部楼层
    本帖最后由 VimVim 于 2020-8-14 11:29 编辑 7 e9 J: b+ V9 r; B, W+ h
    / U) O: K- T' |: B
    # MdxSourceBuilder( d9 y( I, E, o2 a/ K& u
    . g( L' m2 L& f8 z2 r* w
    一键制作图片词典:原始词条==> 标准化词条==> mdx源文件 ==> mdx词典文件( e0 R/ a9 [! ~" H6 X

    / F4 _2 X5 \+ [
    6 |* z4 [( J/ T' k( i+ e% ]
    ## 背景% v* p. ]6 F- O5 I: F
    ( q/ g# ^  I6 B' a
    ### 需求背景
    2 _. X2 N# C+ ?4 J
    4 h! m3 }0 Q: `  D: b时常遇到一些好资料,怎奈只有纸质版或扫描版之类,希望将这些资料转换为可以检索的mdx词典,既方便使用,也提高利用率。% _5 |! ~) B# F& e

    9 @6 u" J* D. I+ B8 |: Q( ~- q但是,常常在辛苦整理好词条(这是纯苦力活)之后,使用过往技术方案实现的成品却不够理想,不理想之处有两大方面:) g) S* W2 L8 |7 S8 Y$ U
    8 f9 C, v3 y! a$ k$ B* z, O
    * 导航不理想,极大降低了用户的使用体验
    ( }; G+ |5 a$ y; Y0 {( @* 制作修订过程复杂,极大干扰了制作者的热情+ [; y' X$ d& }! v$ u

    5 v2 Y! ]- g5 h3 O9 A3 C1 Z9 R这完全可以通过工具来解决。6 J/ p: ]; V7 G5 m0 _" L' [. C0 q; Z
    0 `, i! d" x8 J+ t
    ### 程序设计背景0 O0 ^( ^6 S& T
    4 W: ]6 m- b) D
    本来我只是提出痛点,希望有高人能出手解决,怎奈高人大都不屑于处理。8 H: _- |* _( P4 P* U0 {6 ~7 g. h4 |

    * Q6 S' T# N+ D% H本非码农,可鉴于实在痛的厉害,只好自己用三脚猫功夫倒腾了人生第一个具有完整功能的程序。在此之前,从来没用过list、dict之类的,连这个github发布,都是现学现卖,还望高人不要耻笑,多提点才是。若有高人能够弄个更好的程序或是python版的或是GUI版的,那大家就有福了,我这纯粹抛砖引玉。: ?. m' I: ]6 m% F. f' c6 {

    4 n* C* ]  Y) u+ v, U% u非码农的好处,或许是可以有更好的用户视角:既考虑词典终端用户的使用体验,也考虑普通的词典制作者的使用体验。虽不能解决所有问题,但至少已能解决我自己的大部分诉求,希望也能解决众多mdx词典用户的些许痛点。
    " h9 d, t* P  O8 |' C* P6 p! v$ r$ X( l0 i  E
    ## 解决方案) `+ F* h6 G+ g. z9 k0 A

    , K' S/ V, w" {7 I5 s基本思路: 1.原始词条==> 2.标准化词条==> 3.mdx源文件 ==> 4.mdx词典文件" _/ u' G( }; ?# E1 o
    7 q9 ~! X, `6 {6 _8 [
    1. 原始词条:鉴于资料的多样性,原始词条的获取方式也是多种多样,有OCR来的,有手工输入的,也有从其他人的资料转编译来的,也有是因为制作人的喜好或用的工具不同,导致原始词条的格式完全不同。这个特点造就了解决方案必须:(1)兼容多样性,将最常见的词条样式纳入进来;(2)开放性,用户可以根据需要自定义更多个性化的原始词条样式。
    $ ^% U" p- b' {( Q" e& }# s# G" J. M' t, M! v4 X/ g" \
        目前,本程序已经实现了对三种原始词条样式的兼容,用户也可以根据需要自定义添加。# |. W  M% V" ~( V1 L) Q
    % q% h3 i6 h! {; h- g8 G  I
    2. 标准化词条:若能将多样化的原始词条转化为标准化的词条,那么后续就可以标准化处理了。因此如何定义标准化词条就变得很重要,它是实现后续程序的基础。
    8 v2 h! ?' C) T
      A! O/ m" G; v" H3 N1 {    目前,本程序已经提出了一个1.0版的最基本词条标准:一行页码,之后跟随多行关键词,每行一个关键词,如此往复。之所以说1.0版仅仅是最基本的标准,是因为这个标准还未能兼容如分栏、多层级词条等更复杂的情形,这些都有待后续有高人继续升级完善。
    " v- f. h( g7 c7 E5 f( G0 a# B& Y6 z2 E* h
    3. mdx源文件:这个txt文件与其他技术方案的最大区别是——包含了足够优良的页面导航、关键词导航以及用户自由定义的导航信息,极大提升用户对图片词典的使用体验。图片导航如何设计仁者见仁智者见智,因此,解决方案必须:(1)足够优良,不能太简陋,能用机器实现的定位,就不要浪费肉眼定位、繁琐操作定位等人类的精力;(2)兼容多样性,将最常见的导航样式纳入进来,比如封面附录等无需关键词导航、正文等需要关键词导航、拼音等则无需导航直接转链接到现有页面即可;(3)开放性,用户可以根据需要自定义CSS样式,或者添加更多个性化的导航样式。
    / Y: h1 |, D+ M
    ) e9 t( z6 E8 k    目前,本程序已经实现了三种导航样式,满足一本常见词典的基本需求,同时本程序会输出配套的精细CSS,方便用户个性化定制,此外用户也可以自由添加、改造导航样式。
    ) p, ~! }8 {3 l  s  p0 M6 \: V4 m, `( l# n
    4. mdx词典文件:这个步骤是可选项,但一步到位可以极大提升用户的体验,更重要的是使用这个工具可以实现跨平台制作mdx词典了,不必局限于Windows,Linux、Mac统统不在话下。当然要说明的是,这一环节用到了另一个开源工具, https://github.com/liuyug/mdict-utils ,功劳统统属于他!/ s& b( e, z1 n5 c( Q5 ^/ i

    * C4 s! ?: \. |" W& t## 程序文件及安装3 H: k1 T( W5 k- G

    ; c, o4 A/ g" D! W; \, Q. R根本谈不上安装,因为整个程序就是3个Vim脚本文件而已,下载后,直接将这些脚本文件放在与词条文件同一个目录即可。
    0 g& r4 @& Q3 M, o) w6 j6 \
    : L' x  I; F, V# m" L3 n* MdxSourceBuilder.vim  这是入口文件:上半部分是配置文件,需要用户定义词典参数;下半部分是主程序,通常无需理会6 Z6 k6 {. I# {. {% q/ h4 i
    * MdxSourceBuilderCore.vim  这是主程序调用的程序,仅当需要高级定制时修改,通常无需理会
    - b6 K% L. B" I* y! Z; T* MdxSourceBuilderCSS.vim  这是CSS文件,样式文件可以在这里定义,通常无需理会
    , G! G* |4 G! ]  P6 ^* {8 k0 T5 r
    - X" K  u; C/ i) ?+ c其他文件,都是附带的Readme、动图演示、参考资料、案例词典之类,可以忽略。
    1 S* R/ f$ o6 S' W  M- W+ @2 t$ W8 e8 p3 h" g- Z$ T
    ## 体验案例“火星词典”
    1 O& J, W; Z* e0 I6 l% K9 A% V+ k0 c' o/ X$ M
    为展示程序的特点,特制作了“火星词典”,供观摩使用。
    : ]- X8 `  ~# R# }8 g+ i& e* y5 @7 d/ \, @: ~& f3 I
    * 案例词条文件:以"火星词典"开头的所有.txt和.html文件,其中body.part1、body.part2、Pinyin三个文件展示了不同的词条格式7 e7 S5 [2 b+ G6 k
    * 程序及词典配置文件:以"MdxSourceBuilder"开头的所有.vim文件,其中MdxSourceBuilder.vim已经包含了案例词典的配置信息* f& k& X$ }/ U, A/ ?( c
    $ n7 g/ D0 d  U. O
    案例使用:打开Vim,输入命令 `:bro so`,找到MdxSourceBuilder.vim,打开,结束。
    9 D& F# `$ ^0 O1 P& ?. Z" G* R: e6 p6 m2 z5 R2 |
    * 你会看到,仅仅使用上述一个命令,就会输出3个成品文件:MarsDict.css,火星词典.txt,火星词典.mdx3 O" o3 k2 ~, G$ e4 v( z
    * 你若没有复现上述效果,也别着急,可能是vim、python和mdict-utils没有安装配置好,继续往下看说明文件即可解决7 u5 S; \; }) W- c. y9 e
    * 之后你只要照猫画虎,即可制作自己的图片词典了
    5 s+ G+ C# J$ _. l
    + y* n' V7 @" k8 s* Y2 S$ s## 使用说明" [! [, j4 _7 [1 y& U. O3 a: e9 E% |) p

    : r% b3 I! v/ ~7 d+ {! K### 极简使用说明
    % u" O5 G9 W1 X
    7 ~5 w9 v( T! X. Z4 w打开Vim,输入命令 `:bro so`,找到MdxSourceBuilder.vim,打开,结束。  m3 z, j" J+ j' K& d- v' z. s/ l

    : M4 Z  ~; V5 {1 ?, w( R# C: R### 概要使用说明3 D+ L1 x6 A  P4 ]6 T
    ! m* K8 W+ W0 o
    1. 按格式要求准备好词条文件
    , a$ Z' `+ o9 i* ]% \( g0 b2. 使用任意文本编辑器配置好 MdxSourceBuilder.vim 中的词典参数9 m5 \- R+ ^* R
    3. 打开Vim,输入命令 `:bro so`,找到MdxSourceBuilder.vim,打开,结束。; E9 D' s- [6 q$ ]3 v
    ! j  s+ @# K8 n; O( r
    ### 详细使用说明  i7 M! X6 a3 K! b/ z
    9 K4 M$ m5 r) b! a+ n' @2 z
    * 直接打开查阅 MdxSourceBuilder.vim,其中“使用方法”及“词典参数配置”两个部分自带详细使用说明。# ^9 A) G% X4 W% ^6 w0 _
    * 若想深度定制,把所有以"MdxSourceBuilder"开头的.vim文件看一遍就知道怎么处理了,即使不懂VimL语言,看注释也能猜个差不离。
    - \, r/ e& h* B- H. w
      `$ D( z( I/ |$ r### Tips: 使用更便捷快速的命令
    1 \  j2 |2 K2 H" W) {; G0 \% z
    $ c7 k9 F$ [  c5 }0 P+ L( C* 若觉得如下步骤还要寻找MdxSourceBuilder.vim,有些麻烦
    9 \4 |+ ?& y. ]. k; x- {" W8 S4 i9 h& C" @% B5 L) v1 k- r
    打开Vim,输入命令 `:bro so`,找到MdxSourceBuilder.vim,打开,结束。
    $ B. W5 Q; z" [- J. d& [( c% d5 n& {8 w. T" |8 U
    * 那么建议使用如下更快的方法(自动寻址):) p6 g, H* H+ J# Z# ~* m; E# f
    ! Z& h) l1 x2 e
    用 Vim 打开 MdxSourceBuilder.vim,新建文档`:new`,输入命令`:so MdxSourceBuilder.vim`
    1 P# A1 e, a0 b1 o/ t, F% n+ o. D2 |' w9 e- ?
    甚至输入`:so mdx` 之后,按Tab键即可自动补全命令 `:so MdxSourceBuilder.vim`
    ! x6 r6 q" Y( E- E0 h
    . R/ L1 X* M2 ]. j* n这个新方法的逻辑,其实是利用Vim首次打开一个文件时,会将该文件所在目录设置为Vim当前工作目录。, t7 Y; J. `6 a3 J* s
    + l8 h; Y* U) _
    也可以使用系统命令 `:cd` 来更换Vim的工作目录,如 `:cd d:\火星词典`
    % _8 y! `2 ^2 _* ^. i9 ]& Y7 K! D" [, _. |$ f) @; m7 p
    若您使用附带的`_vimrc`,还可以直接使用自定义的命令 `:CD` 将Vim的工作目录切换为当前文件所在目录。
    9 N3 p) s7 i, l
    ' ^) {3 j. l7 R
    / R8 t6 L, Z/ g8 _) o) i
    ### 相关FAQ
    9 }9 R* p. o3 {8 G6 M$ |6 v; N4 G
    5 S! U) Z7 T# s0 a. s% |1. 关于Vim的使用:号称编辑器之神,要想完全掌握确实有难度,但本程序要用到的Vim知识则少的可怜,不必顾虑。
    ; T+ e4 i1 r& Q( U) C5 ?! L/ q0 J: ~+ A
    * Q: vim出现乱码
    , M: M; N* `. h( l+ R4 v" l* A: 请将`_vimrc`文件复制到`$HOME`目录下,Windows下即是`c:\Users\YourName\`
    + g! `3 {% y3 {- Y$ Q
    4 H7 G5 P* W4 o  q: i* f; G     其中必备行是 set encoding=utf-8,其他可选,用于提升Vim使用体验; Q% I1 y) q9 h

    . ?$ O- {. Y6 g  `( ^' E8 ^, U2. 关于mdict-utils的使用:除了打包,还有很多其他解包、读取等功能,大家可以尽情挖掘改造。6 {* z+ M; r) B# b" l3 Q8 b% e8 J8 M* M
    + b6 W$ e' l" Y+ m
    ## 社区讨论与反馈
    3 w% f& p, Z' ]7 d: _7 r2 _7 D* n6 _- e' {8 o! p# x
    * Github: https://github.com/VimWei/MdxSourceBuilder
    - n1 Q" f% {9 X% v) ?* 讨论社区: https://www.pdawiki.com/forum/thread-41287-1-1.html, W9 Y, c8 T+ B6 [; P
    ( x* E& P9 A6 S3 S
    ## LICENSE3 v- u+ B' N" k8 @8 C% f
    - ~- W( o, v" F2 {5 G
    [GPLv3](https://www.gnu.org/licenses/gpl-3.0.en.html)( b( X; w$ u& f/ }) Q
    " @8 V; F: b4 L; s' _4 b
  • TA的每日心情
    无聊
    2022-7-21 15:56
  • 签到天数: 216 天

    [LV.7]常住居民III

    发表于 2020-8-13 18:22:09 | 显示全部楼层
    本帖最后由 wjl 于 2020-8-13 18:49 编辑 : j) e) R$ J3 j/ a# h
    VimVim 发表于 2020-8-13 12:25! N, f# @7 U/ y# q( W6 g* g% ?
    进一步更新程序。解决Vim乱码以及满足常见的Vim用户需求。/ x+ |/ Y$ F; r; `# o4 T' y

    5 \) i/ a4 M, e# j% [( K请将 _vimrc 文件复制到 $HOME 目录下,Window ...
    7 f! N: j0 T6 K# Z: ~
    请问Vim能否实现以下更改呀?方便的话,能否帮忙写一下vim的更改实现方法,现在我只会逐行手动更改,没法实现全文件批量修改/ k4 z. m1 y0 p
    查找含有<div class="HW_L_C" style="margin-top:(.*?)">的所有行,然后将同一行中的所有margin-top:44.43%中的数字减去<div class="HW_L_C" style="margin-top:后面的数字,保留两位小数
    " ?' o8 }) x* J  m, h7 `! H. v- o( w% M# p! l
    <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>% x0 `  h. G- \; p' H( X( d) Q

    / v. \6 r. y* J- h! ^- `) W7 ^% K2 |2 f: h4 b9 [

    点评

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

    [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:215 N. e5 k" X" q1 p3 ~
    我是起哄的。:) 目测这个利器要火!工欲善其事,必先利其器!猜测K大是会加1000米还是10000米,以鼓励此类 ...

    3 ~1 {' H) S9 x* m; e. \感谢支持。
      @& q, m$ L) p8 v5 W2 m4 n# e, J! }8 C+ K  C% M% c
    若能有这样的工具,我想目前的图片词典将发生极大的变化:
    4 x1 E+ m3 k9 n% J6 N% p3 W8 `  q2 }! F! C
    1、新的图片词典制作将非常容易,基本人人皆可上手,而且生成的质量都还很不错,这些将促进新词典的产生。7 U' C5 w( n0 E
    2、对于已有的图片词典,非常容易转换为新标准下的导航,且实现个性化处理,这将极大提升词典的使用体验。
  • TA的每日心情
    开心
    2018-8-8 03:13
  • 签到天数: 1 天

    [LV.1]初来乍到

    发表于 2020-8-12 18:00:30 | 显示全部楼层
    VimVim 发表于 2020-8-12 17:33
    + ~1 T8 v+ x; c  g; W3 t7 H感谢支持。

    7 f( n0 s  x5 u! l* {2 ?VimVim 兄,相當棒的工具,創意十足,漂亮
  • TA的每日心情
    奋斗
    2019-10-13 07:34
  • 签到天数: 209 天

    [LV.7]常住居民III

     楼主| 发表于 2020-8-12 18:52:06 | 显示全部楼层
    喬治兄 发表于 2020-8-12 18:00; w+ x6 v" X' G& ?: o5 y
    VimVim 兄,相當棒的工具,創意十足,漂亮

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

    [LV.1]初来乍到

    发表于 2020-8-12 19:06:40 | 显示全部楼层
    VimVim 发表于 2020-8-12 18:52* r6 @; r7 S3 \, H& r5 W* X( q
    其实,很大一部分是借鉴自你最初的创意(页面导航和关键字导航),我只是将其拼接在一起,使其更加开放( ...
    $ e/ p. @  n* \1 O  i8 W! k" z' N
    VimVim兄,太客气了,自從有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 编辑
    3 B/ ~$ C! |$ S+ @, R
    wjl 发表于 2020-8-12 19:30
    % \4 ?* t. l* m: y+ ]0 h7 \9 |' j多谢分享制作工具,不过Vim对于大多数人学习难度有点高吧。

    - \0 U# _# a( Y6 y  D! t& o所需要的所有Vim知识已经在动图演示的字幕中显示了,总结就是:* ?' ]# H% Z. f/ r" c

    - V; K8 S8 Z' h& M7 L: w$ c3 `1 W:new
    2 K9 Y# d8 i. Q& B:so MdxSourceBuilder" M& P+ c+ q* ~; J

    7 V3 t) B4 h! e9 d7 f$ M+ p随便找个识字的人都能照着这些字按顺序输入,不难吧。
    8 Y9 `1 G; M9 R+ F6 H/ [# P4 z, O7 |% j/ R) H- l+ \
    我要吃肉,是不需要学会打猎或养牛养羊甚至当个厨师,只要会拿起筷子或刀叉送到嘴里就好了。+ n% C) K, ]' S. m5 J& p6 D
    我要浏览个网页,是不需要学习计算机原理、HTTP协议或制作网站之类,只要会点击超链接就好了。7 ~3 d* `# l% q6 b7 g' a; ^* x
      L  Z, i  g% P% k1 \* I3 p
    , Z* w* A$ E& y1 R" j" A
  • TA的每日心情
    擦汗
    2022-3-25 11:07
  • 签到天数: 66 天

    [LV.6]常住居民II

    发表于 2020-8-12 20:03:06 | 显示全部楼层
    RickVincent 发表于 2020-8-12 17:21% Z$ x" R7 s0 ^
    我是起哄的。:) 目测这个利器要火!工欲善其事,必先利其器!猜测K大是会加1000米还是10000米,以鼓励此类 ...

    ' u. }3 Z( E; J9 `, c+ p  O! vK大从来不会吝啬的,我觉得可以加十朵浮云,那个更给力
  • 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 编辑 0 E, W" d; v0 }: q7 ]" R6 K
    VimVim 发表于 2020-8-12 17:12' l" ?, N1 a9 r2 l
    # MdxSourceBuilder2 ~+ h- V/ V  s  M# w& N5 W" u0 p
    + J5 Q. k5 c' m$ I1 y" O
    mdx图片词典制作工具:使用一个命令,实现从原始词条==> 标准化词条==> mdx源文件 ==> ...

    3 F' f6 L" ?! @3 R' s5 D菜鸟一问:  k$ N  [0 J  }5 I3 V  y
    用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 编辑
    . w# M' A8 H( k+ }
    Jiangxi 发表于 2020-8-12 21:279 m  S/ i! }2 c- b3 |/ l7 T6 I
    菜鸟一问:
    5 x( H* n3 E  e- @用Gvim打开MdxSourceBuilder.vim,显示乱码,是缺啥字体么?
    - _5 p6 u7 E; s$ Q' M% s
    不是字体的问题。
    * A% E: J5 h1 X- z) t8 Y  m你找到vim安装目录下有个_vimrc文件,用任意文本编辑器打开,随便在哪加入一行(比如最顶部或最后一行):
    / f. G1 ^* M+ T
    9 k; W' j, `; }$ B+ g! Sset encoding=utf-8' P% ?5 A8 a8 m2 d+ m$ [; @
    . ~! `0 g2 T6 n/ r+ }
    以后就不会有乱码问题了。
    / p# c" H# H2 H* E5 D

    点评

    谢谢,加了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 编辑
    # K1 C% R) {6 @" W- H3 [5 J7 v
    2 R0 t) ]+ F# Y" T- D不用管什么菜单,不影响使用这个工具。9 [; A  t7 s8 e1 |+ U4 H

    & N) n. K+ a# C" z若仅仅是解决菜单乱码或者是根治中文乱码有关的常见问题,建议vimrc文件加入如下内容:/ C5 {6 [" R3 M6 V8 ]
    ; z: a7 a" P0 q3 `* T: X
    1. " Basic Setting -----------------------------------------------------------{{{1
      5 n$ n  b) d/ f# |1 x
    2. set nocompatible    "启用不兼容Vi模式. T: _& G2 [, {
    3. syntax on
      . x5 y/ Z, u; V+ p' }
    4. filetype plugin indent on   "文件类型自动识别,并使用相关插件和自动缩进3 G9 P+ Y+ A/ T! l4 g' l: U

    5. ) ], s. i: X% T1 s+ y( \8 ~  f
    6. " Encoding related --------------------------------------------------------{{{19 I7 z6 w9 |7 O- c7 ~; U
    7. set encoding=utf-8  "Vim 内部工作编码
      " D" G3 ~' m. t. l8 Y" o: y, R
    8. set fileencoding=utf-8  "设置此缓冲区所在文件的字符编码;新文件默认编码! E8 B) v7 D2 d; a4 F
    9. " 打开文件时自动尝试下面顺序的编码
      * O; s8 q' |1 G7 ^& A2 O% R
    10. set fileencodings=ucs-bom,utf-8,cp936,gb18030,big5,euc-jp,euc-kr,latin1
      7 F! `( O" x2 H3 A- }! L7 Z7 Q
    11. source $VIMRUNTIME/delmenu.vim
      8 H7 I" B2 I: X
    12. set langmenu=zh_CN.UTF-8    "指定菜单语言,若需要英文则none! O" g3 A* R) ]( F
    13. source $VIMRUNTIME/menu.vim0 O+ n/ P! k& |
    14. " language message en_US.ISO_8859-1 "指定提示信息语言- \* z& Y2 p; H3 W+ [( D* E6 n
    15. language message zh_CN.UTF-8    "指定提示信息语言. R# P: |# d1 b( m! {( N3 Y
    16. set ambiwidth=double    "使用US-ASCII字符两倍的宽度显示宽度不明的字符* [% n$ |0 c3 Q) b3 `! L
    17. set nobomb    "取消UTF的BOMB文件头
      ; f8 t( a9 o8 b& x; V: x  X  |6 d
    18. set ffs=unix,dos,mac    " 文件换行符,默认使用 unix 换行符) V4 q- a# \; D( n1 D) k
    19. set cm=blowfish2    "设置新的加密算法
      ) |) j8 h" C0 X- x
    复制代码
      _4 D6 e6 g& t. |4 E* Z9 O
    4 W$ t$ \8 _! o
    若要解决Vim的各种问题,并按照自己的心意来,那么就需要下功夫学会定制vimrc文档。不过使用Vim初期,可以简单的复制别人的vimrc文件直接使用,网络一搜一大堆。- h& W# c2 C7 H5 g3 j! E) P
    6 [; j% f5 R/ l
    . E! r" ^" o; _2 n6 t

      j( X( y. d4 z; z6 ^; x
  • 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 编辑 8 n- }7 t6 P9 C6 _

    ) J: e" L' J# r9 h4 K我执行脚本后,生成的MarsDict.css,火星词典.txt,内容都是空的,没有生成 火星词典.mdx 不知道怎么回事
    . j9 _' \, B+ F1 G8 ?操作方式是在gvim_8.2.1424_x64_signed中单击“运行vim脚本”按钮,选择MdxSourceBuilder.vim,图片链接无法访问吗?https://s1.ax1x.com/2020/08/13/azemGR.gif
    $ f5 U' |: ^: T1 N; b我电脑上安装了python,没有安装mdict-utils,这应该不影响生成 MarsDict.css,火星词典.txt  这两个文件吧
    % Y' ~! n9 ]5 S% {2 J& U& E2 E6 k2 m
    3 i+ n# O/ Y, P

      A& P* \) O/ I2 y6 Q5 k4 q$ X( V% i6 f0 x4 Q8 x, J# c' L

    点评

    前面我理解错了,原来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 编辑 . ]% V( \* m( P2 g% P% \( ?. e
    wjl 发表于 2020-8-13 09:17
    0 j$ E8 @0 r: A& R* U! M4 o6 V/ s我执行脚本后,生成的MarsDict.css,火星词典.txt,内容都是空的,没有生成 火星词典.mdx 不知道怎么回事  i0 |4 R  w, C( Z4 [
    ...
    ; I* t* W% C5 u9 Z- G3 o0 \
    看到视频了。
    ; k: z9 c# n: z" {. ^# I8 W2 R4 X6 Z- a% t
    你的操作步骤很奇怪。输出的结果也不应该出现在vim的程序目录下,而是词典目录下。
    " [- p, q- G, y( n; o, u) X, R  H% h! j( N
    估计你的vim“工作路径”错了。请严格按照步骤来。
    # s0 K+ O3 ^" g
    % M' J1 c* Y7 {% c/ _& l1、关闭所有vim程序。
    9 B: Y1 d! L! Y6 C6 U( u' g2、右键MdxSourceBuilder.vim,使用vim打开(必须这样,才能保证vim的工作路径就是当前的词典目录,而非vim程序目录)
    ( @" l0 D7 R7 N# R1 G8 o& O3、使用 :new 新建文档$ d1 |- m- A1 K9 |7 i- Z
    4、执行 :so MdxSourceBuilder.vim
    ( U$ ^# n/ i( a9 Y# X, v
    / t8 t3 t$ Q  R! `/ F或者你如果会更改vim的工作路径,那么第二步想怎么打开就怎么打开:
    4 O% \8 B' R- [6 ?/ a: J1、输入命令 :pwd   可以看到当前的vim工作路径
    , B( H2 r% O6 l) B2、输入命令 :cd..  将工作目录变更为上层目录 或  :cd c:\test 将工作路径变更为test目录,如此类推。命令:cd 后加上词典目录即可将vim的工作目录变更到词典所在目录,与dos 或 windows的cmd的cd命令一样。
    . m5 H2 m. ~: a  ?. K
  • TA的每日心情
    奋斗
    2019-10-13 07:34
  • 签到天数: 209 天

    [LV.7]常住居民III

     楼主| 发表于 2020-8-13 09:59:26 | 显示全部楼层
    VimVim 发表于 2020-8-13 09:41
      n5 z7 a! s# ~5 T看到视频了。
    * H' L! T0 T+ V, n+ a. S$ Q
    - Q4 Y7 m" Y" k4 P* Z你的操作步骤很奇怪。输出的结果也不应该出现在vim的程序目录下,而是词典目录下。
    ; p. `; V$ l+ ]2 g3 P
    如果你希望你这样的操作也可以,更改MdxSourceBuilder.vim,添加如下最后两行(确保位置如下所示):1 C/ K+ X. I; A+ m$ A
    " ======================================================* N! \. D+ @' {8 x( S( N( {. F3 n+ F% k% ?
    " 以下为程序正文,不熟悉Vim的用户请勿动
    ! }" W" g, L2 J' d+ i" ======================================================
    8 V& d' D& F0 @5 w! N% `' {" u"
      S+ g" C* X% `"
    ' g  x. @0 T# B# w) K" 取得本文件所在的目录,并设置为当前工作目录
    - g- W* D" z- Z7 Elet s:home = fnamemodify(resolve(expand('<sfile>:p')), ':h')1 o) j  y8 J( P4 X7 @& e& q& q% m
    execute 'cd ' . s:home) T+ ~6 u9 p/ {( `
  • TA的每日心情
    无聊
    2022-7-21 15:56
  • 签到天数: 216 天

    [LV.7]常住居民III

    发表于 2020-8-13 10:01:12 | 显示全部楼层
    VimVim 发表于 2020-8-13 09:41$ ~# U; A/ h# w) E, R
    看到视频了。7 `" h( V% Y9 I; V$ z. j1 D4 H

    : J% L4 v, o& H: _6 h9 @你的操作步骤很奇怪。输出的结果也不应该出现在vim的程序目录下,而是词典目录下。

    7 d9 W- t4 \$ T$ K多谢,严格按照你给出的步骤,现在可以正常生成 MarsDict.css,火星词典.txt 了6 m# j8 M& N* s
    # d9 K; }9 p; V; I
    https://s1.ax1x.com/2020/08/13/azMjaT.gif
    + W, J! v. S( Z  j0 B7 H& Y! j! K7 i% T
    & W3 s: o' w$ u" K- ]) q" `' `# E- `
    2 ~& R, Q& O5 @8 v6 o6 m
  • TA的每日心情
    奋斗
    2019-10-13 07:34
  • 签到天数: 209 天

    [LV.7]常住居民III

     楼主| 发表于 2020-8-13 10:07:47 | 显示全部楼层
    本帖最后由 VimVim 于 2020-8-13 10:18 编辑 # J4 f3 |9 F9 V
    wjl 发表于 2020-8-13 10:01& V3 p% |! l0 |! N3 S
    多谢,严格按照你给出的步骤,现在可以正常生成 MarsDict.css,火星词典.txt 了
      I8 G" H: ~: c5 U; q
    % _& \/ ?4 \! [4 |) j& Bhttps://s1.ax1x.com/20 ...

    + x/ @7 ^, e/ {我一会更新一下程序(就是上贴所说),让其兼容各种操作。而且,以后不必打开MdxSourceBuilder.vim文件(我原来的设想是通过这个步骤自动设置工作目录,没想到你们却是另一种操作,以致失效),即可使用。
    ; f; Z- P( b( B0 H  h2 y" [9 Z6 R/ u- x+ k/ D$ u1 C
    此外,你已经有Python(需要与vim版本配对,vim的下载页面都有标识支持的python版本;同时python安装时要将其加入系统的path目录),安装 mdict-utilis 就很简单了,只要在windows cmd中输入如下命令,回车即可:
    ' |% W7 T: |1 @6 F, ]* C; m( M% {3 p, u* _& }
    pip install mdict-utils " B# k$ l4 O7 Q$ s& D  R1 ?
    & s) o: B7 y, w; h3 x
    # U: Z& n& {, ~, q# e
  • TA的每日心情
    奋斗
    2019-10-13 07:34
  • 签到天数: 209 天

    [LV.7]常住居民III

     楼主| 发表于 2020-8-13 10:49:30 | 显示全部楼层
    本帖最后由 VimVim 于 2020-8-13 12:50 编辑 / o9 Y& Y3 z2 X/ |- w
    wjl 发表于 2020-8-13 09:175 U2 B# j; j; n9 F
    我执行脚本后,生成的MarsDict.css,火星词典.txt,内容都是空的,没有生成 火星词典.mdx 不知道怎么回事! y+ Q+ G* [4 w8 g8 u+ B
    ...

    # [3 l, s' Q5 |" `# _已更新程序和说明文档,现在按照你这种操作方法也可以了,更简单,而且不容易出错。3 [3 C) i" m8 S4 d
    . k' n/ x) r$ t  S" B; x3 p
    打开Vim,单击 “运行vim脚本” 按钮  或  输入命令 :bro so ,找到MdxSourceBuilder.vim,确定,结束。9 _1 \# C! C/ p
    ! Q9 m: F% L/ t1 J
    注:原来的操作方法(如GIF Demo所示)依然是可行的,熟悉Vim的用户会更喜欢,因为会自动寻址。
    , o; H) v( V1 M6 N- h$ L8 I4 v7 m* _* e0 G% s
    , B& L' [9 {8 I+ R
  • TA的每日心情
    无聊
    2022-7-21 15:56
  • 签到天数: 216 天

    [LV.7]常住居民III

    发表于 2020-8-13 11:32:35 | 显示全部楼层
    VimVim 发表于 2020-8-13 10:49
    . P2 A- a% A% B( D已更新程序和说明文档,现在按照你这种操作方法也可以了,更简单,而且不容易出错。+ u7 c. W. \4 Z
    # O. t% D# h$ C: \) C1 R% U
    打开Vim,单击 “运 ...

    $ G* F7 J+ e4 o' i  Y5 D现在可以直接选择vim脚本来生成mdx,不用手工输入命令也可执行生成操作了3 j  H  ]% O! \( R1 g8 y; T3 {
    https://s1.ax1x.com/2020/08/13/azsapd.gif
    & T2 c7 y+ _# V9 n* E6 ]

    点评

    这个词典的奥妙你可能没发现:词典的最底下还有不一样的导航。  发表于 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 编辑 + u3 J) C. s) ^/ S
    VimVim 发表于 2020-8-12 23:20
    : N$ k8 n. M# k& S( C不用管什么菜单,不影响使用这个工具。
    7 L( Y5 {0 G+ I3 P& _/ k
    # t2 R, m" s, X" N+ E# }若仅仅是解决菜单乱码或者是根治中文乱码有关的常见问题,建议vimr ...
    4 U( D& a4 k0 G% T$ _7 f
    进一步更新程序。解决Vim乱码以及满足常见的Vim用户需求。1 O! b. w# a: m5 J  [1 `- N6 l% H
    8 o  s8 f$ z0 W' x6 W) m' P- E
    请将 _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) C8 u4 R8 u) t# |  u! p
    现在可以直接选择vim脚本来生成mdx,不用手工输入命令也可执行生成操作了+ r8 |7 @$ H% J3 w
    https://s1.ax1x.com/2020/08/1 ...
    - }- M- A" M& a9 k
    能发一下您的python和Gvim安装文件么?我折腾半天就是生成不了mdx文件,不知是我的vim版本与python不匹配吗。不好意思,太菜了。谢谢。
    您需要登录后才可以回帖 登录 | 免费注册

    本版积分规则

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

    GMT+8, 2024-4-26 16:42 , Processed in 0.127614 second(s), 14 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2023, Tencent Cloud.

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