M-xcustomize-variables RET org-modules
) and make sure 'drill' isticked. Org-drill will then be loaded when you restart Emacs or restartOrg-mode..emacs
. You will also needto make sure that Org's 'contrib/lisp' directory is in the emacs load-path.M-x
and run the function org-drill
. Followthe prompts at the bottom of the screen.spanish.org
to get some idea of howdrill topics are written.org-drill-question-tag
. This is :drill:
by default. Any other org topicswill be ignored.DRILL_CARD_TYPE
. Thisproperty tells org-drill
which function to use to present the topic duringreview. If this property has the value twosided
then the topic is treated asa 'two sided card'. When a two sided card is reviewed, one of the first twosubheadings within the topic will be visible – all othersubheadings will be hidden.multisided
card type is similar to twosided
, except that anysubheading has a chance of being presented during the topic review. Onesubheading is always shown and all others are always hidden.hide1cloze
– one of the marked areas is hidden during review; the othersall remain visible. The hidden text area is chosen randomly at each review.(Note: this type used to be called 'multicloze', and that card type isretained as a synonym for 'hide1cloze'.)show1cloze
– only one of the marked areas is visible during review; allthe others are hidden. The hidden text area is chosen randomly at eachreview.hide2cloze
– like hide1cloze, but 2 marked pieces of text will be hidden,and the rest will be visible.show2cloze
– like show1cloze, but 2 marked pieces of text will be visible,the rest are hidden.hide1_firstmore
– only one of the marked pieces of text will behidden. 75% of the time (guaranteed), the first piece is hidden; the restof the time, one of the other pieces is randomly hidden.show1_firstless
– only one of the marked pieces of text will bevisible. Only 25% of the time (guaranteed) will the first piece will bevisible; the rest of the time, one of the other pieces is randomly visible.show1_lastmore
– only one of the marked pieces of text will bevisible. 75% of the time (guaranteed), the last piece will be visible;the rest of the time, one of the other pieces is randomly visible.org-drill-card-type-alist
, and cards using that topic type will need to haveit as the value of their DRILL_CARD_TYPE
property. For examples, see thefunctions at the end of org-drill.el – these include:org-drill-present-verb-conjugation
, which implements the 'conjugate'card type. This asks the user to conjugate a verb in a particular tense. Itdemonstrates how the appearance of an entry can be completely altered duringa drill session, both during testing and during the display of the answer.org-drill-present-translate-number
, which uses a third-party emacs lisplibrary (spell-number.el) to prompt the user to translate random numbersto and from any language recognised by that library.org-drill-present-spanish-verb
, which defines the new topic typespanish_verb
. This illustrates how a function can control which of anitem's subheadings are visible during the drill session.M-x org-drill
. By default, this includes allnon-hidden topics in the current buffer. org-drill
takes an optionalargument, SCOPE, which allows it to take drill items from othersources. See below for details.org-learn
):Quality | SuperMemo label | Fail? | Meaning |
---|---|---|---|
0 | NULL | Yes | Wrong, and the answer is unfamiliar when you see it. |
1 | BAD | Yes | Wrong answer. |
2 | FAIL | Yes | Almost, but not quite correct. |
3 | PASS | No | Correct answer, but with much effort. |
4 | GOOD | No | Correct answer, with a little thought. |
5 | BRIGHT | No | Correct answer, effortless. |
org-drill-resume
. This will return you to the itemthat you were viewing when you left the session. For example, if you are shownan item and realise that it is poorly formulated, or contains an error, you canpress 'e' to leave the drill, then correct the item, then pressM-x org-drill-resume
and continue where you left off.org-drill-again
to run a newdrill session that draws from the pool of remaining due items that were nottested during the previous session, without re-scanning the item collection.org-drill-resume
and you have actually finished thedrill session, you will be asked whether you want to start another drillsession without re-scanning (as if you had run org-drill-again
).org-drill-cram
command (M-xorg-drill-cram RET
). This works the same as a normal drill session, exceptthat all items are considered due for review unless you reviewed them withinthe last 12 hours (you can change the number of hours by customising thevariable org-drill-cram-hours
).org-drill-leech-failure-threshold
(15 bydefault). When you fail to remember an item more than this many times, the itemwill be given the :leech:
tag.org-drill-leech-method
to one of thefollowing values:leech
tag, but otherwise treated thesame as normal items.M-x customize-group org-drill <RET>
. Alternatively you can change thesesettings by adding elisp code to your configuration file (.emacs
).org-drill-scope
. Possible values are:M-x org-drill-tree
to run the drill session – this willbehave the same as org-drill
if 'tree' was used as the value ofSCOPE.)SM2
algorithm, put the following in your.emacs
:org-drill-add-random-noise-to-intervals-p
to true by putting the following inyour .emacs
:learn fraction
is a global value which affects how quickly the intervals(times between each retest of an item) increase with successive repetitions,for all items. The default value is 0.5, and this is the value used inSuperMemo. For some collections of information, you may find that you arereviewing items too often (they are too easy and the workload is too high), ortoo seldom (you are failing them too often). In these situations, it ispossible to alter the learn fraction from its default in order to increase ordecrease the frequency of repetition of items over time. Increasing the valuewill make the time intervals grow faster, and lowering it will make them growmore slowly. The table below shows the growth in intervals (in days) with somedifferent values of the learn fraction (F). The table assumes that the item issuccessfully recalled each time, with an average quality of just under 4.Repetition | F=0.3 | F=0.4 | F=0.5 | F=0.6 | F=0.7 |
---|---|---|---|---|---|
1st | 2 | 2 | 2 | 2 | 2 |
2nd | 7 | 7 | 7 | 7 | 7 |
5th | 26 | 34 | 46 | 63 | 85 |
10th | 85 | 152 | 316 | 743 | 1942 |
15th | 233 | 501 | 1426 | 5471 | 27868 |
org-drill-scope
to 'directory'. SeeNo description for this link above for instructions about how to do this.org-drill-strip-all-data
- this command deletes all user-specificscheduling data from every item in the current collection. (It takes thesame optional 'scope' argument as org-drill
to define which items willbe processed by the command). User-specific data includes scheduling dates,ease factors, number of failures and repetitions, and so on. All items arereset to 'new' status. This command is useful if you want to share youritem collection with someone else.org-drill-merge-buffers
- When called from buffer A, it prompts you foranother buffer (B), which must also be loaded into Emacs. This commandimports all the user-specific scheduling data from buffer B into buffer A,and deletes any such information in A. Matching items are identified bytheir ID. Any items in B that do not exist in A are copied to A, inthe same hierarchical location if all the parent headings exist, otherwiseat the end of the buffer..org
file) madepublically available by Jane. (Before publishing it Jane used'org-drill-strip-all-data' to remove her personal scheduling data from thecollection.) A few weeks later, Jane updates her collection, adding new itemsand revising some old ones. Tim downloads the new collection and imports hisprogress from his copy of the old collection, using 'org-drill-merge-buffers',using the new collection as buffer A and the old one as buffer B. He can thendiscard the old copy. Any items HE added to HIS copy of the old collection(buffer B) will not be lost – they will be appended to his copy of the newcollection.org-drill-merge-buffers
on it, always using your own collection asbuffer B so that your own scheduling progress is carried over. Other times yousend your friend a copy of your collection, and he or she follows the sameprocedure.org-capture
templates forcaptured facts.org-protocol
, you can set up buttons in your webbrowser to:org-protocol
, which isconfigured to activate the capture template 'w: Capture web snippet'. Theselected text will be sent to Emacs, turned into a new fact using the template,and filed away for your later attention.