5

emacsorgmodeにカスタムフォーマットのタイムスタンプを挿入したいのですが。を押して、現在の時刻だけを(日付なしで!)次の形式で挿入します:[HH:MM] 。私はLispにまったく慣れておらず、これを行う方法を理解できませんでした。私のファイルの開始点は次のようになります。C-c -~/.emacs

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


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

これはorg-my-custom-timestamp、「相互アクティブ化」と呼ばれるカスタム関数とショートカット割り当ての定義にすぎません。しかし、私はさまざまなことを試みました:SOME_CODE:が、成功しませんでした。

説明された方法で機能させるために、関数に何を組み込むことができますか?

経験豊富なemacsユーザーは、この方法で実用的に取り組むことを検討していますか、それとももっと賢い方法がありますか?おそらくorg-mode-internally?

4

1 に答える 1

6

組織モードのローカルキーマップにはバインドするエントリがある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モードでデフォルトでorg-ctrl-c-minusバインドされているコマンドを独自のコマンドに置き換えることに再度注意してください。C-c -

于 2012-08-07T13:25:19.657 に答える