emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
From: Thorsten Jolitz <tjolitz@gmail.com>
To: emacs-orgmode@gnu.org
Subject: Re: multiple indirect buffers, and limiting to a drawer
Date: Tue, 01 Oct 2013 19:19:46 +0200	[thread overview]
Message-ID: <87wqlw52od.fsf@gmail.com> (raw)
In-Reply-To: CAN_Dec_UfoovPpqfSXkTzgxFH-qZ5VLO9TbrzLhp=92iZ04e7g@mail.gmail.com

Matt Price <moptop99@gmail.com> writes:

Hi,

> (1) in a narrow window on the left, an outline of the whole org-file,
> which I take to represent a major writing project
>
> (2) in the main window, a heading element in an indirect buffer
>
>
> (3) in the right-hand panel, I'd like  to just show the properties
> drawer of the currently active heading.
>
>
> Can someone suggest the best way to create that third buffer (or more
> precisely, that second indirect buffer)?  I guess I don't know the
> best way to limit to a drawer, nor do I really understand how to make
> multiple indirect buffers ( from what I can see,
> org-tree-to-indirect-buffer will only permit one indirect buffer at a
> time to be crate, which is fine, but which takes away the only tool I
> sort of understand).
>
>
> Another question: does emacs allow indirect buffers to have different
> modes than their parents If so, I would like to write some trivial
> minor modes that remap keybindings in each of the three windows, and
> .e.g I would like to prohibit full unfolding of the outline in the
> left-hand window if that's possible.

Much of this is possible with
[[https://github.com/tj64/navi][navi-mode.el]] (see screencast on
[[http://www.youtube.com/watch?v%3DII-xYw5VGFM:][youtube]]), although
you won't have 3 buffers, just 2: the Org file and the associated
*Navi-buffer*, but the latter is very flexibel: with one key commands
you can switch rapidly between multiple views of your Org file, change
the visibility of the Org buffer, and more 'remote-control' like stuff.

Just to give you an example using Bernt Hansen org-mode.org tutorial:

1. M-s n  -> fire up navi buffer showing level 1 headlines:

,----------------------------------------------------
| 19 matches for "^\* " in buffer: org-mode.org
|      39:* Getting Started
|     411:* Tasks and States
|     566:* Adding New Tasks Quickly with Org Capture
|     712:* Refiling Tasks ...
`----------------------------------------------------

2. move up and down with n an p, narrow and widen subtrees with r and w,
   change visibility of headline at point (whole buffer) with TAB (BACKTAB).
   use d to see the element at point in the Org-buffer, o (or s) to switch to
   it. use M-s M-s to switch back from Org-buffer to the navi-buffer.

3. type 2 or 3 to see headlines up to level 2 (3)

,--------------------------------------------------
| 122 matches for "^\*\*? " in buffer: org-mode.org
|      39:* Getting Started
|      42:** Org-Mode Setup
|     130:** Organizing Your Life Into Org Files
|     184:** Agenda Setup
|     233:** Org File Structure
|     291:** Key bindings
|     411:* Tasks and States
|     425:** TODO keywords
|     510:** Fast Todo Selection
|     533:** TODO state triggers
`--------------------------------------------------

4. type h to see all (currently) possible keyword-searches (and q to quit the
   help page)

,------------------------------------------------
| [KEY] : [SEARCH]
| ================
|                         b : srcblock
|                         x : time
|                         I : inline-srcblock
|                         W : srcname-w-name
|                         M : multilineheader
|                         Y : priority
|                         T : target
|                         R : radiotarget
|                         D : drawer
|                         S : timestamp
|                         N : srcname
|                         U : result
|                         Z : result-w-name
|                         O : options
|                         P : propertydrawer
|                         A : deadline
|                         H : scheduled-time-hour
`------------------------------------------------

5. play around with the keyword searches, e.g. type b

    ,-----------------------------------------------------
    |  51:#+begin_src emacs-lisp :tangle no
    |  65:#+begin_src emacs-lisp :tangle yes :exports none
    |  86:#+begin_src emacs-lisp :tangle yes
    | 103:#+begin_src emacs-lisp :tangle yes
    | 190:#+begin_src emacs-lisp :tangle no
    `-----------------------------------------------------

  type S

   ,------------------------------------------------
   | 2130:  , SCHEDULED: <2009-05-18 Mon ++1w> 
   | 3771:  ,   DEADLINE: <2009-07-01 Wed +1m -0d> 
   | 3843:  ,  SCHEDULED: <2009-06-16 Tue +1w>
   | 4081:  ,  DEADLINE: <2009-07-01 Wed +1m -0d>   
   | 4265:  ,   SCHEDULED: <2009-11-21 Sat .+7d/30d>
   `------------------------------------------------

  and - for your use case - type P:

    ,----------------------------
    |  43::PROPERTIES:
    |    ::CUSTOM_ID: Setup
    |    ::END:
    | 131::PROPERTIES:
    |    ::CUSTOM_ID: OrgFiles
    |    ::END:
    | 185::PROPERTIES:
    |    ::CUSTOM_ID: AgendaSetup
    |    ::END:
    `----------------------------

6. finally, combine headline and keyword searches:

  type C-1 S

   ,------------------------------------------------
   | 2100:* GTD stuff
   | 2130:  , SCHEDULED: <2009-05-18 Mon ++1w> 
   | 2397:* Archiving
   | 2490:* Publishing and Exporting
   | 3090:* Reminders
   | 3125:* Productivity Tools
   | 3771:  ,   DEADLINE: <2009-07-01 Wed +1m -0d> 
   | 3843:  ,  SCHEDULED: <2009-06-16 Tue +1w>
   | 4081:  ,  DEADLINE: <2009-07-01 Wed +1m -0d>   
   | 4265:  ,   SCHEDULED: <2009-11-21 Sat .+7d/30d>
   | 5031:* Things I Don't Use (Anymore)
   `------------------------------------------------

  type C-3 P

    ,-------------------------------------------
    |  39:* Getting Started
    |  42:** Org-Mode Setup
    |  43::PROPERTIES:
    |    ::CUSTOM_ID: Setup
    |    ::END:
    | 130:** Organizing Your Life Into Org Files
    | 131::PROPERTIES:
    |    ::CUSTOM_ID: OrgFiles
    |    ::END:
    | 184:** Agenda Setup
    | 185::PROPERTIES:
    |    ::CUSTOM_ID: AgendaSetup
    |    ::END:
    `-------------------------------------------

Although navigation inside the Org-modes buffers is quite convenient, its
somehow even more convenient to have a splitted screen and switch to the
read-only navi-buffer and use 1-key bindings for navigation, visibility
changes, all kinds of buffer views, and even a kind of remote control for
common copy, edit and search commands.

-- 
cheers,
Thorsten

  reply	other threads:[~2013-10-01 17:20 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-10-01 13:44 multiple indirect buffers, and limiting to a drawer Matt Price
2013-10-01 17:19 ` Thorsten Jolitz [this message]
2013-10-02 10:13   ` Matt Price
2013-10-02 11:19     ` Thorsten Jolitz
2013-10-01 21:37 ` Myles English
2013-10-02  9:54   ` Matt Price
     [not found] ` <87mwmskcyp.fsf@bobnewell.net>
2013-10-02  9:50   ` Matt Price

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.orgmode.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87wqlw52od.fsf@gmail.com \
    --to=tjolitz@gmail.com \
    --cc=emacs-orgmode@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).