emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
From: Nick Dokos <nicholas.dokos@hp.com>
To: Reid Priedhorsky <reid@reidster.net>
Cc: emacs-orgmode@gnu.org
Subject: Re: rebinding Tab key
Date: Mon, 14 May 2012 18:47:06 -0400	[thread overview]
Message-ID: <10242.1337035626@alphaville> (raw)
In-Reply-To: Message from Reid Priedhorsky <reid@reidster.net> of "Mon, 14 May 2012 11:10:28 MDT." <4FB13C84.4060408@reidster.net>

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.

      reply	other threads:[~2012-05-14 22:47 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-05-14 17:10 rebinding Tab key Reid Priedhorsky
2012-05-14 22:47 ` Nick Dokos [this message]

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=10242.1337035626@alphaville \
    --to=nicholas.dokos@hp.com \
    --cc=emacs-orgmode@gnu.org \
    --cc=reid@reidster.net \
    /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).