From mboxrd@z Thu Jan 1 00:00:00 1970 From: Thorsten Jolitz Subject: Re: contribute: three pane mode for org Date: Wed, 27 Aug 2014 12:13:25 +0200 Message-ID: <8738ci9r5m.fsf@gmail.com> References: <87r402l25i.fsf@gmail.com> Mime-Version: 1.0 Content-Type: text/plain Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:54374) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XMaEg-0006az-BO for emacs-orgmode@gnu.org; Wed, 27 Aug 2014 06:13:56 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1XMaEa-0006Qq-D0 for emacs-orgmode@gnu.org; Wed, 27 Aug 2014 06:13:50 -0400 Received: from plane.gmane.org ([80.91.229.3]:41981) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XMaEa-0006Qh-3S for emacs-orgmode@gnu.org; Wed, 27 Aug 2014 06:13:44 -0400 Received: from list by plane.gmane.org with local (Exim 4.69) (envelope-from ) id 1XMaEV-0001EF-5S for emacs-orgmode@gnu.org; Wed, 27 Aug 2014 12:13:39 +0200 Received: from e178190095.adsl.alicedsl.de ([85.178.190.95]) by main.gmane.org with esmtp (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Wed, 27 Aug 2014 12:13:39 +0200 Received: from tjolitz by e178190095.adsl.alicedsl.de with local (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Wed, 27 Aug 2014 12:13:39 +0200 List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org Sender: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org To: emacs-orgmode@gnu.org Ernesto Durante writes: > Florian Knupfer writes: > >> Hello, >> >> I've written a function that enables a three pane view on org files. >> I'm quite new to emacs but I'd like to contribute and receive >> feedbacks, improvement etc. >> >> It can be found at: >> https://github.com/knupfer/org-panes >> >> Best regards > > very good and integrates nicely with the current workflow. > Why not 2 panes only (content and showall) ? Are you aware of navi-mode.el? It does exactly this - put the overview (-> content) in a second window next to the details (-> showall). Only that the overview is a *Navi* buffer that is - plain read-only text (not a folded outline), what has many advantages (though, like in occur and dired, 'M-x navi-edit-mode' makes the buffer temporarily editable and propagates changes to the associated Org/Outshine buffer) - a pretty smart remote-control of the associated Org (or Outshine) buffer, offering many different views on the Org buffer, and lots of navigation & structure editing commands with vim-like one-key-bindings. Keys 1 to 8 in the *Navi* buffer show the headlines up to that level. Additionally, these keyword searches have been defined for Org-mode: ,---- | [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 `---- (note that these searches are customizable, so they can be modified or extended by the user via the customize interface) With a prefix-arg, you can combine headline and keyword searches. E.g. given this Org buffer ,---- | * A | ** B | | #+BEGIN_SRC emacs-lisp | (+ 2 2) | #+END_SRC | | #+results: | : 4 | | ** C :mytag: | DEADLINE: <2014-08-27 Mi 22:00> | *** [#A] D | very important `---- trigger *Navi* buffer with ,----[ C-h f navi-search-and-switch RET ] | navi-search-and-switch is an interactive Lisp function in | `navi-mode.el'. | | It is bound to M-s n. | | (navi-search-and-switch) | | Call `occur' and immediatley switch to `*Navi:original-buffer-name*' buffer `---- then typing '2' shows ,---- | 1:* A | 2:** B | 11:** C :mytag: `---- typing 'A' shows ,---- | 12: DEADLINE: <2014-08-27 Mi 22:00> `---- and combining headline with keyword-searches with 'C-2 A' or 'C-u 2 A' shows ,---- | 1:* A | 2:** B | 11:** C :mytag: | 12: DEADLINE: <2014-08-27 Mi 22:00> `---- The *Navi* buffer is like a remote-control for the associated Org or Outshine buffer, here is a list of things (besides the headline and keyword searches) you can do without leaving the *Navi* buffer (using vim-like one-key bindings): ,----[ C-h f navi-mode RET ] | navi-mode is an interactive Lisp function in `navi-mode.el'. | | (navi-mode) | | Parent mode: `occur-mode'. | | Major mode for easy buffer-navigation. | In this mode (derived from `occur-mode') you can easily navigate | in an associated original-buffer via one-key commands in the | navi-buffer. You can alter the displayed document structure in | the navi-buffer by sending one-key commands that execute | predefined occur searches in the original buffer. `navi-mode' is | especially useful in buffers with outline structure, e.g. buffers | with `outline-minor-mode' activated and `outshine' extensions | loaded. | key binding | --- ------- | | C-c Prefix Command | TAB navi-cycle-subtree | RET occur-mode-goto-occurrence | C-o occur-mode-display-occurrence | ESC Prefix Command | SPC scroll-up-command | ! .. * navi-generic-command | + navi-demote-subtree | , navi-act-on-thing-at-point | - navi-promote-subtree | . scroll-other-window | / .. 9 navi-generic-command | : scroll-other-window-down | ; navi-generic-command | < navi-move-down-subtree | = .. D navi-generic-command | E navi-edit-mode | F .. ] navi-generic-command | ^ navi-move-up-subtree | _ .. b navi-generic-command | c navi-copy-thing-at-point-to-register-s | d occur-mode-display-occurrence | e navi-edit-as-org | f navi-generic-command | g navi-revert-function | h navi-show-help | i navi-isearch | j navi-generic-command | k navi-kill-thing-at-point | l navi-query-replace | m navi-mark-thing-at-point-and-switch | n occur-next | o navi-goto-occurrence-other-window | p occur-prev | q navi-quit-and-switch | r navi-narrow-to-thing-at-point | s navi-switch-to-twin-buffer | t navi-generic-command | u navi-undo | v navi-generic-command | w navi-widen | x navi-generic-command | y navi-yank-thing-from-register-s | z navi-mail-subtree | { .. ~ navi-generic-command | DEL scroll-down-command | occur-mode-mouse-goto | Prefix Command | | C-M-i navi-cycle-buffer | | M-n occur-next | M-p occur-prev | | C-c C-c occur-mode-goto-occurrence | C-c C-f next-error-follow-minor-mode | | | | In addition to any hooks its parent mode might have run, | this mode runs the hook `navi-mode-hook', as the final step | during initialization. `---- -- cheers, Thorsten