[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Highlighting cursor for char before
From: |
Alexandre Garreau |
Subject: |
Highlighting cursor for char before |
Date: |
Mon, 18 Oct 2021 14:36:30 +0200 |
Hello,
TL;DR: I know we can make the cursor so thin it becomes a bar like in
other apps, instead of highlighted following char… but how to make it
highlight the *previous* char? is there a way? that would be more logical
and less confusing, especially when switching between ltr and rtl
Context: by default, emacs cursor highlights a character, instead of being
a small vertical trait like in most applications today. This is handy in
overwrite mode, and logical as per the usage of the “suppr” key, but
people hardly use these nowadays… On the opposite, and pretty counter-
intuitively, the standard DEL command deletes the character *before* the
one highlighted. Furthermore, many unicode characters, character modifiers
(hence the way to insert them) modify the character *before* them, which
induce an even greater confusion: when for instance adding a diacritic
this way, it will be added *not* on the character highlighted, but the one
*before*.
Normally, anybody experienced with computers, hence anybody here, would
not notice it, it would become “infraordinary” because we’re used to our
ways of deleting chars, and seldom use separated diacritics (in my current
main language, french, we have one key per modified letter, hence we don’t
care, but for instance in italian, spanish and russian sometimes you want
to mark tonic accent) in english and many languages… and because of that,
the fact you modify what’s “before” the highlighted character is unnoticed
and goes smoothly.
What I have just noticed, is that the true semantic notion of “before”
(that is correctly maintained in emacs common keybindings) is
ergonomically a confusing notion once you write texts in both ltr and rtl
languages. There, your brain may have used to learn that you modify the
left character, compared to the highlighted character, while of course it
doesn’t: it keeps modifying the previous one, that is not even the
highlighted character but the right one (that is, the wrong one: sorry for
the confusion, I used “right” meaning direction, not expectedness (damn
english for confusing notions, and yay for it for having the word
“expectedness”)).
So that traditional way of highlighting cursor is already bogus and
counterintuitive per se, but in certain context it becomes confusing and
hard. I’m not necessarily asking to change the default right now
(although a solid thin trait would look more logical, appealing and
familiar (that’s only one point among others) and less confusing to many,
especially new users, without being incompatibly contradictory/confusion
wrt the tradition), but how to reverse that? I’d like very much to do it,
I’ve got acquainted to that highlighting block but I’d like something
logical, not legacy (I never use overwrite mode, except with artist-mode
(but that could be conditionally tweaked)).
A suggestion I propose that cursor-type may be equal to (box . -1) or
(hollow . -1), or another variable such as cursor-
PS: sorry for verbosity, I really wanted to make all the points, but I
feel that wasn’t optimal. As always, I hope the fact it’s far faster to
read than write will compensate… :/
PPS: I was unsure whether to post here or on help-gnu-emacs, but since I
found nothing… I start thinking that there’s nothing implemented for that…
- Highlighting cursor for char before,
Alexandre Garreau <=