This page needs attention!

オルグモード

概要

オルグモードはノート取り、プロジェクトプランニング、TODOリスト、そしてオーサリングのためのEmacsモードです. Emacs22.1以降はデフォルトでそれは含まれています.

オルグモードの マニュアル, 簡易ガイド, (チュートリアル, アイディア, コードスニペット, などを含む)コミュニティが維持しているWorg そして そのホームページにアクセスすることができます. Paperback manualも同様に利用可能です.

機能

ダウンロードとインストール

開発版は:

    git clone git://orgmode.org/org-mode.git

Ubuntuリポジトリに最新のnon-cvs Emacsがあります. 次のあなたの/etc/apt/sources.listへ追加して:

    deb http://ppa.launchpad.net/hexmode/ubuntu gutsy main
    deb-src http://ppa.launchpad.net/hexmode/ubuntu gutsy main

オルグモードを使うにあたってのテキスト

David O’Toole はスクリーンショットつきの一般チュートリアルを書きました. それは 中国語, フランス語, ハンガリー語, 日本語 そして韓国語へ翻訳されています.

Worg特定の機能について多くのチュートリアルを持っています. Charles Caveは日付を用いたものを書いていました.

Bernt Hansenは彼の使っているオルグモードのカスタマイズについてOrgの基本的な知識を前提として,70ページ(!)にも渡る長いドキュメントで説明しています.

タスクの構成に関する2006/2007年のメジャーな影響の一つはGetting Things Done(GTD)という本になっている. GTDのためにオルグモードを使うことについてCharles Caveによって説明されているそして控えめなコンフィグレーションがここに与えられています.

Eric Neilsen オルグコンフィグレーションスニペットの料理本を持っています. Bernt Hansenはオルグであなたができるたくさんのことについて書きました. SachaChuaはオルグを学ぶためのグラフィカルマップ持っています.

Somewhat dated (2007): John WiegleySacha Chuaの両者はday plannerの使い方を説明しています. SachaChuaによるAnother pieceは"A day in the life with Org"です.

出版

あなたは‘C-c C-e h’を使ってHTMLへ出版できる, もしくはあなたはLaTeXもしくはHTML出力のためのBhlModeを使うことができる. エクスポートするまえにモードを切り替えるだけ(‘M-x bhl-mode’). BhlModeはセクションとサブセクションをマーキングする際にアスタリスクを自動的に認識するはず. 他の選択肢のためにEmacsOutlineToHtmlを参照されたし.

DavidOtooleによるorg-publish.el (これはオルグモードの最新版で提供)はウェブサイト内の全てのファイルをプロジェクト内(もし望むならばオルグモードファイル, イメージ, そしてソースコード)で作成するための出版管理システムです.

新しいエクスポーター/印刷フレームワーク

衝突

もしあなたがWindMove, CuaMode もしくは (デフォルトのキーバインディングで)MTorusを使っているならば, あなたはShift+矢印キーのためにオルグモードのキーバインディングを無効にしたいだろう:

    (setq org-replace-disputed-keys t)

(これはorg.elが読み込まれる, もしくは反映させるためにEmacsのリスタートの要求の前に完了している必要がある.) これは次のように入れ替わります:

もしEmacs 21からのAllOutがorg.elの前にロードされるならば, あなたは Wrong type argument ((keymapp nil)) errorを得るでしょう. これはEmacs 22で修正されています.

もしあなたがEmacs 21を使うことを強いられているのならば, allout.elの新しいバージョンをインストールするか, allout.elの前にorg.elがロードされているか確認するかのどちらか.

例えば, alloutを要求する前に(require 'org)を使う.

もしあなたがsession.el (EmacsSession)を使っているなら, あなたは円形データ構造を保存から免除する必要がある:

    (add-to-list 'session-globals-exclude 'org-mark-ring)

もしあなたがEmacs 23とOrg 7.5を使っているなら, then you can also have some pseudo-compatability while maintaining CUA support with Lisp:org-cua-dwim.el

外部データソース

もしあなたが外部ソースをオルグモードアジェンダファイルへ印刷するならば, あなたは変更が発生する前にこれらのファイルをリフレッシュする必要がある. これらのファイルをリロードするためにこのスニペットを試してください.

    (defun org-reload ()
      (interactive)
      (switch-to-buffer "mail.org")
      (revert-buffer nil 1)
      (org-agenda nil "a")
      (delete-other-windows))

]

アドオンと他のファイル

関連するElispコード

URLのドラッキング

This function uses org-mode support for plain list to facilitate dragging URLs from a webbrowser (or other apps) to an org-mode buffer:

(defadvice dnd-insert-text (around org-mouse-dnd-insert-text activate)
  (if (eq major-mode 'org-mode)
      (progn
	(cond
	 ;; if this is the end of the line then just insert text here
	 ((eolp)
	  (skip-chars-backward " \t")
	  (kill-region (point) (point-at-eol))
	  (unless (looking-back ":") (insert ":"))
	  (insert " "))

	 ;; if this is the beginning of the line then insert before
	 ((and (looking-at " \\|\t")
	       (save-excursion
		 (skip-chars-backward " \t") (bolp)))
	  (beginning-of-line)
	  (looking-at "[ \t]*")
	  (open-line 1)
	  (indent-to (- (match-end 0) (match-beginning 0)))
	  (insert "+ "))

	 ;; if this is a middle of the line, then insert after
	 (t
	  (end-of-line)
	  (newline t)
	  (indent-relative)
	  (insert "+ ")))
	(insert text)
	(beginning-of-line))
    ad-do-it))

ディレクトリからアジェンダへ全てのオルグファイルをインクルードする

(setq org-agenda-files (file-expand-wildcards "~/org/*.org"))

Turn header lines into apparent visible separators

To make header lines more apparently visible in the buffer, set them a background color and change this part of ‘org-set-font-lock-defaults’, so that the header line is drawn across the screen:

	   ;; Headlines
	   '("^\\(\\**\\)\\(\\* \\)\\(.*\xa\\)" (1 (org-get-level-face 1))
	     (2 (org-get-level-face 2)) (3 (org-get-level-face 3)))

The only change is the `\xa’ character is added before the last closing paren. This feature has been added to org-mode; see ‘org-fontify-whole-heading-line’.

リンクを追う

To follow links with RET, rather than a 2 key combo:

    (setq org-return-follows-link t)

You can also make TAB follow links in a similar way.

指定したページでPDFを開く

To open links of type [~/test.pdf::3] i.e. open file at page 3:

    (delete '("\\.pdf\\'" . default) org-file-apps)
    (add-to-list 'org-file-apps '("\\.pdf::\\([0-9]+\\)\\'" . "evince \"%s\" -p %1"))

PDFを代わりのアプリケーションで開く

To open a link with a program other than the default(e.g. modify a pdf rather than read it):

(defun my-org-open-at-point()
  (interactive)
  (let ((org-file-apps '(("\\.pdf\\'" . "xournal %s"))))
    (org-open-at-point)
    ))

Orgテーブルのカラムをソートする

Org-Mode provide org-table-sort-lines C-c ^ to sort all the table lines based on a column. But sometime one need to sort just one column :

(defun org-table-sort-column ()
  "Sort table column at point."

  (interactive)
  (let* ((thisline (org-current-line))
	 (thiscol (org-table-current-column))
	 (otc org-table-overlay-coordinates)
	 beg end bcol ecol tend tbeg column lns pos)
    (when (equal thiscol 0)
      (if (org-called-interactively-p 'any)
	  (setq thiscol
		(string-to-number
		 (read-string "Use column N for sorting: ")))
	(setq thiscol 1))
      (org-table-goto-column thiscol))
    (org-table-check-inside-data-field)
    (if (org-region-active-p)
	(progn
	  (setq beg (region-beginning) end (region-end))
	  (goto-char beg)
	  (setq column (org-table-current-column)
		beg (point-at-bol))
	  (goto-char end)
	  (setq end (point-at-bol 2)))
      (setq column (org-table-current-column)
	    pos (point)
	    tbeg (org-table-begin)
	    tend (org-table-end))
      (if (re-search-backward org-table-hline-regexp tbeg t)
	  (setq beg (point-at-bol 2))
	(goto-char tbeg)
	(setq beg (point-at-bol 1)))
      (goto-char pos)
      (if (re-search-forward org-table-hline-regexp tend t)
	  (setq end (point-at-bol 1))
	(goto-char tend)
	(setq end (point-at-bol))))
    (setq beg (move-marker (make-marker) beg)
	  end (move-marker (make-marker) end))
    (untabify beg end)
    (goto-char beg)
    (org-table-goto-column column)
    (skip-chars-backward "^|")
    (setq bcol (point))
    (goto-char end)
    (previous-line)
    (org-table-goto-column column)
    (skip-chars-forward "^|")
    (setq ecol (point))
    (org-table-copy-region bcol ecol nil)
    (setq lns (mapcar (lambda (x) (cons 
				   (org-sort-remove-invisible 
				    (substring-no-properties x) )
				   x))
		      ( mapcar 'car org-table-clip)))    
    (setq lns (org-do-sort lns "Column" ))

    (setq org-table-clip (mapcar 'list (mapcar 'cdr lns)))
    (goto-char beg)
    (org-table-goto-column column)
    (org-table-paste-rectangle)
    (org-goto-line thisline)
    (org-table-goto-column thiscol)
    (when otc (org-table-toggle-coordinate-overlays))
    (message "%d element sorted in column %d" (length lns) column)))

Wikipediaを編集する

オルグモードはモードフックでoutline-regexpを変更することによってWikipadiaの記事編集を楽にするための設定を簡単にできるようになります:

(add-hook 'org-mode-hook '(lambda () (setq outline-regexp "=+")))

もしあなたがWThreeMを使っているなら, 次を代わりに追加して:

(setq w3m-form-textarea-edit-mode 'org-mode)
(add-hook 'w3m-form-input-textarea-mode-hook
          '(lambda nil
                   (setq outline-regexp "=+")))

UTF-8 チェックボックスをエクスポートする

このスニペットは- [X]を☑へ- [ ]を☐へ返す.

(defun sacha/org-html-checkbox (checkbox)
  "Format CHECKBOX into HTML."
  (case checkbox (on "<span class=\"check\">&#x2611;</span>") ; checkbox (checked)
	(off "<span class=\"checkbox\">&#x2610;</span>")
	(trans "<code>[-]</code>")
	(t "")))
(defadvice org-html-checkbox (around sacha activate)
  (setq ad-return-value (sacha/org-html-checkbox (ad-get-arg 0))))

開かれているオルグモードバッファを整頓する

次のコードは開かれているオルグモードバッファをファイルへ整頓することを可能にします. (たくさんオルグファイルが開かれているときにたくさんターゲットを整理するのを防ぐために,現在はレベル1に設定されています).

(defun ixp/org-buffer-files ()
  "Return list of opened orgmode buffer files"
  (mapcar (function buffer-file-name)
	  (org-buffer-list 'files)))

(setq org-refile-targets
      (quote ((nil :maxlevel . 3)
	      (ixp/org-buffer-files :maxlevel . 1)
	      (org-agenda-files :maxlevel . 3))))

ディスカッション

ディスカッションはTalk pageへ移されました

カテゴリ

CategoryOutline CategoryPersonalInformationManager CategoryCalendar CategoryNeedsAttention CategoryWriting