Hi Dan, these are nice, but somehow I find the "n" command logical and
the "p" command confusing :-)
- Carsten
On Nov 15, 2009, at 3:44 AM, Dan Davison wrote:
Dan Davison <davi...@stats.ox.ac.uk> writes:
Carsten Dominik <domi...@uva.nl> writes:
<...>
I am happy to have a discussion what additional
commands should be present by default.
I thought a speed command for scrolling through an org document
might be
good -- move from heading to heading, displaying the next entry while
keeping all others hidden, and close subtrees as you leave them.
Here are simplified versions of the forward- and backward-scroll speed
commands that I'm suggesting.
---------------------------------------------------------
(defun ded/org-show-next-heading-tidily ()
"Show next entry, keeping other entries closed."
(if (save-excursion (end-of-line) (outline-invisible-p))
(progn (org-show-entry) (show-children))
(outline-next-heading)
(unless (and (bolp) (org-on-heading-p))
(org-up-heading-safe)
(hide-subtree)
(error "Boundary reached"))
(org-overview)
(org-reveal t)
(org-show-entry)
(show-children)))
(defun ded/org-show-previous-heading-tidily ()
"Show previous entry, keeping other entries closed."
(let ((pos (point)))
(outline-previous-heading)
(unless (and (< (point) pos) (bolp) (org-on-heading-p))
(goto-char pos)
(hide-subtree)
(error "Boundary reached"))
(org-overview)
(org-reveal t)
(org-show-entry)
(show-children)))
(setq org-use-speed-commands t)
(add-to-list 'org-speed-commands-user
'("n" ded/org-show-next-heading-tidily))
(add-to-list 'org-speed-commands-user
'("p" ded/org-show-previous-heading-tidily))
---------------------------------------------------------
Dan
Or is
there already an org command that does something like this?
(Try starting with everything closed.)
--------------------------------------------------------------
(defun ded/org-show-next-heading-tidily ()
"Show next entry, keeping other entries closed."
(if (save-excursion (end-of-line) (outline-invisible-p))
(org-cycle)
(let ((level (org-current-level)))
(unless (org-heading-has-child-p) (org-cycle))
(outline-next-heading)
(if (< (org-current-level) level)
(save-excursion
(outline-backward-same-level 1)
(org-cycle)))
(if (and (bolp) (org-on-heading-p))
(org-cycle)
(outline-up-heading 1 t)
(org-cycle)
(error "Boundary reached")))))
(setq org-use-speed-commands t)
(add-to-list 'org-speed-commands-user
'("s" ded/org-show-next-heading-tidily))
--------------------------------------------------------------
(<space> might be quite natural for this one, it seems to get used
for
scrolling e.g. in dired and gnus)
Dan
- Carsten
_______________________________________________
Emacs-orgmode mailing list
Remember: use `Reply All' to send replies to the list.
Emacs-orgmode@gnu.org
http://lists.gnu.org/mailman/listinfo/emacs-orgmode
_______________________________________________
Emacs-orgmode mailing list
Remember: use `Reply All' to send replies to the list.
Emacs-orgmode@gnu.org
http://lists.gnu.org/mailman/listinfo/emacs-orgmode
- Carsten
_______________________________________________
Emacs-orgmode mailing list
Remember: use `Reply All' to send replies to the list.
Emacs-orgmode@gnu.org
http://lists.gnu.org/mailman/listinfo/emacs-orgmode