emacs-orgmode
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [O] Emulating list functionality from traditional GUI editors


From: Jorge A. Alfaro-Murillo
Subject: Re: [O] Emulating list functionality from traditional GUI editors
Date: Thu, 11 Dec 2014 13:44:44 -0500
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.4.50 (gnu/linux)

Calvin Young writes:

;; Starting with this setup: - one - two + a[CURSOR_HERE] ;; Hitting <enter> should produce: - one - two + a + [CURSOR_HERE] ;; Hitting <enter> again would then produce: - one - two + a - [CURSOR_HERE] ;; And hitting <enter> one last time would produce: - one - two + a [CURSOR_HERE]

I think there is a confusion here, my understanding is that org separates sublists by indentation so if you have:

- a
+ b[CURSOR]

and hit M-<enter> it should correct to:

- a
- b
- [CURSOR]

It is different if you have:

- a
 + b[CURSOR]

or

- a
 - b[CURSOR]

or
1. a
  - b[CURSOR]
2. c

etc

I know we can already achieve this with some combination of M-<enter>, <enter>, and M-S-<enter>, but this behavior has 2 distinct advantages: 1. The user only needs to remember one key to cycle between all of these actions, rather than 3 key combinations.

But the problem is that you lose the functionality of <enter> to exit the list. I want to have <enter> to finish a line and <enter> <enter> to finish a paragraph like I am used everywhere else.

2. This behavior is more consistent with the bulleting behavior in other editors

We shouldn't aim to imitate other much inferior editors ;-)

, which could make it feel more intuitive for new org-mode users. [...] Yes, but for the reasons mentioned above, it'd be nice if we could use the <enter> to outdent a new list entry as well.

I disagree, <tab> and S-<tab> for indenting is much more friendly than <enter>, most modes in emacs behave like that. A new user just has to understand that sublists are separated by indentation, and learn that M-<enter> is for lists, and M-S-<enter> is for check boxes.

Jorge A. Alfaro-Murillo says:
I guess you could remap <backspace> to a function that checks if you are at the beginning of the list and when that is true it does what you want, otherwise it just calls `delete-backward-char'. But generally I would do C-a C-k <backspace>, just two more keystrokes.
Makes sense. This is an easy function to write — just wanted to make sure there wasn't something that already does this out-of-the-box.

It should save around half a second per use, so if you use it five times a day you have about 1 hour to write it... minus the time it takes you to read this: http://xkcd.com/1205/ =)

In general, I *believe* a lot of folks use lists and checkboxs in similar ways. I certainly do, and I frequently accidentally hit M-<enter> while editing a checkbox when I really intend to insert a new checkbox entry. As a result, it seems desirable to create an interface that treats them more similarly (e.g., using a single <enter> keypress to auto-insert a new entry).

If this doesn't exist yet, I'd be happy to roll it myself. But it'd be nice to avoid re-inventing the wheel here if possible :)

Maybe, but you would lose the ability to have mixed check boxes and items lists. But you are right, it might be a nice configuration to allow M-<enter> to give you another item with check box if you are already in one (and then M-S-<enter> gives you a plain list item). But it might be even more confusing for a new user as to why the behavior is not consistent with M-<enter>, so probably it shouldn't be default.

Best,

--
Jorge.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]