emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
* rebinding Tab key
@ 2012-05-14 17:10 Reid Priedhorsky
  2012-05-14 22:47 ` Nick Dokos
  0 siblings, 1 reply; 2+ messages in thread
From: Reid Priedhorsky @ 2012-05-14 17:10 UTC (permalink / raw)
  To: emacs-orgmode

Hi,

I'm an org-mode newbie just getting started. I use a lot of other 
software where Tab means "indent this outline item more" and Shift-Tab 
means "indent this outline item less", so I'd like to make org-mode 
behave consistently. Also, I use Meta-Right/Left in other contexts for 
expanding and collapsing outline; again, I'd like to make org-mode 
consistent.

(I've looked in the FAQ and manual, and searched the web and the mailing 
list but didn't come up with anything. I apologize in advance if I've 
missed something.)

More specifically, I'd like the following keybindings:

M-RIGHT - progressively expand headline
   if headline is in state OVERVIEW, change to CONTENTS
   if headline is in CONTENTS, change to SHOW ALL
   if headline is in SHOW ALL, do nothing

M-LEFT - progressively collapse headline
   if headline is in SHOW ALL, change to CONTENTS
   if headline is in CONTENTS, change to OVERVIEW
   if headline is in OVERVIEW, do nothing

M-S-RIGHT - progressively expand whole file
M-S-LEFT - progressively collapse whole file
   same as without Shift, but apply to whole file instead of headline

TAB - demote current subtree (what's now bound to M-S-RIGHT)
S-TAB - promote current subtree (now bound to M-S-LEFT)

I see that TAB normally does a lot of other stuff in addition to 
rotating states. It would be nice to keep this, but I'm willing to give 
it up for now.

Is this possible to do this without writing a lot of elisp? I know very 
little elisp; I did find the definition of org-cycle in org.el, but I 
think hacking it is beyond me (for the amount of effort I'm willing to 
invest).

Thanks,
Reid

-- 
IM (Google Chat):    reid.priedhorsky@gmail.com (not a valid e-mail)

E-mail response time: I check e-mail periodically throughout the day,
not continually, so I might not see your note for several hours.
Please use IM or phone if you need an immediate response.

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: rebinding Tab key
  2012-05-14 17:10 rebinding Tab key Reid Priedhorsky
@ 2012-05-14 22:47 ` Nick Dokos
  0 siblings, 0 replies; 2+ messages in thread
From: Nick Dokos @ 2012-05-14 22:47 UTC (permalink / raw)
  To: Reid Priedhorsky; +Cc: emacs-orgmode

Reid Priedhorsky <reid@reidster.net> wrote:

> Hi,
> 
> I'm an org-mode newbie just getting started. I use a lot of other
> software where Tab means "indent this outline item more" and Shift-Tab
> means "indent this outline item less", so I'd like to make org-mode
> behave consistently. Also, I use Meta-Right/Left in other contexts for
> expanding and collapsing outline; again, I'd like to make org-mode
> consistent.
> 
> (I've looked in the FAQ and manual, and searched the web and the
> mailing list but didn't come up with anything. I apologize in advance
> if I've missed something.)
> 
> More specifically, I'd like the following keybindings:
> 
> M-RIGHT - progressively expand headline
>   if headline is in state OVERVIEW, change to CONTENTS
>   if headline is in CONTENTS, change to SHOW ALL
>   if headline is in SHOW ALL, do nothing
> 
> M-LEFT - progressively collapse headline
>   if headline is in SHOW ALL, change to CONTENTS
>   if headline is in CONTENTS, change to OVERVIEW
>   if headline is in OVERVIEW, do nothing
> 
> M-S-RIGHT - progressively expand whole file
> M-S-LEFT - progressively collapse whole file
>   same as without Shift, but apply to whole file instead of headline
> 
> TAB - demote current subtree (what's now bound to M-S-RIGHT)
> S-TAB - promote current subtree (now bound to M-S-LEFT)
> 
> I see that TAB normally does a lot of other stuff in addition to
> rotating states. It would be nice to keep this, but I'm willing to
> give it up for now.
> 
> Is this possible to do this without writing a lot of elisp? I know
> very little elisp; I did find the definition of org-cycle in org.el,
> but I think hacking it is beyond me (for the amount of effort I'm
> willing to invest).
> 

My gut feeling (and it's only that: I may well be wrong) is that if you
follow this path, you are in for a world of hurt: you'll be fighting
*against* org all the time and in the end you will lose[fn:1]. My advice is
to leave well enough alone.

Nick

Footnotes:

[fn:1] That's a lesson I've learnt from similar experiences, not with
       emacs/org perhaps, but with various other pieces of software:
       NetworkManager, PulseAudio, now with Unity. In most cases, I've
       lost: either I've given in (Network Manager - still hate it but
       it works better than anything I've cooked up), or couldn't live
       with it and removed the miscreant (PulseAudio), or am still
       struggling with it (Unity - but in the end probably it will go,
       just as with PulseAudio). With all these things, you can bend
       them a little to your will but if you try too hard, something
       will break. Emacs/org is more malleable than most but what you
       are describing strikes me as trying to bend things too far.

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2012-05-14 22:47 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-05-14 17:10 rebinding Tab key Reid Priedhorsky
2012-05-14 22:47 ` Nick Dokos

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).