I've my busy tab key set to a super expand/indent function:

   (global-set-key "\t" 'ext-super-tab)

Currently in org-mode, tab is only doing indent in none headline/special 
place. I'd like to use tab only at the beginning of headline or buffer. So I 
put something like this in my org-conf.el :

(defun org-tab (&optional arg)
  "Do org-cycle only at the beginning of a headline, otherwise do
the job defined in global keymap."
  (interactive "P")
  (let* ((outline-regexp
          (if (and (org-mode-p) org-cycle-include-plain-lists)
              "\\(?:\\*+\\|\\([ \t]*\\)\\([-+*]\\|[0-9]+[.)]\\) \\)"
            outline-regexp))
         (bob-special (and org-cycle-global-at-bob (bobp)
                           (not (looking-at outline-regexp)))))
    (if (or bob-special
            (eq arg t)
            (integerp arg)
            (org-at-table-p 'any)
            (looking-at outline-regexp))
        (org-cycle arg)
      (call-interactively (global-key-binding "\t")))))

(define-key org-mode-map [(tab)] 'org-tab)

Hope this is useful for someone else.

Levin


_______________________________________________
Emacs-orgmode mailing list
Emacs-orgmode@gnu.org
http://lists.gnu.org/mailman/listinfo/emacs-orgmode

Reply via email to