Ich möchte das capture
Modul von org-mode
verwenden, um eine Datenbank von neuen Wörtern zu erstellen, die ich lernen möchte, und dann verwenden Sie das drill
-Modul, um sie zu lernen (Flash-Karten-Stil) .Kombinieren Org-Modus Capture-und Drill-Module, um das Vokabular zu lernen
In meinem org-capture-templates
Ich habe folgendes:
("v" "Vocabulary" entry
(file+headline (concat org-directory "/vocab.org")
"Vocabulary")
"* Word :drill:\n%^ \n** Answer \n%^")
Dies ist eine ziemlich naive Vorlage, die ich from here entlehnt. Es funktioniert gut, aber es ist zu begrenzt. Leider bin ich ziemlich neu zu elisp
und ich weiß nicht, wie man es verbessert.
Ich denke, die oben Vorlage in den folgenden es Aspekten verbessert werden muss:
Überschrift Derzeit ist die erste Eingabezeichenfolge ist das (neu) Wort und die Überschrift festgelegt ist. Wie kann die Überschrift das gleiche (Eingabe-) Wort sein? Ich denke, dass das folgende Ergebnis ist wünschenswert:
* Vocabulary
** Foo :drill:
Foo
*** Answer
What is foo
Eigentlich eine noch bessere Möglichkeit 3 Eingabezeichenfolgen zu haben wäre.
- Das neue Wort (zum Beispiel
foo
), die die Überschrift sein. - Wenn die zweite leer ist, dann erhält sie die gleiche Zeichenfolge wie (1). Andernfalls verknüpft sie die Zeichenfolge mit der von (1). Z.B. als zweite Eingabe
bar
würdefoo bar
ergeben. Dies wird der Inhalt des Eintrags sein. - Die Definition des Wortes, die in die
answer
Unterüberschrift kommen sollte.
Vervielfältigungen (siehe wieder this) Wenn zu einem späteren Zeitpunkt versuche ich foo
wieder zu erfassen, würde ich es wissen möchte, und den bereits vorhandenen Eintrag bearbeiten gerichtet werden - alle Eingänge zu überspringen.
Sortierung Nach dem Capturen denke ich, es wäre nett, die Liste der Wörter zu sortieren. Dies sollte nicht zu schwer sein, da die Überschrift jedes Eintrags das Wort selbst ist. In diesem Fall kann man wahrscheinlich die org-sort-entries
Funktion verwenden.
Ich weiß, das ist eine ziemlich große Frage, aber ich denke auch, dass, wenn es hier gelöst werden kann, es für viele Benutzer von großem Nutzen sein wird.
Edits:
Mit @juan_g Vorschläge, verbesserte ich meine Vorlage und jetzt ist es:
("v" "Vocabulary" entry
(file+headline (concat org-directory "/vocab.org")
"Vocabulary")
"* %^{The word} :drill:\n %t\n %^{Extended word (may be empty)} \n** Answer \n%^{The definition}")
Ich habe es nicht geschafft den Standardwert des zweiten einzustellen Eingabe, um die erste zu sein. Ich habe versucht, etwas wie %^{Extended word (may be empty)|%\1}
, aber es gibt ^A
, die nicht hilfreich ist.
In jedem Fall scheint diese verbesserte Version bereits verwendbar zu sein.