2013-02-02 32 views
5

मैं के org-mode के मॉड्यूल का उपयोग करना चाहता हूं ताकि नए शब्दों का डेटा बेस तैयार किया जा सके, और फिर उन्हें सीखने के लिए drill मॉड्यूल का उपयोग करें (फ़्लैश कार्ड शैली) ।शब्दावली सीखने के लिए ऑर्ग मोड कैप्चर और ड्रिल मॉड्यूल को मिलाएं

("v" "Vocabulary" entry 
       (file+headline (concat org-directory "/vocab.org") 
           "Vocabulary") 
       "* Word :drill:\n%^ \n** Answer \n%^") 

यह जो मैं from here उधार एक नहीं बल्कि अनुभवहीन टेम्पलेट है:

मेरी org-capture-templates में मैं निम्नलिखित गयी। यह ठीक काम करता है लेकिन यह बहुत सीमित है। दुर्भाग्य से मैं elisp पर नया हूं और मुझे नहीं पता कि इसे कैसे सुधारें।

मुझे लगता है कि इसके बाद के संस्करण टेम्पलेट के बाद वहाँ पहलुओं में सुधार किया जाना है:

शीर्षक वर्तमान में पहले इनपुट स्ट्रिंग (नया) शब्द है और शीर्षक तय हो गई है। शीर्षक समान (इनपुट) शब्द कैसे हो सकता है? मुझे लगता है कि निम्नलिखित परिणाम वांछनीय है:

* Vocabulary 
** Foo :drill: 
Foo 
*** Answer 
What is foo 

असल में एक बेहतर तरीका 3 इनपुट स्ट्रिंग होना होगा।

  1. नया शब्द जो शीर्षक होगा (उदाहरण के foo के लिए)।
  2. यदि दूसरा खाली है, तो यह वही स्ट्रिंग (1) के रूप में मिलता है। अन्यथा, स्ट्रिंग को एक से (1) से जोड़ता है। जैसे दूसरे इनपुट bar के रूप में होने से foo bar मिलेगा। यह प्रविष्टि की सामग्री होगी।
  3. शब्द की परिभाषा जो answer उप-शीर्षक में आनी चाहिए।

दोहराव (देखें फिर this) मैं foo फिर से कब्जा करने की कोशिश कुछ बाद में किसी समय हैं, मैं यह जानना चाहते हैं, और पहले से ही मौजूदा प्रविष्टि को संपादित करने के लिए निर्देशित किया जा चाहते हैं - सभी आदानों लंघन।

छंटनी के बाद मुझे लगता है कि शब्दों की सूची को सॉर्ट करना अच्छा लगेगा। यह बहुत कठिन नहीं होना चाहिए कि प्रत्येक प्रविष्टि का शीर्षक शब्द ही है। इस मामले में कोई शायद org-sort-entries फ़ंक्शन का उपयोग कर सकता है।

मुझे पता है कि यह एक बड़ा सवाल है, लेकिन मुझे यह भी लगता है कि अगर इसे हल किया जा सकता है तो यह कई उपयोगकर्ताओं के लिए बहुत अच्छा उपयोग होगा।


संपादन:


का उपयोग @juan_g सुझाव, मैं अपने टेम्पलेट में सुधार हुआ और अब यह है:

("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}") 

मैं दूसरे का डिफ़ॉल्ट मान सेट करने के लिए प्रबंधन नहीं किया पहली बार इनपुट करें। मैंने %^{Extended word (may be empty)|%\1} की तरह कुछ करने की कोशिश की लेकिन यह ^A देता है जो सहायक नहीं है।

किसी भी मामले में, यह बेहतर संस्करण पहले से ही प्रयोग योग्य प्रतीत होता है।

उत्तर

2

इनपुट प्रश्न के बारे में, Org Mode Manual: 9.1.3.2 Template expansion में, वहाँ% \ 1 विशेष भागने कोड है:

% \ n लेख वें%^{} शीघ्र, पर दर्ज की गई डालें जहां na संख्या, से शुरू 1.

डुप्लिकेशंस प्रश्न शायद कुछ Emacs Lisp कोडिंग की आवश्यकता होगी।

सॉर्टिंग के लिए, सी-सी^(ऑर्ग-सॉर्ट) देखें।

बीटीडब्ल्यू, org-drill सुपरमेमो के अंतराल पुनरावृत्ति एल्गोरिदम के आधार पर वास्तव में वास्तव में एक दिलचस्प पैकेज लगता है।

0

आपको अतिरिक्त "\" की आवश्यकता है, इसलिए% \\ 1 अपेक्षित काम करता है।