「ほっ」と。キャンペーン
 

タグ:自作 ( 1 ) タグの人気記事

記事の下の方に広告が表示される場合があります。この広告はエキサイトの広告枠です。
 

orgmemo.el :: Org-modeでメモ on emacs

1.1 はじめに

 emacsに標準に搭載されているOrg-mode( Outline-based notes managementand organizer.)。このOrg-modeはアウトライン表示が可能で予定の管理もできる優れものです。実は私はこの存在を知りませんでした。たまたま、チェックだけして見忘れている記事の整理をしていたら、このOrg-modeの紹介があり、使い始めたらもしかしてこれは便利かもと思い始めました。

 このOrg-modeを利用してChangLogのように日付で、上から記述していったら、メモや記事の下書きを書き溜めるのに便利かもと思い、簡単なLISPを書いてみました。自分の記録用としてのメモです。
なお、私はOrg-modeの最新バージョンである6.13aで利用しています。EmacsはNTEmacsを利用しています。

難易度:★★★★
Emcasが利用できる方は★にも満たないけど、Emacsが利用できない方には、ちょっと難しいかも。

公式:Org-mode


1.2 Org-modeとは

 Emacsで利用できるアウトラインエディタにスケジュールやTODO、そしてその機能を利用してGTDなどもできちゃう便利なモードです。HTMLやテキストに出力できたりと便利です。機能が豊富すぎるので、マニュアルを全部読むと大変です。はじめは自分が必要と思われる部分を読んでから利用して、少しづつ理解するとよさそうです。(まだ私は理解できていません)

1.3 機能

 指定したファイルを開き、1行目に日付を記述。今日の日付が1行目に記述されている場合は項目だけど追加。

書式の例


   * <2008-12-24>
** ケーキを作る。
** ケーキの材料...
** クッキーを作る
** お花を飾る
* <2008-12-23>


1.4 入れ方

 以下のソースをダウンロードしてを保存するか、 .emacsに書いちゃえばOK。私はC-x N で新規作成にしています。
※6.13a用なので、デフォルトは修正必要かも。

orgmemo.elダウンロード


私の.emacsの内容Org-mode 6.13a用


.emacs


;;Org-modeでメモを作成
(add-to-list 'load-path "~/elisp/")
(require 'orgmemo )
(define-key ctl-x-map "N" 'orgmemo)

;;Org-modeの設定(Org-modeの設定)
(add-to-list 'load-path "~/elisp/org-6.13a/lisp")
(setq load-path (cons  "~/elisp/org-6.13a/lisp" load-path))
(require 'org-install)

(add-to-list 'load-path "~/org")
(require 'org)
(add-to-list 'auto-mode-alist '("\\.org$" . org-mode))
(define-key global-map "\C-cl" 'org-store-link)
(define-key global-map "\C-ca" 'org-agenda)
(define-key global-map "\C-cb" 'org-iswitchb)

(global-font-lock-mode 1)                     ; すべてのバッファで有効
(setq org-log-done t)

(setq org-agenda-files (list "~/org/予定.org"
"~/org/inbox.org"
"~/org/home.org"))

(defun gtd ()
(interactive)
(find-file "~/org/mygtd.org"))

(defun inbox ()
(interactive)
(find-file "~/org/inbox.org"))


;;Org-modeでメモを作成
(add-to-list 'load-path "~/elisp/")
(require 'orgmemo )
(define-key ctl-x-map "N" 'orgmemo)




1.5 orgmemo.el


orgmemo.el


;;---------------------------------------------------------------------------
;; orgmemo.el Ver. 0.1.4
;;---------------------------------------------------------------------------
;

(provide 'orgmemo)
(require 'orgmemo)


(defvar orgmemo-file "~/org/inbox.org")   ;編集ファイル名
(defvar orgmemo-date-format "* %Y-%m-%d" ) ;日付の表示


;; メモを追加
(defun orgmemo()
  (interactive)
    (find-file orgmemo-file)
    (goto-line 1)
    (beginning-of-line)
    (if (looking-at (format-time-string  orgmemo-date-format))
(orgmemo-add-item)
(orgmemo-new-item))
    )


(defun orgmemo-new-item()
  (interactive)
  (org-overview)

  (goto-line 1)
  (org-cycle)
  (beginning-of-line)
  (insert "\n")

  (goto-line 1)
  (beginning-of-line)
  (insert (format-time-string  orgmemo-date-format))
  (insert "\n** ")
  (goto-line 2)
  (end-of-line))

(defun orgmemo-add-item()
  (interactive)
  (org-overview)
  (goto-line 1)

  (org-cycle)
  (end-of-line)
  (insert "\n** ")
  (goto-line 2)
  (end-of-line))




;;; orgmemo.el ends here




1.6 参考になるサイト


1.7 最後に

じつはこの記事はOrg-modeで記述し、HTMLを出力して少し修正してからアップしました。Org-modeは現在編集しているところ以外を見えなくしたりできるので、記事の編集に専念できます。もう少し利用してメモ環境として利用できるか、試してみたいです。あ、私のLispはいい加減なのでもし利用する場合は適当に修正してくださいね。

[PR]
記事の下の方に広告が表示される場合があります。この広告はエキサイトの広告枠です。
by potto37 | 2008-12-05 21:30 | Trackback | Comments(0)
掲載の記事や画像などすべての複写・転載・公衆送信等はご遠慮ください。