0%

anki之英语单词配置

Anki,一个学习辅助记忆工具中封神的存在。

1. 使用

1.1 安装

mac免费,ios168,淘宝可以1元购买。

1.2 anki connect 插件

https://github.com/FooSoft/anki-connect

注意插件只在client端有用,移动端无用。连接账号推荐使用anki connect, 使用anki web连接有可能会导致封号。

2. Anki配置

所有插件只能在桌面端使用,不能在移动端使用,并且插件是不会同步的。

2.0 安装插件

菜单栏-> 工具 -> 插件 -> 输入插件编码

2.1 必装插件

  • AnkiConnect

连接Anki,不装无法chrome快速制卡。
https://ankiweb.net/shared/info/2055492159

2.2 编辑字段插件

  • Advanced Browser

可以增加Anki浏览器,对隐藏字段排序。
https://ankiweb.net/shared/info/874215009

  • Fast Word Query

查询单词的各种含义。
https://ankiweb.net/shared/info/1807206748

  • Edit Field During Review

可以在预览的时候,编辑字段。
https://ankiweb.net/shared/info/1020366288

  • Google Translate

可以用字段进行谷歌翻译。
https://ankiweb.net/shared/info/1536291224

2.3 使用提升插件

  • Remaining time (for Anki 2.1)

显示背单词进度和状态。
https://ankiweb.net/shared/info/1508357010

  • Speed Focus Mode (auto-alert, auto-reveal, auto-fail)

自动帮你显示答案和不会。
https://ankiweb.net/shared/info/1046608507

2.4 夜间模式

新版本可以直接开启夜间模式,不再需要安装插件。不过夜间模式(nightMode)会把页面背景调成深色,若文本颜色仍为黑色(或是深色),读者会根本看不见、或是很难看清文本。

If you wanted a lighter grey background, you could use something like:

1
.card.nightMode { background-color: #555; }

If you have a ‘myclass’ style, the following would show the text in yellow when night mode is enabled:

1
.nightMode .myclass { color: yellow; }

2.5 自动播放特定音频

anki只能设置全局自动播放,和全局非自动播放,可以通过js设置。

  1. Create a new options group and uncheck “Automatically play audio”. You already did that.

  2. Put the field with the audio you want to autoplay between divs, spans, etc (see code below).

  3. Give an id or class to the div. You can call it whatever you want, but make sure that it matches the ones inside the querySelector. I called mine “autoplay”.

  4. Copy and paste the script below at the end of the section you want the audio to play (Back, in my case).

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <div  id="autoplay">{{de_audio}}</div>

    <script>

    var elem = document.querySelector("#autoplay .soundLink, #autoplay .replaybutton");
    if (elem) {
    elem.click();
    }

    </script>

3. FastWordQuery

3.0 导入词库

所有单词来源,我都会通过FastWordQuery进行查词填充字段,然后使用自己配合制作的FastWQ模板。

3.1 最终配置

image-20220117175502987 image-20220117175107545

3.2 测试OK配置

image-20220117175621839 image-20220117175656109

3.3 fastWQ模板

  • 正面模板

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    <div id="english" class="section">{{英语单词}}
    <span class="voice" id="">{{英音}} </span>
    <span class="voice" id="autoplay"> {{美音}} </span>

    <div class="phonetic">{{音标}}</div>
    <div id="star" class="extension"></div>

    <div id="" class="extension">{{edit:取词原句}}</div>

    <div id="vocab" class="section">explain:</div>
    <div id="ext_vocab1">
    <div class="extension">{{voc短}}</div>
    <div class="extension">{{voc长}}</div>
    </div>

    <div>
    <div id="kelin1" class="extension">example:</div>
    <div id="kelin" class="extension">{{柯林斯}}</div>
    </div>

    </div>

    <script>
    var str = document.getElementById("kelin").innerHTML;

    // 柯林斯星级加上
    var star = "";
    var index = str.indexOf("</h4>");
    if (index > 0) {
    star = str.substring(0, index);
    }
    document.getElementById("star").innerHTML=star;

    // 提取例句
    var output = "";
    var pattern = new RegExp("[\u4E00-\u9FA5]+");
    var arr=str.split("<p class=\"secondary\">");
    for (let i = 0; i < arr.length; ++i) {
    var line = arr[i]
    var index = line.indexOf("</p>");
    if (index > 0 && !pattern.test(line)) {
    var text = line.substring(0, index);
    output += text + "\n\n";
    }
    }
    document.getElementById("kelin").innerText=output;

    // 自动播放
    var elem = document.querySelector("#autoplay .soundLink, #autoplay .replaybutton");
    if (elem) { elem.click(); }

    </script>
  • 反面模板

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    {{FrontSide}}

    <br>
    <div>
    <div id="" class="section">中文意思</div>
    <div id="" class="extension">{{中文意思}}</div>
    </div>

    <br/>
    <div>
    <div id="" class="section">柯林斯</div>
    <div id="" class="extension">{{柯林斯}}</div>
    </div>

    <br>
    <div>
    <div id="" class="section">英语例句</div>
    <div id="e_sentence" class="extension">{{英语例句}}</div>
    </div>

    <br>
    <div>
    <div id="" class="section">英语例句带发音</div>
    <div id="e_sound" class="extension">{{英语例句带发音}}</div>
    </div>

    <br>
    <div>
    <div id="" class="section">近义词</div>
    <div id="" class="extension">{{近义词}}</div>
    </div>

    <br>
    <div>
    <div id="" class="section">相关词语</div>
    <div id="" class="extension">{{相关词语}}</div>
    </div>

    <br>
    <div>
    <div id="" class="section">图片集</div>
    <div id="" class="extension">{{图片集}}</div>
    </div>

    <script type="text/javascript">
    var initVoice = function () {
    var player = document.getElementById('dictVoice');
    document.addEventListener('click', function (e) {
    var target = e.target;
    if (target.hasAttribute('role') && target.getAttribute('role').indexOf('dict_audio_js') >= 0) {
    var url = target.getAttribute('data-rel');
    player.setAttribute('src', url);
    player.volume = 1;
    player.play();
    e.preventDefault();
    }
    }, false);
    };
    initVoice();

    var str = document.getElementById("e_sound").innerHTML;
    str = str.replace(/channel_title/g, 'e_sound1')
    document.getElementById("e_sound").innerHTML=str;
    //document.getElementById("e_sound").innerText=str;

    </script>

    <style>
    .e_sound1 {
    font-size: 10px;
    color: green;
    text-decoration: none;
    </style>
  • 样式

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    </style>

    <style>
    @import url('_collins_c.css');

    .card.nightMode { background-color: #555; }
    .nightMode .extension { color: #555; }


    #kelin1{
    font-size:20px;
    background:#69ac1d;
    }


    #vocab{
    font-size: 20px;
    background:#69ac1d;
    background-image: url('_vocab_logo1.png');
    background-repeat: no-repeat;
    background-size:contain;
    }

    #collins_1{
    font-size: 45px;
    background:#69ac1d;
    background-image: url('_collin_logo.png');
    background-repeat: no-repeat;
    background-size:contain;
    }


    .card {
    font-family: sans-serif;
    font-size: 16px;
    text-align: left;
    color:#686868;
    }

    .section {
    color: #444;
    border-bottom: 3px solid #666;
    background-color: #fff;
    margin-top:5px;
    padding: 10px;
    position: relative;
    text-align: left;
    }

    .extension {
    font-size: 16px;
    line-height: 1.4em;
    border-bottom: 1px solid #ddd;
    background-color: #f5f5f5;
    padding: 10px;
    display:block;
    }



    .word_header_star{
    font-size: 20px;
    font-family: 'SS Standard';
    color: #fdac00;
    position: absolute;
    left: 15px;
    top: 5px;
    }

    #english{
    font-size: 45px;
    line-height: 80%;
    padding-bottom:2px;
    }


    #chinese a {
    text-decoration: none;
    padding: 1px 6px 2px 5px;
    margin: 0 5px 0 0;
    font-size: 12px;
    color: white;
    font-weight: normal;
    border-radius: 4px
    }

    #chinese a.pos_n {
    background-color: #e3412f
    }

    #chinese a.pos_v {
    background-color: #539007
    }

    #chinese a.pos_a {
    background-color: #f8b002
    }

    #chinese a.pos_r {
    background-color: #684b9d
    }



    /* 缺省打开,把block改成none,缺省关闭*/
    #ext_vocab{
    display:block;
    }

    /* 缺省打开,把block改成none,缺省关闭*/
    #ext_collins{
    display:block;
    }

    .phonetic{
    font-size:18px;
    }

    .voice img{
    margin-left:5px;
    width: 24px;
    height: 24px;
    }

    </style>

    <script src='_jquery.js'></script>
    <script>
    $(document).ready(function(){
    $.each(["vocab","collins"],function(i,x){
    $("#"+x).click(function(){
    $("#ext_"+x).slideToggle();
    });
    $("#ext_"+x).click(function(){
    $("#ext_"+x).slideToggle();
    });
    });
    });
    </script>

    <style>

3.4 效果图

image-20220117182009001 image-20220117182042685

4. Anki 哲学

4.1 原则

  • 要拆解内容。
  • 要用自己的话描述。
  • 要把问题原子化。
  • 一张卡尽量只放一个点,多于一个知识点的卡片会严重干扰你的学习。

4.2 最低信息原则

一张卡尽量只放一个点,多于一个知识点的卡片会严重干扰你的学习。

有人可能争辩说最低信息原则导致卡片数量增多,记忆的负担增加,然而现实和你的预想完全相反,正是由于简化了卡片的复杂度,降低了卡片的理解难度,我们在复习卡片时只需花极短的时间。

而且随着时间的推移,熟悉程度的增加,大量卡片会逐渐退出记忆序列,因此加快了记忆效率。

4.3 拆分后使用标签

总量是一样的,拆分成几个小块逐个击破,任务更轻松;每个知识点的记忆情况可以交由Anki追踪,从而实现有重点的复习。

按知识点划分开来,有很多益处,但唯一的坏处是,这些知识本来关于某个主题,放在一起有联系;现在拆开了,随着一天天的复习,不会拆散吗?

经济的方法是使用标签,过滤牌组可以单独学习一个标签下的卡片,同时不会破坏原有的进程。

4.4 二八原则

投入与产出、努力与收获、原因与结果之间存在着一种不平衡的关系。往往是关键的少数决定着事件发展态势,该原则认为,80%的成果来自20%的努力。

普通的一本教辅资料里面大多充斥着废话套话,需要我们人为总结,筛选出那20%的高收益信息。

4.5 折腾

使用Anki的门槛确实比较高。在满足高效的情况下,有人在追求发音完美,有人在追求配色漂亮,有人追求批量制作,有人在追求高速同步,有人在囤积卡片,这些行为对学习的帮助有这么大吗?

在接触Anki的过程中渐渐偏离了当初的目标,开始研究起了工具,花费大量精力到学习如何用工具上,却忘了当初想借工具高效学习的目的。

5. 参考资料

给作者打赏,可以加首页微信,咨询作者相关问题!