TA的每日心情 | 慵懒 2021-9-1 08:46 |
---|
签到天数: 61 天 [LV.6]常住居民II
|
本帖最后由 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- v/./d
4 A" K; r6 a" y1 T2 }1 u+ s+ c - g/./+m$
3 h) d* ]# c. Y; \4 o; K; Q - %s/$/\r/g( V8 O* i3 V$ E# ^/ s
- let middle = line("$")/28 m0 z% E, l e- d* T7 M- v
- execute "0," middle "y +"
( b3 ` T' f1 o. A3 A - 2sleep1 o! F2 z9 t8 ?4 F7 f3 M
- 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- 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
查看全部评分
-
|