TA的每日心情 | 慵懒 2021-9-1 08:46 |
---|
签到天数: 61 天 [LV.6]常住居民II
|
本帖最后由 zhangchaont 于 2021-8-23 11:21 编辑 ) V) A* ~$ J! o8 O
& i: K+ R; y9 f
用Anki学习已经成为了我的一个习惯,在不断学习的过程,需要不断的制作新的卡片。当然用Python批量制卡是一个很省力的方法,这个在论坛里面有好多介绍的了。但是有些是不能使用现有的批量制卡的方法的,没有办法只好手工来干。; I0 R7 G2 E" }$ [
- ?: k8 y: K9 t' P. F+ ]' v7 a% H
不过,即使是手工,也可以使用一点办法来节约时间。下面我就以一个实例是演示一下,希望能够起到抛砖引玉的作用,大家共同探讨制卡的经验,共同提高。
" t6 n& h% _' }) |$ ?2 p7 Y/ S
+ X+ [6 ?: d3 K5 r# i( d- t最近我在学习NHK的新闻听力,在微信上面订阅的。以其中一篇为例,我要把下面这链接里面的MP3下载下来,然后把文章中的中日文分开,分别填到对应的字段里面。" ] W5 F5 H9 ~8 h3 F" S, O
新闻地址9 N- n3 w& X6 I
" ~3 k2 g- V+ G( e! q; _首先是下载MP3,以我用的Chrome浏览器为例,在页面上点击右键→检查,在右边出来的窗口里面选择network,下面选择media,然后点击左边的播放按钮,就会得到MP3的链接,选中链接点击右键转到地址就会弹出页面然后就可以下载了,如果不明白就看下面的图。4 J$ H8 R4 X' D# o; G: ]
0 P8 L# ?& t5 \/ }8 U- F下载后得到一个就getvoice.mp3的文件。下面我要做的是做一个自动改文件名的功能,这个是在macOS上用自带的automation APP实现的。 ?* [+ J! y- T* n0 `! `
在自动操作里面新建一个文件夹操作。然后按下图安排一下流程。" Y! A! b5 |% q) b; C- P3 d- h" q C
) q/ ]' G1 f" ^( v- R
稍微解释一下:5 Q$ ^5 j$ q( A" c
1. 这个自动操作接受下载文件夹里面有变化的文件,并传给下一步。5 J# n) o; x$ t( E
2. python从stdin里面得到文件名,判断如果是getvoice.mp3的话,就改成一个uuid的文件名。
5 `/ S! \6 i6 v$ T& w3. 设置一个变量保存新文件名,然后输出的通知里面。
% S/ w: e$ _" g# C) q9 v: S/ `& ^' H4 N! p6 P
然后是把网页上面的文字复制下来,用Vim操作一下分成中文和日文并每行中间插入一个空行,然后分别复制到剪贴板里。
; h. A5 u8 f8 z& Z下面我们一步一步的来操作:( @( d4 R. u$ Y8 z; J2 T7 o; l i
1. 删除掉空行6 A& f' `2 S4 }$ ~3 W" z
在Vim里面输入:v/./d
% f0 K6 k* @/ k* T
( c! h( T) ]3 g: r5 [% d* F- V* f2. 把中文和日文分开1 W5 Z4 u1 }7 U, x U
在Vim里面输入:g/./+m$
: R9 ^8 I c$ h( m5 c: ^这个命令的意思是把每一行的下面一行移到最后。
$ O( B! ]. h; V5 o6 \9 X) N
/ P- l+ H D- Z7 Y H) r' f3. 插入空行- d7 S* D; J1 D0 _+ f/ E
在Vim里面输入:%s/$/\r/g. B! g6 f: X7 J+ W
把行尾$标记替换成换行\r. n2 j" e1 c' }1 n4 a
9 r# z: B. f8 G2 @/ F, o
4. 把前半的日文部分和后半的中文部分复制到剪贴板里
; V; ?6 X. p. E$ o1 P6 r:let middle = line("$")/2 E; P$ w0 o! P
:execute "0," middle "y +"6 B; N7 y* X1 s6 \# K
:2sleep
, `' L9 F$ w, m e3 L4 E7 R:execute middle "$y +", b0 G1 U; X7 J6 G3 I6 U
首先命名一个变量middle,存储中间行号,然后分两次将两个部分复制到系统剪贴板+里面。中间休息2秒,复制太快会导致复制不进去。
: K; ~. S. X4 \' H5 J. b复制到剪贴板里面后,因为Alfred有记录剪贴板的功能,所以就可以很方便的在Anki里面复制进相应的字段了。
) L, ` T" `- L. F* i+ g& E最后可以把上面所有的这些命令做成一个.vim文件,然后指定给一个快捷键,就可以非常方便的执行了。
" ]% ]0 G: H' |7 C# ^9 p7 ]/ x$ d: T- v/./d. o# q& y! x. U4 L; y) x C
- g/./+m$5 V0 c: q5 l6 `: |' q
- %s/$/\r/g
( x6 ~- l% ~! l" b - let middle = line("$")/2: B" H. V# C M7 w
- execute "0," middle "y +"
& ~# O4 |; z- ]- A) w - 2sleep
3 }& ~6 d% U w/ g0 y( N* x% Y - execute middle ",$y +"
复制代码
1 k4 ], ^, Q% F1 G6 x z* m* S* T我将上述代码保存在~/.vim/nhk.vim* U5 D5 X4 ^4 S2 z- h$ B
然后将以下内容添加到.vimrc文件里面。# K. A5 z4 k5 P$ c x
- nnoremap <leader>nhk :source ~/.vim/nhk.vim<cr>
复制代码
2 ?) v: t( J2 {( S7 |5 V {" g8 f我的leader键是",",所以以后只要把内容粘贴进来,按下,nhk就可以愉快的进行了。5 [' T2 C# i1 c* Z! m( V8 Y
d3 {) x+ J( d, ^' a这篇帖子里面涉及了一些Python的编程,以及macOS的automation自动化,Vim,除了Python以外不是太大众,但是如果熟练使用的话,可以大量的节约时间,值得你一试。 |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?免费注册
x
评分
-
2
查看全部评分
-
|