掌上百科 - PDAWIKI

 找回密码
 免费注册

QQ登录

只需一步,快速开始

查看: 5821|回复: 100

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

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

    [LV.7]常住居民III

    发表于 2020-8-12 16:46:52 | 显示全部楼层 |阅读模式
    本帖最后由 VimVim 于 2020-8-17 12:48 编辑
    9 {3 L( W/ w9 l0 y2 q$ z1 c6 C# v) h
    & s# V# D& ?) g8 n& _  F1 M1 \; T! y# 发布地址
    9 Y3 `6 l2 o% k. N, d/ X( B1 m
    ' G3 I- a6 ?2 Jhttps://github.com/VimWei/MdxSourceBuilder. d* ^& I5 u8 R

    4 y( A4 m& L& P一键制作图片词典:原始词条==> 标准化词条==> mdx源文件 ==> mdx词典文件( Q5 c. f' z( `+ B4 T, W! ^

      [" ^" O1 a! A" B* h# 动图演示
    9 f9 m7 D' k% x' S- t# w4 G* W. ]/ t$ d) Z5 g- @. \1 V8 W

    7 [( j% h) I/ ]9 V* F- n# ?, v3 \5 P0 L: q
    更多视频演示: https://www.bilibili.com/video/BV1Ki4y1g74X/
    ! L, C/ S: _- \9 W8 O; x
    7 p! S) p* p; n- i6 G. M# 缘起
    2 N& c) E# w6 }$ s4 Z) w
    + _+ _* i4 w5 v' A. C图片词典的制作规范与开源工具
    8 C- _/ A) r5 r% v% ihttps://www.pdawiki.com/forum/thread-40857-1-1.html: f- z' C2 X5 P. w6 S+ f. c

    : s. k# l8 k( D+ k- p/ \

    : y5 a0 V+ S& w+ n+ ~8 K# Q; O3 Q. ~
    5 l) J% j: L2 M8 g% K1 {8 p# F3 E; W) J2 y7 ~' [

    2 |( Z& p# H% R! e8 e- p# F& {; p8 W& c. {
    3 ?( q. o9 E/ ~% @4 u

    评分

    3

    查看全部评分

    本帖被以下淘专辑推荐:

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

    [LV.7]常住居民III

     楼主| 发表于 2020-8-12 17:12:25 | 显示全部楼层
    本帖最后由 VimVim 于 2020-8-14 11:29 编辑 2 n& j. A2 D9 y

    4 w5 s" Z2 B. v6 j7 f. \# MdxSourceBuilder
    + e5 ~; `- H! W# l  ]. d, u
    * d; f2 z' J  k' [: l一键制作图片词典:原始词条==> 标准化词条==> mdx源文件 ==> mdx词典文件2 E* Q: o) c0 y

    % d3 Z$ I$ ^+ P+ b
    : F7 t1 B7 E0 E8 B# [
    ## 背景
    ! |& F. h7 ?; `$ p5 T$ G8 f0 }
    2 l5 ]- L# G0 ]  }### 需求背景
    1 l' i# e, l- u- r0 a$ O! d0 e+ t2 G0 R0 m6 `% u: g! h
    时常遇到一些好资料,怎奈只有纸质版或扫描版之类,希望将这些资料转换为可以检索的mdx词典,既方便使用,也提高利用率。
    , Z' ]* G: E1 |/ M" S6 l1 _/ K
    & L, V2 K) Y0 o, c4 I1 x但是,常常在辛苦整理好词条(这是纯苦力活)之后,使用过往技术方案实现的成品却不够理想,不理想之处有两大方面:" P, g# d# h7 \6 N; E5 N4 {
    9 C# }( j; W! [' o
    * 导航不理想,极大降低了用户的使用体验
      {- {. ?3 G/ l3 _6 Q* 制作修订过程复杂,极大干扰了制作者的热情/ K6 @8 ?) R6 F4 m2 Z# n
    ! o- u/ X* d4 m9 C
    这完全可以通过工具来解决。8 N- m( x: b5 }% E  }( _

    % S! k" E$ d) Y6 x4 E9 o2 |: Z### 程序设计背景
    1 t. @# c# F) ]( Y; o' ?. p0 g! s: b, K( V5 D
    本来我只是提出痛点,希望有高人能出手解决,怎奈高人大都不屑于处理。$ X( N: c, W+ H7 Y& V6 K
    # J- l- M* A- f6 r9 f
    本非码农,可鉴于实在痛的厉害,只好自己用三脚猫功夫倒腾了人生第一个具有完整功能的程序。在此之前,从来没用过list、dict之类的,连这个github发布,都是现学现卖,还望高人不要耻笑,多提点才是。若有高人能够弄个更好的程序或是python版的或是GUI版的,那大家就有福了,我这纯粹抛砖引玉。
    & O3 A' O1 S' }2 m8 A+ |& I2 J: ]" A# w* e& t
    非码农的好处,或许是可以有更好的用户视角:既考虑词典终端用户的使用体验,也考虑普通的词典制作者的使用体验。虽不能解决所有问题,但至少已能解决我自己的大部分诉求,希望也能解决众多mdx词典用户的些许痛点。# L/ I4 e% U9 v6 {
    ' h9 l7 R2 z) L5 ~
    ## 解决方案
    ; R( k% o( u$ ]
    4 H9 S7 f: w% y4 x" r# ]1 F' Z基本思路: 1.原始词条==> 2.标准化词条==> 3.mdx源文件 ==> 4.mdx词典文件3 `) y  O& }  E$ }5 L9 X7 B
    ' U7 F+ ]& H- l" c
    1. 原始词条:鉴于资料的多样性,原始词条的获取方式也是多种多样,有OCR来的,有手工输入的,也有从其他人的资料转编译来的,也有是因为制作人的喜好或用的工具不同,导致原始词条的格式完全不同。这个特点造就了解决方案必须:(1)兼容多样性,将最常见的词条样式纳入进来;(2)开放性,用户可以根据需要自定义更多个性化的原始词条样式。
    , V3 T7 P* H: S; }9 \
    8 l- z# u$ f3 e- d; p    目前,本程序已经实现了对三种原始词条样式的兼容,用户也可以根据需要自定义添加。5 h8 u" S0 S- M, M' ?" v* t, w
    3 i$ D& @. H5 ?9 L+ a9 T
    2. 标准化词条:若能将多样化的原始词条转化为标准化的词条,那么后续就可以标准化处理了。因此如何定义标准化词条就变得很重要,它是实现后续程序的基础。
    0 N& |6 |* V) d2 D1 |9 p9 L3 m4 ~7 Q' \/ L
        目前,本程序已经提出了一个1.0版的最基本词条标准:一行页码,之后跟随多行关键词,每行一个关键词,如此往复。之所以说1.0版仅仅是最基本的标准,是因为这个标准还未能兼容如分栏、多层级词条等更复杂的情形,这些都有待后续有高人继续升级完善。
    + |' w, z& {5 W/ M. v4 w+ h$ r$ h' E$ l
    3. mdx源文件:这个txt文件与其他技术方案的最大区别是——包含了足够优良的页面导航、关键词导航以及用户自由定义的导航信息,极大提升用户对图片词典的使用体验。图片导航如何设计仁者见仁智者见智,因此,解决方案必须:(1)足够优良,不能太简陋,能用机器实现的定位,就不要浪费肉眼定位、繁琐操作定位等人类的精力;(2)兼容多样性,将最常见的导航样式纳入进来,比如封面附录等无需关键词导航、正文等需要关键词导航、拼音等则无需导航直接转链接到现有页面即可;(3)开放性,用户可以根据需要自定义CSS样式,或者添加更多个性化的导航样式。
    + f! _8 j. v, `, R7 L' ~
    4 N' \+ p0 m: g+ B    目前,本程序已经实现了三种导航样式,满足一本常见词典的基本需求,同时本程序会输出配套的精细CSS,方便用户个性化定制,此外用户也可以自由添加、改造导航样式。" u. Q8 y  s$ z( Z

    ; C3 ]5 E5 c3 H3 U0 g) y7 A4. mdx词典文件:这个步骤是可选项,但一步到位可以极大提升用户的体验,更重要的是使用这个工具可以实现跨平台制作mdx词典了,不必局限于Windows,Linux、Mac统统不在话下。当然要说明的是,这一环节用到了另一个开源工具, https://github.com/liuyug/mdict-utils ,功劳统统属于他!
    ! D' \# e  o8 i/ ~0 W" X3 U5 o5 f3 Q: }3 u, N
    ## 程序文件及安装
    1 @5 f* c+ e+ q' `0 _% p& O7 N! a$ L& A' u
    根本谈不上安装,因为整个程序就是3个Vim脚本文件而已,下载后,直接将这些脚本文件放在与词条文件同一个目录即可。
    $ G7 M' |/ Y# L) o4 u% E" b% c( F2 |0 W- ]1 y$ M: f3 s; ^
    * MdxSourceBuilder.vim  这是入口文件:上半部分是配置文件,需要用户定义词典参数;下半部分是主程序,通常无需理会0 \$ J. G2 ?/ g3 p4 G7 @7 d9 H
    * MdxSourceBuilderCore.vim  这是主程序调用的程序,仅当需要高级定制时修改,通常无需理会9 F2 [; V0 a( N
    * MdxSourceBuilderCSS.vim  这是CSS文件,样式文件可以在这里定义,通常无需理会
    / j4 Y1 C  y/ V: C" R
    & d; G- T& Y; \4 ~其他文件,都是附带的Readme、动图演示、参考资料、案例词典之类,可以忽略。
    ! d# [( _) Y! l! W$ Y. Z4 O, _0 s3 X4 j$ s5 w; D' @6 K3 G+ ~( q
    ## 体验案例“火星词典”
    0 {5 ^+ \; }& k, c) `( u& e( \, B1 z( d
    为展示程序的特点,特制作了“火星词典”,供观摩使用。
    6 V" p- y( r" F& ~8 P  Z; s8 B8 f/ J: T
    * 案例词条文件:以"火星词典"开头的所有.txt和.html文件,其中body.part1、body.part2、Pinyin三个文件展示了不同的词条格式7 w3 H/ O# v  V7 w0 R
    * 程序及词典配置文件:以"MdxSourceBuilder"开头的所有.vim文件,其中MdxSourceBuilder.vim已经包含了案例词典的配置信息
    * {4 h& W$ G" x$ b0 [( R! u' @
    4 p$ b9 U4 U1 @  X& ?+ k+ x+ L案例使用:打开Vim,输入命令 `:bro so`,找到MdxSourceBuilder.vim,打开,结束。
    3 ?& |6 s* `8 D; X9 e+ B
    $ q: m9 Y5 L! X! V1 n2 D: b* 你会看到,仅仅使用上述一个命令,就会输出3个成品文件:MarsDict.css,火星词典.txt,火星词典.mdx
    ( D- Z' d: X( c" H+ a% K- C* 你若没有复现上述效果,也别着急,可能是vim、python和mdict-utils没有安装配置好,继续往下看说明文件即可解决
    " w: a# {; o/ E- x6 d3 }* 之后你只要照猫画虎,即可制作自己的图片词典了
    7 R# V: g$ V8 x1 S( p
    ) N% f$ `+ X. j, I' |0 |## 使用说明: J& ?) J( g. x8 h+ `- l5 I
    8 k0 q. R$ W/ L9 b# `' K8 L( g
    ### 极简使用说明
      |" u0 u! E/ F8 O' j4 t: b* h
      M; q4 k9 e9 ^% A打开Vim,输入命令 `:bro so`,找到MdxSourceBuilder.vim,打开,结束。) [  w' k, \: Q# m* [$ l6 X
    # d1 B) n9 L$ a. V9 [+ f! p
    ### 概要使用说明
      q# _3 N% i- ?* T. @! K
    6 S" q3 I; N" z/ |1. 按格式要求准备好词条文件
    + a4 P( j5 A5 X' ^& ^3 s2 v2. 使用任意文本编辑器配置好 MdxSourceBuilder.vim 中的词典参数- j5 C  ~1 J+ e) v
    3. 打开Vim,输入命令 `:bro so`,找到MdxSourceBuilder.vim,打开,结束。8 U1 J2 j; q( D$ w/ O/ i
    ( r& I& b% N/ M$ k6 E
    ### 详细使用说明
    + v# Z4 H5 w8 a4 G$ c; _8 z6 ]
    1 E3 k- }8 I2 z2 D( y$ N/ {* C* 直接打开查阅 MdxSourceBuilder.vim,其中“使用方法”及“词典参数配置”两个部分自带详细使用说明。
    % o+ N3 l% D( e* 若想深度定制,把所有以"MdxSourceBuilder"开头的.vim文件看一遍就知道怎么处理了,即使不懂VimL语言,看注释也能猜个差不离。+ \  q$ ^' ^$ A" h) @

    4 U& ?: |8 m/ `  e& z0 A### Tips: 使用更便捷快速的命令
    & M; L( K) [2 a* X) l
    4 Q& y$ C3 Q7 }% v! s" d& F' J* 若觉得如下步骤还要寻找MdxSourceBuilder.vim,有些麻烦
    7 r- }+ B+ i+ N' P2 O  Q( v4 ?
    ; ]( y6 t' X) ~0 w打开Vim,输入命令 `:bro so`,找到MdxSourceBuilder.vim,打开,结束。
    $ `" P' A! q; A' p! [9 h0 a* ], s$ X
    * 那么建议使用如下更快的方法(自动寻址):
    8 Z/ }4 ~& }! A8 f- v5 W* E5 N& V* G1 R2 I5 z  f- [5 N
    用 Vim 打开 MdxSourceBuilder.vim,新建文档`:new`,输入命令`:so MdxSourceBuilder.vim`/ P4 `2 J" R! k, a# S$ y, z+ R' D

    3 H" H% s0 W# _2 o6 C4 l+ T甚至输入`:so mdx` 之后,按Tab键即可自动补全命令 `:so MdxSourceBuilder.vim`
    6 j  l, X% i3 r4 K' j7 T: c5 L2 S6 r' G6 i0 o9 [5 t2 Y
    这个新方法的逻辑,其实是利用Vim首次打开一个文件时,会将该文件所在目录设置为Vim当前工作目录。3 ~9 [* K" @% o
    5 u/ Z/ c, n3 B) X" K# o7 R
    也可以使用系统命令 `:cd` 来更换Vim的工作目录,如 `:cd d:\火星词典`- D  U. ~' W& _) F) @( e

    4 A) R  T" K% G+ o若您使用附带的`_vimrc`,还可以直接使用自定义的命令 `:CD` 将Vim的工作目录切换为当前文件所在目录。3 ]( k, ?% B5 {4 M7 w
    ( ?8 `5 \! g+ e2 s

    5 R  Y8 [( z5 @/ ^; G7 c2 u: J### 相关FAQ
    2 e6 f+ _! Y) k! p
    $ Q  r$ C8 ^# S0 A: g* o" F1. 关于Vim的使用:号称编辑器之神,要想完全掌握确实有难度,但本程序要用到的Vim知识则少的可怜,不必顾虑。
    " h* b; u- L  @; d
    3 m0 p5 f4 t& g& Z6 ~* Q: vim出现乱码
    ; J; v1 y6 e+ p/ i8 b7 C! Y& h* A: 请将`_vimrc`文件复制到`$HOME`目录下,Windows下即是`c:\Users\YourName\`2 A5 p' p% H: z7 E" }# y

    3 T$ P5 D; J+ G' c6 C# ]. O$ z) I     其中必备行是 set encoding=utf-8,其他可选,用于提升Vim使用体验
    - O# v( @% u* E6 n5 g9 p0 N; x% h  }& F+ x
    2. 关于mdict-utils的使用:除了打包,还有很多其他解包、读取等功能,大家可以尽情挖掘改造。
    # K" G! J) ~# o
    3 U( k. C2 Q1 {7 ~## 社区讨论与反馈9 s; H% J; z4 O: Z7 b

    7 C" O$ ?/ f  [* Github: https://github.com/VimWei/MdxSourceBuilder
    1 g8 H: s& `* y! j  C* 讨论社区: https://www.pdawiki.com/forum/thread-41287-1-1.html
    ; b5 U, @* X* Q- ]$ ^6 i/ C" \, V/ D  d- T$ ?. Y5 ~' }
    ## LICENSE2 s6 G: e& @1 t0 s: |6 m7 u
    3 o8 L  j4 i1 G8 d# h- k
    [GPLv3](https://www.gnu.org/licenses/gpl-3.0.en.html)
    9 v! R$ k+ f. s, K4 e' Z* [) ?) h0 C# W/ b8 U7 n# R) a4 k5 x
  • TA的每日心情
    无聊
    2022-7-21 15:56
  • 签到天数: 216 天

    [LV.7]常住居民III

    发表于 2020-8-13 18:22:09 | 显示全部楼层
    本帖最后由 wjl 于 2020-8-13 18:49 编辑 9 P4 S4 J. U; R6 n
    VimVim 发表于 2020-8-13 12:252 C1 S# n5 k! i( h! a7 C! y
    进一步更新程序。解决Vim乱码以及满足常见的Vim用户需求。
    7 m0 T. z& m5 m; g* r& A( u3 n; k! ?& p4 g- p/ t! H: k6 r" U
    请将 _vimrc 文件复制到 $HOME 目录下,Window ...
    : F- T* H" @) C& N" H' i5 d
    请问Vim能否实现以下更改呀?方便的话,能否帮忙写一下vim的更改实现方法,现在我只会逐行手动更改,没法实现全文件批量修改
    . f7 S* }' J$ b# `9 t查找含有<div class="HW_L_C" style="margin-top:(.*?)">的所有行,然后将同一行中的所有margin-top:44.43%中的数字减去<div class="HW_L_C" style="margin-top:后面的数字,保留两位小数' a8 p  d/ j  {* k$ v$ k

    " a; E, q8 ?% i4 e: K7 i4 Y<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>
    : [* F& x' m5 F2 ^1 H, q" k
    . J9 N8 c7 a# w4 v1 c* v( g
    - o1 A) O2 c& ^5 w$ t+ ~3 w" {

    点评

    不要在这个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" B0 g+ d% y. g: T7 r* i2 Q/ F: o7 O
    我是起哄的。:) 目测这个利器要火!工欲善其事,必先利其器!猜测K大是会加1000米还是10000米,以鼓励此类 ...
    4 g* L6 N" ^% X2 t% h
    感谢支持。/ G/ Q: E& o( U3 N, g  x; C. x9 M& G
    + x$ B8 }' k( U7 S* i: D: s8 P
    若能有这样的工具,我想目前的图片词典将发生极大的变化:4 V& E: H! u$ j- @7 N

    & c. y& `4 |5 D; i- L7 l1、新的图片词典制作将非常容易,基本人人皆可上手,而且生成的质量都还很不错,这些将促进新词典的产生。' c, N  L! a1 e
    2、对于已有的图片词典,非常容易转换为新标准下的导航,且实现个性化处理,这将极大提升词典的使用体验。
  • TA的每日心情
    开心
    2018-8-8 03:13
  • 签到天数: 1 天

    [LV.1]初来乍到

    发表于 2020-8-12 18:00:30 | 显示全部楼层
    VimVim 发表于 2020-8-12 17:33/ I( X, a4 L; H: m. D& |) J) }5 t
    感谢支持。
    + Y+ y4 Q. Q% N1 s4 B, F
    VimVim 兄,相當棒的工具,創意十足,漂亮
  • TA的每日心情
    奋斗
    2019-10-13 07:34
  • 签到天数: 209 天

    [LV.7]常住居民III

     楼主| 发表于 2020-8-12 18:52:06 | 显示全部楼层
    喬治兄 发表于 2020-8-12 18:00
    ! J# ^( g+ L3 e8 I# G* {& o+ ~VimVim 兄,相當棒的工具,創意十足,漂亮

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

    [LV.1]初来乍到

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

    5 [' G6 U$ W1 ^6 ^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 编辑
    4 z" c* H8 t% E5 G; o
    wjl 发表于 2020-8-12 19:30
    4 x8 ^# W* j3 ]3 W9 @" u多谢分享制作工具,不过Vim对于大多数人学习难度有点高吧。

    ' p3 W, x. S9 ^8 h( }所需要的所有Vim知识已经在动图演示的字幕中显示了,总结就是:/ g% ?5 Z" I5 d; l" H$ h$ S

    4 O& G/ R3 Q' h3 G5 ?& _:new0 v) m0 @; n9 J
    :so MdxSourceBuilder6 B/ V3 c2 A2 Y5 ^6 A

    ' w4 o' f8 K- {7 O随便找个识字的人都能照着这些字按顺序输入,不难吧。
    1 T! Y+ ~/ H7 ~1 K% U0 O0 N7 Q
    ' }" `. r2 s' F3 [5 z我要吃肉,是不需要学会打猎或养牛养羊甚至当个厨师,只要会拿起筷子或刀叉送到嘴里就好了。
    0 c9 J" c  X& J5 m& x1 G我要浏览个网页,是不需要学习计算机原理、HTTP协议或制作网站之类,只要会点击超链接就好了。7 |7 W3 w, [) ^5 c1 G8 E
    ! O& p% N' ^* i0 X. W0 d
    ( A6 s8 m( Y3 O' v
  • TA的每日心情
    擦汗
    2022-3-25 11:07
  • 签到天数: 66 天

    [LV.6]常住居民II

    发表于 2020-8-12 20:03:06 | 显示全部楼层
    RickVincent 发表于 2020-8-12 17:21+ G7 d9 M* |" A+ r  ^6 a' w
    我是起哄的。:) 目测这个利器要火!工欲善其事,必先利其器!猜测K大是会加1000米还是10000米,以鼓励此类 ...

    ) Z  G! D  h2 i$ uK大从来不会吝啬的,我觉得可以加十朵浮云,那个更给力
  • 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 编辑 ! f( W3 b0 J7 C" I' Y
    VimVim 发表于 2020-8-12 17:12
      Y# R. U9 M4 f3 V$ g  H: E! _. E# MdxSourceBuilder
    # y& o' L$ B& c9 I: x, R6 R9 x' |1 J' W% X# m, ]
    mdx图片词典制作工具:使用一个命令,实现从原始词条==> 标准化词条==> mdx源文件 ==> ...

    ( r2 h7 C8 u  W菜鸟一问:
      r7 @4 ]! X6 N8 e+ x用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 M0 J% K4 e# @' ~1 a
    Jiangxi 发表于 2020-8-12 21:27% z4 R5 t) P$ f* F% o- K6 E2 `
    菜鸟一问:" k% s1 b# r, s5 e5 L. _
    用Gvim打开MdxSourceBuilder.vim,显示乱码,是缺啥字体么?

    4 U* ]. T% f" R! `  d不是字体的问题。
    ) R1 E; e* u- a4 r8 Q3 Z1 D* A你找到vim安装目录下有个_vimrc文件,用任意文本编辑器打开,随便在哪加入一行(比如最顶部或最后一行):4 f" ^5 o7 W* k3 X7 q. V
    3 q/ I+ M0 k0 S8 T
    set encoding=utf-8
    1 i- {& H  q/ V
    # a. d( g& \8 |3 s& G' O5 `以后就不会有乱码问题了。
    & ?1 U8 q9 d- X$ _- Y

    点评

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

    [LV.7]常住居民III

     楼主| 发表于 2020-8-12 23:20:19 | 显示全部楼层
    本帖最后由 VimVim 于 2020-8-12 23:39 编辑 ! _: R# m' F* D) `5 X
    ; F' p* A! x# ]/ J! I/ G1 \( N% }
    不用管什么菜单,不影响使用这个工具。
    - b2 {: q* D4 K& K
    / ~, ~* j* [3 p- o3 L若仅仅是解决菜单乱码或者是根治中文乱码有关的常见问题,建议vimrc文件加入如下内容:
    ! }1 e# |0 d: E5 n5 p+ m% I8 G- ?, M
    1. " Basic Setting -----------------------------------------------------------{{{1
      8 X( {; U( z8 g- ~
    2. set nocompatible    "启用不兼容Vi模式
        L  b4 w3 H2 M9 N$ n9 F1 C  G
    3. syntax on
      4 y- ~' A" S* l! Y' {
    4. filetype plugin indent on   "文件类型自动识别,并使用相关插件和自动缩进
      ( z6 Y- Y$ T3 `/ {- R( V

    5. / @9 ]6 v$ o9 F5 O" b# P4 M
    6. " Encoding related --------------------------------------------------------{{{1
      * X2 P3 x. F2 L/ A- ~- w
    7. set encoding=utf-8  "Vim 内部工作编码
        X' |8 ~$ O; s2 V
    8. set fileencoding=utf-8  "设置此缓冲区所在文件的字符编码;新文件默认编码
      " G" {  Y$ Y( v" p) o- v
    9. " 打开文件时自动尝试下面顺序的编码
      $ @- X. {+ F) f' z' [) l
    10. set fileencodings=ucs-bom,utf-8,cp936,gb18030,big5,euc-jp,euc-kr,latin1( Y. D5 Y! u  ]7 T
    11. source $VIMRUNTIME/delmenu.vim
      3 J1 \" |) w$ c- B* W; j( I1 S2 N
    12. set langmenu=zh_CN.UTF-8    "指定菜单语言,若需要英文则none
      8 l% _7 ~1 i$ r) t
    13. source $VIMRUNTIME/menu.vim
      & l" v& X6 b4 K8 \! X
    14. " language message en_US.ISO_8859-1 "指定提示信息语言0 U- G0 e3 E. \- V6 @
    15. language message zh_CN.UTF-8    "指定提示信息语言! A: A% [* h' A8 A, b5 n5 C7 e
    16. set ambiwidth=double    "使用US-ASCII字符两倍的宽度显示宽度不明的字符
      . _7 F8 w9 H& K1 Q' L1 o0 a% L7 q
    17. set nobomb    "取消UTF的BOMB文件头) F: L: a5 m4 U7 x" d; c$ w
    18. set ffs=unix,dos,mac    " 文件换行符,默认使用 unix 换行符
      ) N/ S) B& e% i
    19. set cm=blowfish2    "设置新的加密算法
      ) |1 i: w9 u, r; A' Q9 A
    复制代码
    - j; m: n, f$ `/ s5 e) R

    % p3 c$ M+ w2 \+ S6 Z3 Q若要解决Vim的各种问题,并按照自己的心意来,那么就需要下功夫学会定制vimrc文档。不过使用Vim初期,可以简单的复制别人的vimrc文件直接使用,网络一搜一大堆。
    8 H1 B9 L$ E  {- V, }+ n
    ( b+ c) P- `  `5 ^8 y7 B. w
    ! D; J! W2 E! a6 E' A6 Q; e* [
    - }  ~# T  }5 g- m' B" 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 编辑 / Q! w5 `4 j, n% Y
    9 ]( \6 }9 R$ P) E$ q0 Q# D/ f
    我执行脚本后,生成的MarsDict.css,火星词典.txt,内容都是空的,没有生成 火星词典.mdx 不知道怎么回事0 E3 E4 A0 o1 ~  X
    操作方式是在gvim_8.2.1424_x64_signed中单击“运行vim脚本”按钮,选择MdxSourceBuilder.vim,图片链接无法访问吗?https://s1.ax1x.com/2020/08/13/azemGR.gif
    * [" {0 B* |: B/ C我电脑上安装了python,没有安装mdict-utils,这应该不影响生成 MarsDict.css,火星词典.txt  这两个文件吧  E% o9 t7 H) `& o  W
    ( {6 Q( S, X, G
    & j0 X1 S, @; {1 P: }/ v; x; B# Q+ x

    4 R0 r" F( |. ?( r. q/ x, V' o% t3 ?' d

    点评

    前面我理解错了,原来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 编辑 3 Y5 z' X  [2 M& ~
    wjl 发表于 2020-8-13 09:17' c0 ?; n+ x' z6 z& k& B3 s
    我执行脚本后,生成的MarsDict.css,火星词典.txt,内容都是空的,没有生成 火星词典.mdx 不知道怎么回事
    . a5 ~0 R7 a, I6 k7 c" X ...

    ; b6 O: p& Q' b( W看到视频了。
    2 g1 d. u' B5 a+ P8 ], Y% E) r' W2 n2 v9 [
    你的操作步骤很奇怪。输出的结果也不应该出现在vim的程序目录下,而是词典目录下。4 g+ v1 N$ p. d1 Z% o
    $ v  u$ R& ~, T
    估计你的vim“工作路径”错了。请严格按照步骤来。5 o+ a+ E. o- H( w2 F2 q' \
    5 s- k; n; }4 d6 H+ K; l# G' A
    1、关闭所有vim程序。
    " B- ]  T/ u) k3 p+ j& s2、右键MdxSourceBuilder.vim,使用vim打开(必须这样,才能保证vim的工作路径就是当前的词典目录,而非vim程序目录)! K9 l9 D) a" p# W2 S4 b
    3、使用 :new 新建文档2 R, ?6 N4 b4 ~& z( P, L
    4、执行 :so MdxSourceBuilder.vim; ]0 V; v, N0 U2 v
    6 U9 F$ R6 t3 ]8 v. |
    或者你如果会更改vim的工作路径,那么第二步想怎么打开就怎么打开:
      X* Z- ^0 L+ {4 m: w8 M; |& @1、输入命令 :pwd   可以看到当前的vim工作路径5 ~' X- f& u, s
    2、输入命令 :cd..  将工作目录变更为上层目录 或  :cd c:\test 将工作路径变更为test目录,如此类推。命令:cd 后加上词典目录即可将vim的工作目录变更到词典所在目录,与dos 或 windows的cmd的cd命令一样。( D# E9 ~1 X: h: q# j
  • TA的每日心情
    奋斗
    2019-10-13 07:34
  • 签到天数: 209 天

    [LV.7]常住居民III

     楼主| 发表于 2020-8-13 09:59:26 | 显示全部楼层
    VimVim 发表于 2020-8-13 09:41
    " I; Q& b/ E( |8 r0 x% a看到视频了。
    3 a; [. j9 W, r0 }1 E& J* \! W
    % m! F" F3 |& J你的操作步骤很奇怪。输出的结果也不应该出现在vim的程序目录下,而是词典目录下。

    ( b, w; r+ P$ E/ O1 |如果你希望你这样的操作也可以,更改MdxSourceBuilder.vim,添加如下最后两行(确保位置如下所示):; u" V2 d; h4 r0 j
    " ======================================================/ u( C2 S- u2 J. v' x1 X
    " 以下为程序正文,不熟悉Vim的用户请勿动- b& O  d* c: D  K5 `7 z/ l$ N
    " ======================================================
      x9 _: r- g' |+ y( o"& l9 E7 W' b8 [# M' d& s
    "( b" W( T5 N9 _9 Y* U
    " 取得本文件所在的目录,并设置为当前工作目录& N" h& y# K5 f/ R
    let s:home = fnamemodify(resolve(expand('<sfile>:p')), ':h')
    " {: r! f. ^1 A, A' f$ aexecute 'cd ' . s:home7 U$ i+ u0 M. |: g* _! T
  • TA的每日心情
    无聊
    2022-7-21 15:56
  • 签到天数: 216 天

    [LV.7]常住居民III

    发表于 2020-8-13 10:01:12 | 显示全部楼层
    VimVim 发表于 2020-8-13 09:41' {9 e, m9 n, r5 Y! X7 l/ O2 h
    看到视频了。
    2 N. A6 h9 u4 \$ S
    1 a+ _) L* Z  u; b$ j% p0 X  B你的操作步骤很奇怪。输出的结果也不应该出现在vim的程序目录下,而是词典目录下。

    + \. u' ]" h# A5 g: J- h多谢,严格按照你给出的步骤,现在可以正常生成 MarsDict.css,火星词典.txt 了
    6 W9 l* s9 I  n. q/ \: x" {; C! [0 s
    https://s1.ax1x.com/2020/08/13/azMjaT.gif$ h! |7 g4 i  E9 Z
    " i  b4 r* D  w. e

    6 X. I3 `0 y! N0 o' y. _$ w* {2 A) ^/ y
  • TA的每日心情
    奋斗
    2019-10-13 07:34
  • 签到天数: 209 天

    [LV.7]常住居民III

     楼主| 发表于 2020-8-13 10:07:47 | 显示全部楼层
    本帖最后由 VimVim 于 2020-8-13 10:18 编辑 ( W) L" Z# T1 U+ v0 u8 a* B
    wjl 发表于 2020-8-13 10:01% N! ^; K9 `9 y, @* x3 C
    多谢,严格按照你给出的步骤,现在可以正常生成 MarsDict.css,火星词典.txt 了9 W$ e3 H1 n* e: {; F

    8 }* @' R7 c3 G9 n$ l; ]  |1 `; g) Chttps://s1.ax1x.com/20 ...
    % p+ r" ]; O  f" w. P, B
    我一会更新一下程序(就是上贴所说),让其兼容各种操作。而且,以后不必打开MdxSourceBuilder.vim文件(我原来的设想是通过这个步骤自动设置工作目录,没想到你们却是另一种操作,以致失效),即可使用。, J2 x/ ~9 [+ g5 |
    . A& q0 p1 Y$ ]3 o
    此外,你已经有Python(需要与vim版本配对,vim的下载页面都有标识支持的python版本;同时python安装时要将其加入系统的path目录),安装 mdict-utilis 就很简单了,只要在windows cmd中输入如下命令,回车即可:
    " M, W4 C! C- |) y' q5 }
    * F& d* ^# y% s" \( n( c' @pip install mdict-utils
    / C& u" D: U- |% @- t6 |/ ^3 C; e' C9 |" r
    ' L0 Y# W( C" V
  • TA的每日心情
    奋斗
    2019-10-13 07:34
  • 签到天数: 209 天

    [LV.7]常住居民III

     楼主| 发表于 2020-8-13 10:49:30 | 显示全部楼层
    本帖最后由 VimVim 于 2020-8-13 12:50 编辑
    ' E4 [6 M4 L* i; b, d* `; g
    wjl 发表于 2020-8-13 09:17
    6 S# y; i' o0 Y/ m  Z$ k我执行脚本后,生成的MarsDict.css,火星词典.txt,内容都是空的,没有生成 火星词典.mdx 不知道怎么回事6 B+ |7 B+ Q7 H/ \/ t/ y
    ...
    * n! ?% p: S' L3 L6 {
    已更新程序和说明文档,现在按照你这种操作方法也可以了,更简单,而且不容易出错。; `) x: c  r' Q1 `6 ]1 O

    # K- J' a# K! j0 b打开Vim,单击 “运行vim脚本” 按钮  或  输入命令 :bro so ,找到MdxSourceBuilder.vim,确定,结束。8 |2 a6 j, E# V# Q9 |4 @
    6 [5 I7 a1 X. n7 n  b$ @
    注:原来的操作方法(如GIF Demo所示)依然是可行的,熟悉Vim的用户会更喜欢,因为会自动寻址。
    & _% D/ c3 T! G$ o4 p
    8 X' |# E* ^  d
    : ^, y5 a9 E0 q, S, n3 @
  • TA的每日心情
    无聊
    2022-7-21 15:56
  • 签到天数: 216 天

    [LV.7]常住居民III

    发表于 2020-8-13 11:32:35 | 显示全部楼层
    VimVim 发表于 2020-8-13 10:497 _% f- f( {& a" g0 _* x
    已更新程序和说明文档,现在按照你这种操作方法也可以了,更简单,而且不容易出错。; v. H! ^" a% C) j
    ) a3 k1 N0 E8 A% q6 Z5 Q
    打开Vim,单击 “运 ...

    " q1 S" |6 ]1 y' Z现在可以直接选择vim脚本来生成mdx,不用手工输入命令也可执行生成操作了' [$ ^& q* j- B1 D! r( z( p5 p8 ], E3 S
    https://s1.ax1x.com/2020/08/13/azsapd.gif! a: c! t/ t. J" U6 O3 p

    点评

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

    [LV.7]常住居民III

     楼主| 发表于 2020-8-13 12:25:34 | 显示全部楼层
    本帖最后由 VimVim 于 2020-8-13 17:13 编辑
    6 H3 \- F1 x; G7 r2 r
    VimVim 发表于 2020-8-12 23:204 B# j3 Q; q' w8 a0 b  O
    不用管什么菜单,不影响使用这个工具。
    ( u! ?9 _2 z! T+ W& i( P& x! h3 c0 Y
    若仅仅是解决菜单乱码或者是根治中文乱码有关的常见问题,建议vimr ...
    ! B; h7 _$ z) C/ d1 F: ^  n" L7 [; R
    进一步更新程序。解决Vim乱码以及满足常见的Vim用户需求。
    * G& V: e) I+ _6 N- q: c) H, y1 v& n( @
    请将 _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, u7 D/ \" {9 n4 x7 x# U( ~
    现在可以直接选择vim脚本来生成mdx,不用手工输入命令也可执行生成操作了/ o: ]7 Q0 ^/ U) ?1 m
    https://s1.ax1x.com/2020/08/1 ...

    + m$ e6 B  ^: O7 J+ u能发一下您的python和Gvim安装文件么?我折腾半天就是生成不了mdx文件,不知是我的vim版本与python不匹配吗。不好意思,太菜了。谢谢。
    您需要登录后才可以回帖 登录 | 免费注册

    本版积分规则

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

    GMT+8, 2024-5-5 05:56 , Processed in 0.085125 second(s), 20 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2023, Tencent Cloud.

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