emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
From: John Kitchin <jkitchin@andrew.cmu.edu>
To: Nicolas Goaziou <mail@nicolasgoaziou.fr>
Cc: "emacs-orgmode@gnu.org" <emacs-orgmode@gnu.org>
Subject: Re: Custom keymaps on org blocks
Date: Wed, 7 Jun 2017 07:50:02 -0600	[thread overview]
Message-ID: <CAJ51EToHV7dtq1wh0k_b_MjhmU1rKFvse8bEAtRrUAxFLHgYMQ@mail.gmail.com> (raw)
In-Reply-To: <87o9u0ylu6.fsf@nicolasgoaziou.fr>

[-- Attachment #1: Type: text/plain, Size: 3240 bytes --]

I can see that. There are plenty of cases that certainly would not work,
e.g. in a Python block it would be a mistake to run a command that sends
the buffer to the interpreter! In the example I provided, you can see I
also had to "preserve" a few org-bindings so you could still do C-c ' to
get to the special edit. If you didn't know what was happening, it might
also appear that certain org-bindings you were used to had stopped working,
e.g. I have a lightning fast muscle memory to export a buffer, but it
doesn't work when in a src block with this modification (unless of course
it is "preserved" in the keymap). Whether this matters is up to the user,
since they get to choose how the keymap is defined. I would expect it
defaults to the org-mode-keymap.

On the other hand, there are times when I am working on a document that has
a lot of short code blocks, e.g. for lecture notes or blog posts, where it
is sufficiently tedious to me to switch in and out of the special edit mode
that I wanted to try this solution out, and it became clear you can't
really try it out without modifying the core org code that does the
font-locking on a block.

I don't think we have to go so far as to say we make multiple major mode
keybindings available, so much as context specific keybindings available
where there is value in it. We already have this in org-speed keys for
example, and even these can be context specific to do different things on
headings (even different things on headings with specific properties) and
blocks (
http://kitchingroup.cheme.cmu.edu/blog/2016/12/22/Context-specific-org-mode-speed-keys/
).

If there was a change to org to enable this, I wouldn't expect the core to
change behavior for anyone, it would just make it possible for users to
change this if they wanted to. The same way they can customize the face of
a code block for different languages.



John

-----------------------------------
Professor John Kitchin
Doherty Hall A207F
Department of Chemical Engineering
Carnegie Mellon University
Pittsburgh, PA 15213
412-268-7803
@johnkitchin
http://kitchingroup.cheme.cmu.edu


On Wed, Jun 7, 2017 at 7:21 AM, Nicolas Goaziou <mail@nicolasgoaziou.fr>
wrote:

> Hello,
>
> John Kitchin <jkitchin@andrew.cmu.edu> writes:
>
> > For once in a while uses this works, but this isn't really a solution
> > for key-bindings that are composable, e.g. in lispy. There you can use
> > single key-presses to navigate, rearrange, insert code, etc...
> >
> > Also it adds three chords to every key-binding out of the box, it would
> > be fewer keys to just go to special edit mode unless you make a simpler
> > key definition!
>
> Sure, but I have the feeling that it isn't Org job to allow keybindings
> for multiple major modes in the same buffer. Note that we already did
> this with links, but I think that specific part of link revamp may have
> gone too far.
>
> Also, it could be troublesome because some interactive functions may
> depend on a mode specific variables, which are not initialized while in
> Org mode.
>
> As far as Org is concerned, C-c ', i.e., `org-edit-special' is the way
> to go, IMO.
>
> WDYT?
>
> Regards,
>
> --
> Nicolas Goaziou                                                0x80A93738
>

[-- Attachment #2: Type: text/html, Size: 4361 bytes --]

  reply	other threads:[~2017-06-07 13:50 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-06-05 21:53 Custom keymaps on org blocks John Kitchin
2017-06-06 18:16 ` Nicolas Goaziou
2017-06-07 12:58   ` John Kitchin
2017-06-07 13:21     ` Nicolas Goaziou
2017-06-07 13:50       ` John Kitchin [this message]
2017-06-08  0:22         ` Grant Rettke
2017-06-10  9:03         ` Nicolas Goaziou
2017-06-10 13:58           ` John Kitchin
2017-06-10 19:31             ` John Kitchin
2018-09-05 15:52               ` Matt Price
2017-06-07  1:22 ` Grant Rettke
2017-06-07 12:49   ` John Kitchin
2017-06-07 23:52     ` Grant Rettke

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=CAJ51EToHV7dtq1wh0k_b_MjhmU1rKFvse8bEAtRrUAxFLHgYMQ@mail.gmail.com \
    --to=jkitchin@andrew.cmu.edu \
    --cc=emacs-orgmode@gnu.org \
    --cc=mail@nicolasgoaziou.fr \
    /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).