2012-08-07 10 views
5

मैं में Emacs orgmode एक कस्टम प्रारूप में एक टाइमस्टैम्प सम्मिलित करना चाहते हैं। मैं इस फ़ॉर्म में केवल वर्तमान समय (तारीख के बिना!) डालना चाहता हूं: [एचएच: एमएम], C-c - दबाकर। मैं पूरी तरह से नया करने के लिए नया हूँ और यह पता नहीं लगा सकता कि यह कैसे करें। मेरी ~/.emacs -file के लिए मेरे प्रारंभिक बिंदु इस तरह है:Emacs में कस्टम टाइमस्टैम्प orgmode

(defun org-my-custom-timestamp() 
    (interactive) 
    (:SOME_CODE:) 
) 


(define-key global-map "\C-c-" 'org-my-custom-timestamp) 

अब यह सिर्फ अपने कस्टम org-my-custom-timestamp बुलाया समारोह, "interactivation" और एक शॉर्टकट-असाइनमेंट की परिभाषा है। हालांकि मैंने बिना किसी सफलता के :SOME_CODE: के लिए विभिन्न चीजों की कोशिश की है।

इसे वर्णित तरीके से काम करने के लिए फ़ंक्शन में क्या लगाया जा सकता है?

क्या कोई अनुभवी emacs-user भी व्यावहारिक से निपटने के लिए इस तरह से विचार करता है या क्या ऐसा करने का एक शानदार तरीका है? शायद ऑर्ग-मोड-आंतरिक रूप से?

उत्तर

5

संगठन मोड के स्थानीय कीमैप एक प्रविष्टि कि C-c - बांधता है, इसलिए हम के एक वैश्विक एक यह बजाय बदलना होगा: फिर

(defun org-my-custom-timestamp() 
    (interactive) 
    (insert (format-time-string "[%H:%M]"))) 
(add-hook 'org-mode-hook 
      (lambda() 
      (local-set-key "\C-c-" 'org-my-custom-timestamp))) 

ध्यान दें कि यह org-ctrl-c-minus आदेश है, जो डिफ़ॉल्ट रूप से C-c - के लिए बाध्य है बदल देता है संगठन मोड में, अपने आप के साथ।

+0

बहुत बहुत धन्यवाद! उपरोक्त कोड-स्निपेट ठीक काम करता है और वही करता है जो मैं ढूंढ रहा था! चूंकि यह बाध्यकारी एक ऑर्ग-मोड सुविधा को ओवरराइट करेगा, इसलिए मैंने इस कमांड के लिए एक और शॉर्टकट खोजने का फैसला किया है। – Edward

संबंधित मुद्दे