掌上百科 - PDAWIKI

 找回密码
 免费注册

QQ登录

只需一步,快速开始

查看: 1547|回复: 1

[经验交流] 手工制卡一些提高效率的方法分享 (Mac)

  [复制链接]
  • TA的每日心情
    慵懒
    2021-9-1 08:46
  • 签到天数: 61 天

    [LV.6]常住居民II

    发表于 2021-8-23 11:11:00 | 显示全部楼层 |阅读模式
    本帖最后由 zhangchaont 于 2021-8-23 11:21 编辑   \$ s: W# `5 b4 @* i
    7 i2 ^  d2 N. J% t4 {2 _& e
    用Anki学习已经成为了我的一个习惯,在不断学习的过程,需要不断的制作新的卡片。当然用Python批量制卡是一个很省力的方法,这个在论坛里面有好多介绍的了。但是有些是不能使用现有的批量制卡的方法的,没有办法只好手工来干。
      w  t3 ~+ }. ~- T+ Q8 }, W, M4 \. s9 o3 E* d# b
    不过,即使是手工,也可以使用一点办法来节约时间。下面我就以一个实例是演示一下,希望能够起到抛砖引玉的作用,大家共同探讨制卡的经验,共同提高。3 b& q4 y" z! G1 k

    - R' a0 a7 o* X4 {; t最近我在学习NHK的新闻听力,在微信上面订阅的。以其中一篇为例,我要把下面这链接里面的MP3下载下来,然后把文章中的中日文分开,分别填到对应的字段里面。& a, G6 u' g" C+ O0 `$ M  |
    新闻地址
    ! U( a, o3 S% y3 M* ^4 d, G0 `0 c7 h, \* q9 B, {. L- r
    首先是下载MP3,以我用的Chrome浏览器为例,在页面上点击右键→检查,在右边出来的窗口里面选择network,下面选择media,然后点击左边的播放按钮,就会得到MP3的链接,选中链接点击右键转到地址就会弹出页面然后就可以下载了,如果不明白就看下面的图。
    1 O" v- i/ k" i3 |/ N8 K/ f) K% I7 X1 N( D& y1 `: ~
    下载后得到一个就getvoice.mp3的文件。下面我要做的是做一个自动改文件名的功能,这个是在macOS上用自带的automation APP实现的。' h6 S- e5 \5 {* q
    在自动操作里面新建一个文件夹操作。然后按下图安排一下流程。- ^5 |- t% S$ E% W# W2 H9 N9 U* ?
    6 G6 R# O; a1 _& c# j5 U
    稍微解释一下:
    # c( v4 u7 M- \1 c7 j" Y: m/ B1. 这个自动操作接受下载文件夹里面有变化的文件,并传给下一步。
      F, l2 L, K8 `3 \4 U$ ^. O7 t2. python从stdin里面得到文件名,判断如果是getvoice.mp3的话,就改成一个uuid的文件名。/ ^: l6 L% J$ k
    3. 设置一个变量保存新文件名,然后输出的通知里面。
    2 k6 I; E; S, f
    0 _9 q3 i& k) [6 a然后是把网页上面的文字复制下来,用Vim操作一下分成中文和日文并每行中间插入一个空行,然后分别复制到剪贴板里。
    : S, R8 J' a) U. g下面我们一步一步的来操作:
    $ S% k( E5 c7 {- W1. 删除掉空行
    - b4 g/ C8 o- o在Vim里面输入:v/./d8 h& y( V4 U5 {0 I1 G

    8 T% e& r1 f  G1 f  J2. 把中文和日文分开
    ' g# x8 e4 R( f: U' E* ?$ l$ r( r6 z在Vim里面输入:g/./+m$/ W! P7 B% R( d3 M0 R+ K- v
    这个命令的意思是把每一行的下面一行移到最后。  J7 w) J, w: F- k' j

    4 f* U0 b# `6 H/ S7 O: Y# m3. 插入空行, m7 m% y2 O+ c0 z9 Z! l  ]) r
    在Vim里面输入:%s/$/\r/g; B2 |6 U  \; O  i8 k$ m0 h
    把行尾$标记替换成换行\r. ^3 I% r& G/ Y; {

    % P. D; b6 t; r) }5 L+ J4. 把前半的日文部分和后半的中文部分复制到剪贴板里) X- j, l1 x5 a0 T/ A
    :let middle = line("$")/29 t( y6 [9 J1 A- X9 @- E+ J
    :execute "0," middle "y +"- G; a; u3 d" T
    :2sleep
    4 `; J5 w7 l8 f) q, j+ |6 M6 b:execute middle "$y +"
    ! c, m. g. d/ N! p首先命名一个变量middle,存储中间行号,然后分两次将两个部分复制到系统剪贴板+里面。中间休息2秒,复制太快会导致复制不进去。- F4 M4 r( l3 r- Z) A
    复制到剪贴板里面后,因为Alfred有记录剪贴板的功能,所以就可以很方便的在Anki里面复制进相应的字段了。
    . n9 E$ f0 Y  w, E最后可以把上面所有的这些命令做成一个.vim文件,然后指定给一个快捷键,就可以非常方便的执行了。
    : Z5 E) e8 j9 b6 Z8 O' K( t
    1. v/./d
      4 A" K; r6 a" y1 T2 }1 u+ s+ c
    2. g/./+m$
      3 h) d* ]# c. Y; \4 o; K; Q
    3. %s/$/\r/g( V8 O* i3 V$ E# ^/ s
    4. let middle = line("$")/28 m0 z% E, l  e- d* T7 M- v
    5. execute "0," middle "y +"
      ( b3 `  T' f1 o. A3 A
    6. 2sleep1 o! F2 z9 t8 ?4 F7 f3 M
    7. execute middle ",$y +"
    复制代码

    % W7 Y$ |; {- R% y# e& O我将上述代码保存在~/.vim/nhk.vim4 g9 p- F2 ~7 @/ B5 B- A
    然后将以下内容添加到.vimrc文件里面。
    : r8 i# F+ r' z8 e
    1. nnoremap <leader>nhk :source ~/.vim/nhk.vim<cr>
    复制代码

    + q5 C9 x; j9 m& Y8 H我的leader键是",",所以以后只要把内容粘贴进来,按下,nhk就可以愉快的进行了。' c4 a" a- P3 O: A8 P9 V

    0 c- h5 P$ p3 R( O5 i% {* ^  X这篇帖子里面涉及了一些Python的编程,以及macOS的automation自动化,Vim,除了Python以外不是太大众,但是如果熟练使用的话,可以大量的节约时间,值得你一试。

    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有账号?免费注册

    x

    评分

    2

    查看全部评分

    该用户从未签到

    发表于 2022-8-16 13:36:16 | 显示全部楼层
    看不懂,但是很震撼
    您需要登录后才可以回帖 登录 | 免费注册

    本版积分规则

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

    GMT+8, 2025-7-2 10:11 , Processed in 0.022833 second(s), 27 queries .

    Powered by Discuz! X3.4

    © 2001-2023 Discuz! Team.

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