2012-08-07 25 views
5

zaman damgasını özel bir biçimde emacs orgmode içine eklemek istiyorum. Şu anki zamanı (tarihsiz!) Bu forma eklemek istiyorum: [HH: MM], C-c - tuşlarına basarak. Ben lisp için tamamen yeni ve bunu nasıl yapacağımı anlayamadım. benim ~/.emacs -File My başlangıç ​​noktası şu şekildedir:Emacs orgmode'de özel zaman damgası

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


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

Şimdi bu org-my-custom-timestamp denilen benim özel işlevi "interactivation" ve Kısayol-atamanın sadece tanımıdır. Ancak, hiçbir şey yapmadan :SOME_CODE: için çeşitli şeyler denedim.

İşlev, belirtilen şekilde çalışmasını sağlamak için ne yerleştirilebilir?

Deneyimli herhangi bir emacs kullanıcısı bunu pratik olarak ele almayı bile düşünür mü yoksa daha akıllıca bir yolu var mı? Belki org-mode-dahili olarak?

cevap

5

Org modun yerel tuş eşleşmesi C-c - bağlayan bir girdi vardır, bu yüzden küresel bir yerine değiştirmek zorunda: varsayılan olarak C-c - bağlıdır org-ctrl-c-minus komutu yerini yine

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

Not Org modunda, kendi ile.

+0

Çok teşekkürler! Yukarıdaki Code-Snippet sadece iyi çalışıyor ve tam olarak ne aradığımı yapıyor! Bu bağlama bir org modu özelliği üzerine yazılacağı için bu komut için başka bir kısayol bulmaya karar verdim. – Edward