TA的每日心情 | 慵懒 2021-9-1 08:46 |
---|
签到天数: 61 天 [LV.6]常住居民II
|
本帖最后由 zhangchaont 于 2021-8-23 11:21 编辑 ' X/ \: S" ~3 [; }6 F! Y. ^
0 L) R. n9 ^; L' [& n5 [
用Anki学习已经成为了我的一个习惯,在不断学习的过程,需要不断的制作新的卡片。当然用Python批量制卡是一个很省力的方法,这个在论坛里面有好多介绍的了。但是有些是不能使用现有的批量制卡的方法的,没有办法只好手工来干。. u, H7 c0 [5 X# i' z7 @, h2 O
/ `9 t) a/ {* J0 m4 F' H3 e
不过,即使是手工,也可以使用一点办法来节约时间。下面我就以一个实例是演示一下,希望能够起到抛砖引玉的作用,大家共同探讨制卡的经验,共同提高。
" c; y1 P) i7 ?* I2 B( E+ I/ t5 n9 v: _# J- p' s, f
最近我在学习NHK的新闻听力,在微信上面订阅的。以其中一篇为例,我要把下面这链接里面的MP3下载下来,然后把文章中的中日文分开,分别填到对应的字段里面。! k& f8 ]$ R9 w8 `
新闻地址# x+ N7 c/ K6 X& {$ A6 Y
& U; P: T C3 P# g4 [. l首先是下载MP3,以我用的Chrome浏览器为例,在页面上点击右键→检查,在右边出来的窗口里面选择network,下面选择media,然后点击左边的播放按钮,就会得到MP3的链接,选中链接点击右键转到地址就会弹出页面然后就可以下载了,如果不明白就看下面的图。" ]! Q& |" g; `3 e) o: U4 l- L
3 D. H+ X1 t$ T- `/ E下载后得到一个就getvoice.mp3的文件。下面我要做的是做一个自动改文件名的功能,这个是在macOS上用自带的automation APP实现的。
7 k+ V7 k2 b; t4 x" B在自动操作里面新建一个文件夹操作。然后按下图安排一下流程。
# L, J0 {! _5 p; Y1 ^# `) F# n4 X/ }$ O* d: n& c5 R
稍微解释一下:
- J) N$ T$ E4 N( N1. 这个自动操作接受下载文件夹里面有变化的文件,并传给下一步。
) P" |8 `4 J2 e9 g9 j% [8 g( s' D& d4 X2. python从stdin里面得到文件名,判断如果是getvoice.mp3的话,就改成一个uuid的文件名。
}* v. }* \+ B" P3. 设置一个变量保存新文件名,然后输出的通知里面。; y. V. x# d2 D0 B/ o6 U
: T1 c3 E) U J2 c7 O3 R# c5 H
然后是把网页上面的文字复制下来,用Vim操作一下分成中文和日文并每行中间插入一个空行,然后分别复制到剪贴板里。' @- S) G Y& }6 R- G
下面我们一步一步的来操作:
/ d1 ]6 i7 T+ ]- w" b1. 删除掉空行
( Z* y) H* R# R- V, j1 I在Vim里面输入:v/./d: ]3 x; r$ b }5 W; O3 Q
6 @2 G2 P$ w0 S# z( ?. O: K2. 把中文和日文分开
. R4 n/ D. ?+ u2 m: D# `7 e: r9 C在Vim里面输入:g/./+m$5 r! k4 i) E+ n( R- s+ m% B/ {; l5 h
这个命令的意思是把每一行的下面一行移到最后。
, `3 [0 q: o6 R% |8 i! R+ E# Z! @% x, p5 z; \0 l3 s( G' i; k6 x# o5 H
3. 插入空行
& U1 f. m6 w# `3 |( c. L在Vim里面输入:%s/$/\r/g% S+ u/ T1 W+ C1 Q# n$ V/ }
把行尾$标记替换成换行\r
: }" I' V' M3 k f* s" q- l$ m' c; D Y( E1 J
4. 把前半的日文部分和后半的中文部分复制到剪贴板里
& C0 V& L3 v2 E3 D0 \8 [:let middle = line("$")/2
. `9 h8 b# n8 c: y5 X:execute "0," middle "y +"4 O) v. J N8 l2 L( r0 {: }7 w
:2sleep
/ c: ]- g' z! D6 z8 N:execute middle "$y +"
3 L* j" I! z! ]1 n8 r! c首先命名一个变量middle,存储中间行号,然后分两次将两个部分复制到系统剪贴板+里面。中间休息2秒,复制太快会导致复制不进去。
+ B1 B+ x W9 M. R2 `复制到剪贴板里面后,因为Alfred有记录剪贴板的功能,所以就可以很方便的在Anki里面复制进相应的字段了。& V( }7 Y# u% w0 y" I
最后可以把上面所有的这些命令做成一个.vim文件,然后指定给一个快捷键,就可以非常方便的执行了。
* M5 C$ ?3 G: J6 H; b9 R- v/./d
' p, F" D/ ~5 [, L1 ^$ K6 m% e - g/./+m$
9 ^, F+ @) w2 `. J0 C - %s/$/\r/g2 }7 K# {" a4 s& D5 ?+ ~
- let middle = line("$")/2 g# t- m- E) V, ?9 H
- execute "0," middle "y +"
, F+ |# C/ O9 q, j+ x% z# E) n - 2sleep
$ e. g/ a( d. x1 C6 K& a$ b% U - execute middle ",$y +"
复制代码 . L* W" Z W! Q' g2 [5 z( b% r& O( |
我将上述代码保存在~/.vim/nhk.vim- I1 S) y8 k8 }/ U K$ d5 o5 J
然后将以下内容添加到.vimrc文件里面。
1 V ]1 H4 u% Y0 ?) W( w' {+ C- nnoremap <leader>nhk :source ~/.vim/nhk.vim<cr>
复制代码
- K: j& L. }# [8 Z7 N; F我的leader键是",",所以以后只要把内容粘贴进来,按下,nhk就可以愉快的进行了。& `9 {7 |5 x5 B, s, F
1 }! u' R7 i6 n- N' f' U
这篇帖子里面涉及了一些Python的编程,以及macOS的automation自动化,Vim,除了Python以外不是太大众,但是如果熟练使用的话,可以大量的节约时间,值得你一试。 |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?免费注册
x
评分
-
2
查看全部评分
-
|