Orgの使い方

  • アウトライン作成用のパッケージ
  • 文書作成ならなんでもござれ
  • よく使うのは以下の状況
org-captureの使い方 会議メモの作成
org-agendaの使い方 TODO管理
org-clockの使い方 作業時間のログ
org-exportの使い方 他の文書の形式へエクスポート
org-latexの使い方 Org-mode + LaTeX出力

設定

  • ビルトインなのでインストール不要
  • でも MELPA から最新版を取ってきたほうがいいかも
  • modules/prelude-org.el である程度設定済み
(add-to-list 'auto-mode-alist '("\\.org\\’" . org-mode))
(global-set-key "\C-cl" 'org-store-link)
(global-set-key "\C-ca" 'org-agenda)
(global-set-key "\C-cb" 'org-iswitchb)
(setq org-log-done t)
 
(defun prelude-org-mode-defaults ()
  (let ((oldmap (cdr (assoc 'prelude-mode minor-mode-map-alist)))
        (newmap (make-sparse-keymap)))
    (set-keymap-parent newmap oldmap)
    (define-key newmap (kbd "C-c +") nil)
    (define-key newmap (kbd "C-c -") nil)
    (make-local-variable 'minor-mode-overriding-map-alist)
    (push `(prelude-mode . ,newmap) minor-mode-overriding-map-alist))
)
 
(setq prelude-org-mode-hook 'prelude-org-mode-defaults)
 
(add-hook 'org-mode-hook (lambda () (run-hooks 'prelude-org-mode-hook)))
(use-package org
  :ensure t
  :mode (("\\.txt$" . org-mode))
  :bind (("C-c c" . org-capture)
         ("C-c l" . org-store-link)  ;; Preludeのバインドを再定義しておく
         ("C-c a" . org-agenda)
         ("C-c b" . org-iswitchb)
        )
  :init
  ;; 保存先(もっとうまく書けたらいいのになぁ)
  (setq my-org-directory "~/Documents/org/")
  (setq my-org-agenda-directory "~/Documents/org/agenda/")
  (setq org-agenda-files (list my-org-directory my-org-agenda-directory))
  :config
  ;; 基本設定
  ;; Hide the first N-1 stars in a headline : nil --> t
  (setq org-hide-leading-stars t)
  ;; RET will follow the link : nil --> t
  (setq org-return-follows-link t)
  ;; Directory with org files : "~/org" --> "~/Documents/org"
  (setq org-directory my-org-directory)
  ;; Default target for storing notes : "~/.notes" --> "captured.org"
  (setq org-default-notes-file "captured.org")
 
  ;; org-capture --> org-captureの使い方
  ;; org-agenda  --> org-agendaの使い方
  ;; ox-latex    --> ox-latexの使い方
)

ファイル毎の設定

  • テキストの一行目に mode:org を指定する
-*- mode : org -*-

全ファイルの設定

  • .txt で終わるファイルを登録する
(use-package org
  :mode (("\\.txt$" . org-mode))
)
変数 デフォルト値 変更後
org-directory ~/org ~/Documents/org/
org-default-notes-file ~/.notes captured.org
org-agenda-files nil ~/Documents/org/
(use-package org
  :init
  (setq my-org-directory "~/Documents/org/")                 ;; TODOリストの保存先
  (setq my-org-agenda-directory "~/Documents/org/agenda/")   ;; Googleカレンダーの保存先
  (setq my-org-default-notes-file "captured.org")            ;; org-captureしたときのとりあえずの保存先
  :config
  (setq org-directory my-org-directory)
  (setq org-default-notes-file my-org-default-notes-file)
  (setq org-agenda-files (list my-org-directory my-org-agenda-directory))    ;; リストにしておく
  )
(use-package org
  :config
  (setq org-hide-leading-stars t)
  (setq org-return-follows-link t)
)

操作

次/前の見出しへ C-c C-n/p
同じレベルの次/前の見出しへ C-c C-f/b
上のレベルの見出しへ C-c C-u
文書中の別の場所へ C-c C-j
新しい見出しの作成 M-RET
見出し → 項目 へ変更 C-c -
項目 → 見出し へ変更 C-c *

キーワード

  • 「#+」で始まるキーワードを指定することで、そのOrg文書の書式を細かく設定できる
#+title:
#+author:
#+category:
#+startup: Initial Visibility - Org-mode Manual
#+tags: Setting Tags - Org-mode Manual