Yes, this is a good idea.
The org-mode implementation will use the variable
org-cycle-emulate-tab, in the next version there will be an additional
value for this option to get the bahavior you propose.
Thanks!
- Carsten
On May 23, 2007, at 11:56, Levin Du wrote:
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
--
Carsten Dominik
Sterrenkundig Instituut "Anton Pannekoek"
Universiteit van Amsterdam
Kruislaan 403
NL-1098SJ Amsterdam
phone: +31 20 525 7477
_______________________________________________
Emacs-orgmode mailing list
Emacs-orgmode@gnu.org
http://lists.gnu.org/mailman/listinfo/emacs-orgmode