掌上百科 - PDAWIKI

 找回密码
 免费注册

QQ登录

只需一步,快速开始

查看: 5853|回复: 100

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

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

    [LV.7]常住居民III

    发表于 2020-8-12 16:46:52 | 显示全部楼层 |阅读模式
    本帖最后由 VimVim 于 2020-8-17 12:48 编辑
    1 l1 r) o$ d# t5 Z1 x
      v  V" S3 |9 {% Z# 发布地址6 B3 v* F) R$ b5 V

    2 g" ?7 G/ o' S6 Phttps://github.com/VimWei/MdxSourceBuilder' k) O/ Z% }8 x

    # G' e# f" k& Q7 e2 e) i一键制作图片词典:原始词条==> 标准化词条==> mdx源文件 ==> mdx词典文件+ A3 Y$ ^- k2 N  A0 j' P& x. W3 F
    6 i0 G0 A+ ~; b  W: M
    # 动图演示
    ; b% @5 Z4 ^7 @2 U( m. b/ |: Y( [# v) w) I9 Z$ r
      C3 x& P" q2 s2 ]' V$ f

    : |2 G' `$ M  d+ P. c更多视频演示: https://www.bilibili.com/video/BV1Ki4y1g74X/7 F) _; @) p2 r3 P

    ) G5 t& U* F( B+ s9 O! o& B# 缘起
    + _5 R8 ?3 a; X  h  O$ s
    9 u, M; W4 w+ [7 t3 ]) Q图片词典的制作规范与开源工具6 k6 ?# ~3 P+ Q3 E# q
    https://www.pdawiki.com/forum/thread-40857-1-1.html2 ?! Z( h! \+ p3 V; F; [7 y: T
    2 g8 u+ q- U9 M$ V
    2 V7 X. Y1 a7 G# W, ^" n
    + j0 ^& C9 r3 y5 i
    / C1 g" R/ B  s' O
    9 r6 c; j5 }5 ^- C/ y; z5 Q* g

    : F9 b: F# q* h& t: C  Z
    8 {* y, E" p5 Y' ^: w

    评分

    3

    查看全部评分

    本帖被以下淘专辑推荐:

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

    [LV.7]常住居民III

     楼主| 发表于 2020-8-12 17:12:25 | 显示全部楼层
    本帖最后由 VimVim 于 2020-8-14 11:29 编辑 : U7 F1 E1 j$ s
    . p( x* p& p/ U9 j0 U
    # MdxSourceBuilder- y6 s0 m% Y, E5 ^; z0 v
    ) R9 A# u9 J8 F; X( S* F2 G
    一键制作图片词典:原始词条==> 标准化词条==> mdx源文件 ==> mdx词典文件0 m% M8 q  I' F) p
    & j" z; s7 x& X! c+ C
    8 E, V2 v+ p! `) r' w
    ## 背景) o& K6 N4 G, h: V/ B
    + m' J2 z$ ~/ f
    ### 需求背景; v9 Y0 \) w! @$ v. |5 R
    9 z& ?* Y5 k1 o! M) t
    时常遇到一些好资料,怎奈只有纸质版或扫描版之类,希望将这些资料转换为可以检索的mdx词典,既方便使用,也提高利用率。
    9 G* E9 c5 ~1 v. Q$ k
    6 J$ Z5 X, `7 E1 w但是,常常在辛苦整理好词条(这是纯苦力活)之后,使用过往技术方案实现的成品却不够理想,不理想之处有两大方面:; v4 \- A: g0 [. A2 N
    * \( K( R" Y. a; b  l
    * 导航不理想,极大降低了用户的使用体验
    $ J# z& @7 K: O0 A* 制作修订过程复杂,极大干扰了制作者的热情
    - u8 [7 W  n9 b9 Y
    / u2 p" I* v- a7 N: [这完全可以通过工具来解决。2 v$ B" J0 U: d# I6 U& |+ u! ~

    . n8 B( _6 L8 @### 程序设计背景
      `( g: n. e2 f( b: R" |9 `3 ]( c3 @' s
    本来我只是提出痛点,希望有高人能出手解决,怎奈高人大都不屑于处理。0 `  R5 m% ]+ T9 V

      L& W6 I7 T) q  w# z+ o本非码农,可鉴于实在痛的厉害,只好自己用三脚猫功夫倒腾了人生第一个具有完整功能的程序。在此之前,从来没用过list、dict之类的,连这个github发布,都是现学现卖,还望高人不要耻笑,多提点才是。若有高人能够弄个更好的程序或是python版的或是GUI版的,那大家就有福了,我这纯粹抛砖引玉。
    / ]3 G7 b* a/ r, G
    . b; I$ }1 K% d$ J# Y. L+ U非码农的好处,或许是可以有更好的用户视角:既考虑词典终端用户的使用体验,也考虑普通的词典制作者的使用体验。虽不能解决所有问题,但至少已能解决我自己的大部分诉求,希望也能解决众多mdx词典用户的些许痛点。3 Y& O* d8 Y7 w3 `1 {0 A

    7 M; H% V* i' E/ I+ \! p## 解决方案9 B  t( H/ A5 [* _/ m  J1 v0 p
    ; E# i0 r4 F. y* i) M* Q
    基本思路: 1.原始词条==> 2.标准化词条==> 3.mdx源文件 ==> 4.mdx词典文件8 W  d' r0 Y' N/ \# ~/ n. T

    9 ^: u0 w9 F. f: h6 H# L+ x- k1. 原始词条:鉴于资料的多样性,原始词条的获取方式也是多种多样,有OCR来的,有手工输入的,也有从其他人的资料转编译来的,也有是因为制作人的喜好或用的工具不同,导致原始词条的格式完全不同。这个特点造就了解决方案必须:(1)兼容多样性,将最常见的词条样式纳入进来;(2)开放性,用户可以根据需要自定义更多个性化的原始词条样式。1 S* d' m6 `3 G6 J  h7 K

    " s. o; y; ~& r: p    目前,本程序已经实现了对三种原始词条样式的兼容,用户也可以根据需要自定义添加。$ Q4 s% x( ~* F2 `

    / l9 @$ P0 T7 {8 S2. 标准化词条:若能将多样化的原始词条转化为标准化的词条,那么后续就可以标准化处理了。因此如何定义标准化词条就变得很重要,它是实现后续程序的基础。
    6 k( K0 `$ a5 w+ m) J6 x
    ! U+ A! x% @8 [8 V! a* @7 e    目前,本程序已经提出了一个1.0版的最基本词条标准:一行页码,之后跟随多行关键词,每行一个关键词,如此往复。之所以说1.0版仅仅是最基本的标准,是因为这个标准还未能兼容如分栏、多层级词条等更复杂的情形,这些都有待后续有高人继续升级完善。
    6 S, I6 ^- Y  }" ]
    4 @4 I1 y& i9 ?: k& C3. mdx源文件:这个txt文件与其他技术方案的最大区别是——包含了足够优良的页面导航、关键词导航以及用户自由定义的导航信息,极大提升用户对图片词典的使用体验。图片导航如何设计仁者见仁智者见智,因此,解决方案必须:(1)足够优良,不能太简陋,能用机器实现的定位,就不要浪费肉眼定位、繁琐操作定位等人类的精力;(2)兼容多样性,将最常见的导航样式纳入进来,比如封面附录等无需关键词导航、正文等需要关键词导航、拼音等则无需导航直接转链接到现有页面即可;(3)开放性,用户可以根据需要自定义CSS样式,或者添加更多个性化的导航样式。
      ~+ J8 {" t. r4 S( @6 ^
    2 z: I& l/ c, n3 k2 h# E: \& B    目前,本程序已经实现了三种导航样式,满足一本常见词典的基本需求,同时本程序会输出配套的精细CSS,方便用户个性化定制,此外用户也可以自由添加、改造导航样式。
    & k0 }) ~0 ~, Y# k7 m0 }  _
    ; w0 P$ N  @1 u) J7 D1 d9 S3 F) v) {4. mdx词典文件:这个步骤是可选项,但一步到位可以极大提升用户的体验,更重要的是使用这个工具可以实现跨平台制作mdx词典了,不必局限于Windows,Linux、Mac统统不在话下。当然要说明的是,这一环节用到了另一个开源工具, https://github.com/liuyug/mdict-utils ,功劳统统属于他!. w( a) h1 g# _$ @* J

    % V* w0 f' G+ I( g, ?## 程序文件及安装
    : a2 {" p6 G$ B( }( Q8 f/ s+ p! F$ z4 \& m! Z6 `( ]- s9 `
    根本谈不上安装,因为整个程序就是3个Vim脚本文件而已,下载后,直接将这些脚本文件放在与词条文件同一个目录即可。
    , K9 \$ Q! L5 K1 q4 V7 W; \, p0 |, N1 D5 `1 g5 b+ k
    * MdxSourceBuilder.vim  这是入口文件:上半部分是配置文件,需要用户定义词典参数;下半部分是主程序,通常无需理会
    ' s/ p0 m/ \$ T; T( ~, m* MdxSourceBuilderCore.vim  这是主程序调用的程序,仅当需要高级定制时修改,通常无需理会
    - W6 U3 Z* d" Q) V) O" G* MdxSourceBuilderCSS.vim  这是CSS文件,样式文件可以在这里定义,通常无需理会5 U7 l; W, P5 Q( y' s, o
    2 S: Y& A$ z6 U* U9 k) w* r) P
    其他文件,都是附带的Readme、动图演示、参考资料、案例词典之类,可以忽略。
    ' e! j" M9 y$ }+ l1 J- J( ~: q3 g+ {8 U: `; t/ i
    ## 体验案例“火星词典”
    , Y/ I! j" C- E8 y
    0 H4 V+ V: Z/ A0 s为展示程序的特点,特制作了“火星词典”,供观摩使用。  g/ t, r* @' W6 G% _& B% E/ E/ t

    2 M3 b) b9 v1 E' k1 F% l* 案例词条文件:以"火星词典"开头的所有.txt和.html文件,其中body.part1、body.part2、Pinyin三个文件展示了不同的词条格式
    + _4 k- f$ K. ~) d5 {' |6 m: q* 程序及词典配置文件:以"MdxSourceBuilder"开头的所有.vim文件,其中MdxSourceBuilder.vim已经包含了案例词典的配置信息0 ^* H$ G& p5 O' W' U- I; Z0 B* d
    ( }' n  y% v" x3 R# P" c; u
    案例使用:打开Vim,输入命令 `:bro so`,找到MdxSourceBuilder.vim,打开,结束。
    & A  y) {' B) z7 R
    2 {6 m1 c$ R- i) C$ l* 你会看到,仅仅使用上述一个命令,就会输出3个成品文件:MarsDict.css,火星词典.txt,火星词典.mdx4 A/ j, ^% f/ W$ _- e
    * 你若没有复现上述效果,也别着急,可能是vim、python和mdict-utils没有安装配置好,继续往下看说明文件即可解决
    4 o! w& a' I; i8 I. ?* 之后你只要照猫画虎,即可制作自己的图片词典了' }7 m8 O+ u+ X  z

    # z- W  ?% H1 ~9 B## 使用说明4 p8 o; v* o/ {

    9 l6 d# J$ q3 c% u# r6 s- N. S### 极简使用说明
    4 g( @/ F4 b; o3 l' L6 j4 X0 a, Q+ [7 i- L( Y5 j
    打开Vim,输入命令 `:bro so`,找到MdxSourceBuilder.vim,打开,结束。
    ! q; ^8 A& S+ n$ A7 x" O) Z2 B( [. D& w4 s1 h8 j# E
    ### 概要使用说明
    , u* M- w/ Q: C5 S+ t: n4 G$ D+ A
    1. 按格式要求准备好词条文件
    - V3 F" U/ X0 V2. 使用任意文本编辑器配置好 MdxSourceBuilder.vim 中的词典参数
    ( H0 x6 c; m/ B3. 打开Vim,输入命令 `:bro so`,找到MdxSourceBuilder.vim,打开,结束。
    % ?) F7 _& P/ _: E' ^1 Q- T/ d  @$ o9 y; H; C' G
    ### 详细使用说明
    ' P8 H+ \0 l1 O, [& e
    2 Q  U# u; A. o$ t  _* 直接打开查阅 MdxSourceBuilder.vim,其中“使用方法”及“词典参数配置”两个部分自带详细使用说明。
    - N  Y/ W$ y3 R! S. P* 若想深度定制,把所有以"MdxSourceBuilder"开头的.vim文件看一遍就知道怎么处理了,即使不懂VimL语言,看注释也能猜个差不离。3 E' A) K1 {+ p! C: H& v& m/ u4 G
    - J5 G/ E8 ^, o: {
    ### Tips: 使用更便捷快速的命令: J! m1 h& \/ B1 A+ v

    ! K$ H. k- w3 W8 {' B% ]* 若觉得如下步骤还要寻找MdxSourceBuilder.vim,有些麻烦* R1 @; p& A( I2 W' D

      j5 s1 d) e" ?7 j1 z8 U打开Vim,输入命令 `:bro so`,找到MdxSourceBuilder.vim,打开,结束。  ~" m$ [/ d- F% s. h. ]* L- l5 g

    : @( `: p9 ?% Z- J# j/ N1 R5 U- z* 那么建议使用如下更快的方法(自动寻址):
    1 g6 z6 {1 n: B! E3 e0 a! r! j; y# B' H3 k
    用 Vim 打开 MdxSourceBuilder.vim,新建文档`:new`,输入命令`:so MdxSourceBuilder.vim`
      a& ~" ^# x) |8 B9 g% o
    9 n: A) R8 `( R/ J% w甚至输入`:so mdx` 之后,按Tab键即可自动补全命令 `:so MdxSourceBuilder.vim`5 l; I: U& J0 {7 j8 G6 P
    ' ]: U- B) J2 b0 O5 R+ K
    这个新方法的逻辑,其实是利用Vim首次打开一个文件时,会将该文件所在目录设置为Vim当前工作目录。
    ' K8 v/ x) p$ g7 n
    ) l( S- E: k1 \8 C也可以使用系统命令 `:cd` 来更换Vim的工作目录,如 `:cd d:\火星词典`
    3 R9 {! l7 D9 q: N# W  z( V# `4 P" m) M" ~. O6 J
    若您使用附带的`_vimrc`,还可以直接使用自定义的命令 `:CD` 将Vim的工作目录切换为当前文件所在目录。
    ' C# ]* y5 j& ]1 V6 p+ y/ S/ [' n8 l  y( D  C3 Y
    3 C% X. O. w, k
    ### 相关FAQ
    3 {2 V5 |0 x9 V* H: n& }; M. t
    0 y/ d2 Q3 p! O# A( _3 M1. 关于Vim的使用:号称编辑器之神,要想完全掌握确实有难度,但本程序要用到的Vim知识则少的可怜,不必顾虑。
    - q6 }' S( e+ p1 A8 u5 W+ ?, w( s. e& F7 }7 |
    * Q: vim出现乱码
    " j# b& W' r: f4 E% R  J6 d2 q; h* A: 请将`_vimrc`文件复制到`$HOME`目录下,Windows下即是`c:\Users\YourName\`9 }+ T0 ?6 S$ i! n/ `0 d0 ^

    # }( e% T) g! Y5 O* ]     其中必备行是 set encoding=utf-8,其他可选,用于提升Vim使用体验/ N; A8 x' _: q  ]% x/ `8 T& a7 R

    & c/ ?/ o  m. W1 i: e, m! z2. 关于mdict-utils的使用:除了打包,还有很多其他解包、读取等功能,大家可以尽情挖掘改造。
    9 U  F  U; [1 J& z6 u/ i" u* s* z0 W1 U: z6 t& w
    ## 社区讨论与反馈/ n1 Q4 D+ K2 {2 C8 e+ Y

    " d$ v5 \- {, Y8 {* Github: https://github.com/VimWei/MdxSourceBuilder
    # a" G8 B; T3 p* 讨论社区: https://www.pdawiki.com/forum/thread-41287-1-1.html
    6 d. A( U( ^2 d0 V; m% b* l3 U" ]" ]
    ' n$ f* w# x9 \( C## LICENSE: t- T" a. i: q

    9 \( x  _7 g  o' r8 ?( J) ~[GPLv3](https://www.gnu.org/licenses/gpl-3.0.en.html)
    7 x4 q, e% P) ^  O- z) [9 Y5 [0 A7 [% v
  • TA的每日心情
    无聊
    2022-7-21 15:56
  • 签到天数: 216 天

    [LV.7]常住居民III

    发表于 2020-8-13 18:22:09 | 显示全部楼层
    本帖最后由 wjl 于 2020-8-13 18:49 编辑
    # I! ~0 x7 Q$ g1 {* X; E
    VimVim 发表于 2020-8-13 12:25
    2 _; a- ^$ B& W2 i进一步更新程序。解决Vim乱码以及满足常见的Vim用户需求。
    0 T  H0 ?6 i. i. J1 c( b
    ( d7 F9 R. w" V6 |5 n3 E9 }请将 _vimrc 文件复制到 $HOME 目录下,Window ...
    & y8 D- S2 Y! ]9 M* o
    请问Vim能否实现以下更改呀?方便的话,能否帮忙写一下vim的更改实现方法,现在我只会逐行手动更改,没法实现全文件批量修改
    # i1 @$ q5 s6 W查找含有<div class="HW_L_C" style="margin-top:(.*?)">的所有行,然后将同一行中的所有margin-top:44.43%中的数字减去<div class="HW_L_C" style="margin-top:后面的数字,保留两位小数0 b' ]/ o0 `: q9 p  g; ~/ I

    ; `# A; x+ ]( }* T, @9 T/ g<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 H" U+ V6 R) {, Y: L% E
    " u- e% q* j3 Y5 Z8 ]6 }2 c) G$ _' E/ G' f4 c

    点评

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

    [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% t5 ?& O( i+ H0 W; A! h3 D0 ]
    我是起哄的。:) 目测这个利器要火!工欲善其事,必先利其器!猜测K大是会加1000米还是10000米,以鼓励此类 ...

    0 C' m+ k" E) {! B2 J, h0 Y8 H感谢支持。
    8 b  H( R7 V) ]! |5 |6 n, V, Q9 ]& O: _4 F' ]
    若能有这样的工具,我想目前的图片词典将发生极大的变化:3 k# z+ Z" L9 E% y+ d3 r1 @
    : v4 |; i5 I; H: l$ j
    1、新的图片词典制作将非常容易,基本人人皆可上手,而且生成的质量都还很不错,这些将促进新词典的产生。: M; \2 I3 T1 J
    2、对于已有的图片词典,非常容易转换为新标准下的导航,且实现个性化处理,这将极大提升词典的使用体验。
  • TA的每日心情
    开心
    2018-8-8 03:13
  • 签到天数: 1 天

    [LV.1]初来乍到

    发表于 2020-8-12 18:00:30 | 显示全部楼层
    VimVim 发表于 2020-8-12 17:334 S( Q8 }" i8 N+ L
    感谢支持。
    8 i7 q/ f9 d$ |  M' Z7 G- g% O3 L
    VimVim 兄,相當棒的工具,創意十足,漂亮
  • TA的每日心情
    奋斗
    2019-10-13 07:34
  • 签到天数: 209 天

    [LV.7]常住居民III

     楼主| 发表于 2020-8-12 18:52:06 | 显示全部楼层
    喬治兄 发表于 2020-8-12 18:00" t1 Y! f. g- H- y
    VimVim 兄,相當棒的工具,創意十足,漂亮
    * J6 l6 M1 F2 T6 y4 N% F: C: l
    其实,很大一部分是借鉴自你最初的创意(页面导航和关键字导航),我只是将其拼接在一起,使其更加开放(开源、可融入更多工具链)、兼容(多种词条格式及容错)和扩展(高度自定义、跨平台)。
  • TA的每日心情
    开心
    2018-8-8 03:13
  • 签到天数: 1 天

    [LV.1]初来乍到

    发表于 2020-8-12 19:06:40 | 显示全部楼层
    VimVim 发表于 2020-8-12 18:52
    7 P; I4 v1 @6 p, a' f; i其实,很大一部分是借鉴自你最初的创意(页面导航和关键字导航),我只是将其拼接在一起,使其更加开放( ...

    ! h, C) v3 K4 }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 编辑 & L2 n5 r2 G% i" E
    wjl 发表于 2020-8-12 19:30( x" j6 u! s$ i+ I; S
    多谢分享制作工具,不过Vim对于大多数人学习难度有点高吧。
    3 H( J/ E3 ?- K& O# Y* y" _+ j) T' f% Q
    所需要的所有Vim知识已经在动图演示的字幕中显示了,总结就是:
    3 L. l, j7 a2 S9 m; K# R; j5 ?* U2 D, O
    :new
    7 u- e! N5 p. h2 z; o% K! h:so MdxSourceBuilder
    ; c/ w5 @  u! \4 n# Q
    - }- S+ N( X0 }随便找个识字的人都能照着这些字按顺序输入,不难吧。
    ! q( q3 K9 Q& F$ L0 b/ C7 y/ \6 f2 B" ~
    我要吃肉,是不需要学会打猎或养牛养羊甚至当个厨师,只要会拿起筷子或刀叉送到嘴里就好了。) G* n& f+ h  q! a$ x+ e1 t
    我要浏览个网页,是不需要学习计算机原理、HTTP协议或制作网站之类,只要会点击超链接就好了。
    % @2 D* x# K5 B) f& S
    ; T% a; \: G/ n4 K) F8 m+ I) q! O) }& L2 q/ T0 K1 d
  • TA的每日心情
    擦汗
    2022-3-25 11:07
  • 签到天数: 66 天

    [LV.6]常住居民II

    发表于 2020-8-12 20:03:06 | 显示全部楼层
    RickVincent 发表于 2020-8-12 17:21# ?+ f% z) z/ E( f$ q1 \' C
    我是起哄的。:) 目测这个利器要火!工欲善其事,必先利其器!猜测K大是会加1000米还是10000米,以鼓励此类 ...
    9 F8 c  J9 p3 W
    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 编辑 & z: r7 ]  o4 J# A/ B
    VimVim 发表于 2020-8-12 17:12
    2 A2 X1 V3 D" l( @- f; s: @# MdxSourceBuilder
    " E' ]: T) a, W! t/ g# x  {; g
    5 ?+ E/ [* [3 R2 \+ |0 h8 B3 Zmdx图片词典制作工具:使用一个命令,实现从原始词条==> 标准化词条==> mdx源文件 ==> ...
    0 ~) x# k! d4 ?6 i1 l2 w! x
    菜鸟一问:
    - b0 j  E+ ]/ b+ @用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 编辑
    7 w: u9 F# b/ E8 X4 |" I3 P
    Jiangxi 发表于 2020-8-12 21:27
    % X4 x; v) O4 |# ^  p6 `5 N菜鸟一问:
    9 r# T+ ~9 U5 ?9 q1 I用Gvim打开MdxSourceBuilder.vim,显示乱码,是缺啥字体么?

    9 ~: h0 B; m7 v0 T1 p; x不是字体的问题。
    ( {' V% E" E! D8 R你找到vim安装目录下有个_vimrc文件,用任意文本编辑器打开,随便在哪加入一行(比如最顶部或最后一行):
    7 K6 q/ o9 T7 V5 m4 B" k
    5 z: T$ S% c2 i5 ?4 r2 qset encoding=utf-8
    . Z4 v3 Q- x# {5 [* S6 e$ E' \% ?& p
    以后就不会有乱码问题了。' x6 e- O. h2 q

    点评

    谢谢,加了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 编辑 0 m7 i* o; i0 n& d4 ~

    , A" d) G# d6 D  Q9 a* U不用管什么菜单,不影响使用这个工具。' M/ Q5 i) q& k0 x

    0 l3 d# k$ \6 L3 S若仅仅是解决菜单乱码或者是根治中文乱码有关的常见问题,建议vimrc文件加入如下内容:* O5 |$ N* R- J( @. ^
    # m, \. w" M6 `# f  S
    1. " Basic Setting -----------------------------------------------------------{{{1
      & M7 V4 ]) R/ R& ~0 T2 I6 [
    2. set nocompatible    "启用不兼容Vi模式1 ?' s5 I7 y0 J- V" V0 ?
    3. syntax on3 J2 `9 u- y* G: S9 @8 F
    4. filetype plugin indent on   "文件类型自动识别,并使用相关插件和自动缩进
      9 x, K/ K$ w2 L1 [8 v- |

    5. , z! w  Z" N* w: \/ i1 b5 X
    6. " Encoding related --------------------------------------------------------{{{1: f* x4 n5 g& `" o6 k' d4 |
    7. set encoding=utf-8  "Vim 内部工作编码. T9 m  V' z" S- p$ ]4 M! ?
    8. set fileencoding=utf-8  "设置此缓冲区所在文件的字符编码;新文件默认编码
      4 [0 B: S* v; K. C1 w( q* |
    9. " 打开文件时自动尝试下面顺序的编码
      ! Z  c% i: w$ H8 Q6 s- K" |
    10. set fileencodings=ucs-bom,utf-8,cp936,gb18030,big5,euc-jp,euc-kr,latin1& t. \: F4 E& o3 J6 u2 f
    11. source $VIMRUNTIME/delmenu.vim% G/ L; }8 v7 [0 m, k. ^
    12. set langmenu=zh_CN.UTF-8    "指定菜单语言,若需要英文则none
      ( h0 x- f7 v% B" U2 M- D/ a! I2 _
    13. source $VIMRUNTIME/menu.vim! P! D7 v( t- t  c* c) c
    14. " language message en_US.ISO_8859-1 "指定提示信息语言
      . d3 o, }8 @0 C
    15. language message zh_CN.UTF-8    "指定提示信息语言3 n7 s. w1 y7 i9 A& w3 L
    16. set ambiwidth=double    "使用US-ASCII字符两倍的宽度显示宽度不明的字符1 ~; H2 v( ^, @* y! a$ S
    17. set nobomb    "取消UTF的BOMB文件头
      * k' {! P& L) _+ A  Y+ a
    18. set ffs=unix,dos,mac    " 文件换行符,默认使用 unix 换行符
      ) [1 S6 L) \. N, b* o
    19. set cm=blowfish2    "设置新的加密算法& b" q, T+ @5 A
    复制代码

    6 ]* v8 K* k  \! ~
    % Z: _( i4 v  H% B2 s2 C) d若要解决Vim的各种问题,并按照自己的心意来,那么就需要下功夫学会定制vimrc文档。不过使用Vim初期,可以简单的复制别人的vimrc文件直接使用,网络一搜一大堆。7 N" }/ X7 ]* b, `. j
    $ W. S: N: W" H! a; N! M8 h! b

    4 f) V) o" R# Z9 O$ p
    1 v3 G' S; l* X% H% N; t
  • 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 编辑
    6 p9 i5 ]) r% Q9 p
    - N) W8 k: i5 Z. x% f5 _5 z我执行脚本后,生成的MarsDict.css,火星词典.txt,内容都是空的,没有生成 火星词典.mdx 不知道怎么回事
    ; [& X+ m, C. h* D操作方式是在gvim_8.2.1424_x64_signed中单击“运行vim脚本”按钮,选择MdxSourceBuilder.vim,图片链接无法访问吗?https://s1.ax1x.com/2020/08/13/azemGR.gif8 p7 f+ z( P' r6 {
    我电脑上安装了python,没有安装mdict-utils,这应该不影响生成 MarsDict.css,火星词典.txt  这两个文件吧
    ( J, h8 ?( ]7 |4 J* [7 F; F- a2 c* G1 ^" X
    9 M" c+ ~5 x" n$ ~, H
    5 _9 [+ @" V6 v! E; Q
    # i8 A( r2 a1 q" e: a

    点评

    前面我理解错了,原来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 编辑 6 o" F# d: I& t9 ?* o5 @* ~
    wjl 发表于 2020-8-13 09:17' j6 h' L3 [4 A8 h
    我执行脚本后,生成的MarsDict.css,火星词典.txt,内容都是空的,没有生成 火星词典.mdx 不知道怎么回事
    0 b  |8 p+ _; W. M6 h- c0 b ...
    8 t2 c: |6 N( X6 L
    看到视频了。& J8 c7 g# s; v/ I2 z) _: F5 m

    * r- J& y4 Z7 r! G5 Q你的操作步骤很奇怪。输出的结果也不应该出现在vim的程序目录下,而是词典目录下。
    4 j  E5 F* \1 t* Q) h- i1 v! S0 P6 r; [% t1 I; V/ `6 a1 t0 B
    估计你的vim“工作路径”错了。请严格按照步骤来。
    , Z  F7 h7 C- V+ R0 p) ^4 a$ p; |  r
    1、关闭所有vim程序。
    9 B) t+ ^; _5 i+ B2、右键MdxSourceBuilder.vim,使用vim打开(必须这样,才能保证vim的工作路径就是当前的词典目录,而非vim程序目录)
    ( d) `" Q" H1 m/ M. C3、使用 :new 新建文档
    1 L+ z8 }. |- I7 A5 n% \4、执行 :so MdxSourceBuilder.vim0 f. U: U0 X6 ?
    * c0 n% s" Y8 ^, D  X( D
    或者你如果会更改vim的工作路径,那么第二步想怎么打开就怎么打开:
    , V4 l- r: z2 _3 p+ B% w1、输入命令 :pwd   可以看到当前的vim工作路径
    " [+ K; d1 Y. m% |' E% d1 \2、输入命令 :cd..  将工作目录变更为上层目录 或  :cd c:\test 将工作路径变更为test目录,如此类推。命令:cd 后加上词典目录即可将vim的工作目录变更到词典所在目录,与dos 或 windows的cmd的cd命令一样。
    " l. Z7 E' z( p' t
  • TA的每日心情
    奋斗
    2019-10-13 07:34
  • 签到天数: 209 天

    [LV.7]常住居民III

     楼主| 发表于 2020-8-13 09:59:26 | 显示全部楼层
    VimVim 发表于 2020-8-13 09:41
    . L, Q! T% n6 e" i7 j7 `看到视频了。! i. U& T4 J8 K* _- U
    1 r. e8 j. b' K& G4 I8 G% g
    你的操作步骤很奇怪。输出的结果也不应该出现在vim的程序目录下,而是词典目录下。

    " {' t8 f. i, {$ a如果你希望你这样的操作也可以,更改MdxSourceBuilder.vim,添加如下最后两行(确保位置如下所示):" ~% W4 p7 X" F
    " ======================================================! Y  {0 F0 v7 |% Q0 i+ M/ u
    " 以下为程序正文,不熟悉Vim的用户请勿动% O" }; v/ x9 d) i+ O) T
    " ======================================================
    4 j3 w& Q8 Q1 ?* w4 x"
    8 `9 h! \& x; A* n& q% y4 j1 u* {"
    + t2 S; n# I1 L7 d) r5 x5 \" 取得本文件所在的目录,并设置为当前工作目录6 X; H2 Z/ n- _1 A& u. C3 s
    let s:home = fnamemodify(resolve(expand('<sfile>:p')), ':h')
    * x. X$ p& y4 \7 Y5 Vexecute 'cd ' . s:home  T; p4 C! M. ^2 H( R7 [! s
  • TA的每日心情
    无聊
    2022-7-21 15:56
  • 签到天数: 216 天

    [LV.7]常住居民III

    发表于 2020-8-13 10:01:12 | 显示全部楼层
    VimVim 发表于 2020-8-13 09:41
    " N! O$ r; H# _1 s- W+ M看到视频了。
    . i3 V. H, U# @2 Q
    ( w  o+ y1 a; x9 K( V你的操作步骤很奇怪。输出的结果也不应该出现在vim的程序目录下,而是词典目录下。
    ' z& X% g$ R. G. H
    多谢,严格按照你给出的步骤,现在可以正常生成 MarsDict.css,火星词典.txt 了6 b- t! c! R* h# u7 K
    5 Z: d+ z3 _2 v- R
    https://s1.ax1x.com/2020/08/13/azMjaT.gif8 [% I, J* |7 ^
    + D+ p: Z% z& b7 F3 M' E

    ' h4 |( B: c* G7 v9 M: Y* _% R% N7 X* v% {; C. t
  • TA的每日心情
    奋斗
    2019-10-13 07:34
  • 签到天数: 209 天

    [LV.7]常住居民III

     楼主| 发表于 2020-8-13 10:07:47 | 显示全部楼层
    本帖最后由 VimVim 于 2020-8-13 10:18 编辑 - Q5 p- ^% ]) n3 q4 G# |- I6 @
    wjl 发表于 2020-8-13 10:01  U! i  V6 U) x
    多谢,严格按照你给出的步骤,现在可以正常生成 MarsDict.css,火星词典.txt 了( p5 y. o" c" k  Y, j) c

    9 T9 p# F% L% C# B4 |7 Chttps://s1.ax1x.com/20 ...

    # Q' Q3 C6 d9 Z) d/ v" r; e我一会更新一下程序(就是上贴所说),让其兼容各种操作。而且,以后不必打开MdxSourceBuilder.vim文件(我原来的设想是通过这个步骤自动设置工作目录,没想到你们却是另一种操作,以致失效),即可使用。
    4 z6 f. K, ?% [9 _& \
    / n9 ^, p  `8 g& |此外,你已经有Python(需要与vim版本配对,vim的下载页面都有标识支持的python版本;同时python安装时要将其加入系统的path目录),安装 mdict-utilis 就很简单了,只要在windows cmd中输入如下命令,回车即可:" P: [  ~0 y2 G' b" t. {) T
    8 i* V* }; V- r) m) k
    pip install mdict-utils
    + p/ v, ]9 o% I' I- `* W; v; Q7 Z
    : a! z9 f0 v6 K; [/ b1 t4 I  ]( l4 r1 ^) X1 |
  • TA的每日心情
    奋斗
    2019-10-13 07:34
  • 签到天数: 209 天

    [LV.7]常住居民III

     楼主| 发表于 2020-8-13 10:49:30 | 显示全部楼层
    本帖最后由 VimVim 于 2020-8-13 12:50 编辑 ( o4 y9 }/ O7 R9 D
    wjl 发表于 2020-8-13 09:175 {4 l+ ?- M# @
    我执行脚本后,生成的MarsDict.css,火星词典.txt,内容都是空的,没有生成 火星词典.mdx 不知道怎么回事* q# `" _7 V* p5 n- |
    ...
    $ R2 w1 W- N& z% a/ N
    已更新程序和说明文档,现在按照你这种操作方法也可以了,更简单,而且不容易出错。. {( T9 c- |: C) u
    ) t3 v' G+ O, _8 M
    打开Vim,单击 “运行vim脚本” 按钮  或  输入命令 :bro so ,找到MdxSourceBuilder.vim,确定,结束。( v+ h1 S7 m0 @( q% _" A# Q2 y

      |1 C! q# a7 v1 D' `  d2 d$ ~- ]% D注:原来的操作方法(如GIF Demo所示)依然是可行的,熟悉Vim的用户会更喜欢,因为会自动寻址。
    ( \$ {5 W! t& I% U1 v& {; k' |- n3 R# ]) u1 P

    8 M3 p# r/ h9 j$ R' m9 n2 [7 F: `; m
  • TA的每日心情
    无聊
    2022-7-21 15:56
  • 签到天数: 216 天

    [LV.7]常住居民III

    发表于 2020-8-13 11:32:35 | 显示全部楼层
    VimVim 发表于 2020-8-13 10:49* r3 a0 }% x. Y- h9 L
    已更新程序和说明文档,现在按照你这种操作方法也可以了,更简单,而且不容易出错。
    4 v# E* p2 P1 B) o0 a- _/ T9 p6 y# C6 }: A& {
    打开Vim,单击 “运 ...

    1 F, N! t$ z) I4 X9 @- H+ o现在可以直接选择vim脚本来生成mdx,不用手工输入命令也可执行生成操作了
    : z5 v% C. o) r" S; qhttps://s1.ax1x.com/2020/08/13/azsapd.gif
    6 N  B- [+ X: Y+ P' D

    点评

    这个词典的奥妙你可能没发现:词典的最底下还有不一样的导航。  发表于 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 编辑
    ; n8 D- e/ L! w  r! _; Y
    VimVim 发表于 2020-8-12 23:20) Q: _, x0 W% z: t% |" {0 r
    不用管什么菜单,不影响使用这个工具。; r1 O8 q8 l+ H3 R

    . E; j  M! d5 V$ G/ J若仅仅是解决菜单乱码或者是根治中文乱码有关的常见问题,建议vimr ...
    2 Y. y3 d! Q. o
    进一步更新程序。解决Vim乱码以及满足常见的Vim用户需求。
    6 r5 j  G7 |) b; b6 U: `- u  C5 w- q; W% B! `' J+ K2 ?
    请将 _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" y/ W/ s# U& T" ^
    现在可以直接选择vim脚本来生成mdx,不用手工输入命令也可执行生成操作了
    ! t5 p7 f, l2 v2 Z2 Ohttps://s1.ax1x.com/2020/08/1 ...

    9 G* v6 `- |  C2 S能发一下您的python和Gvim安装文件么?我折腾半天就是生成不了mdx文件,不知是我的vim版本与python不匹配吗。不好意思,太菜了。谢谢。
    您需要登录后才可以回帖 登录 | 免费注册

    本版积分规则

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

    GMT+8, 2024-5-6 20:30 , Processed in 0.220595 second(s), 13 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2023, Tencent Cloud.

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