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