This is the mail archive of the
cygwin
mailing list for the Cygwin project.
Re: un-indenting doesn't work with vim
Mark J. Reed wrote:
It is only in Unix that often the backspace key does not perform the
function > of moving backward a space and deleting the previously
character. I have never, I repeat never had backspace not do a back
space except under Unix - have you?
I've had such issues on many systems. VMS. MVS. NOS and NOS/VE. Not to
mention several BBSes...
So then you agree with me...
You're forgetting that UNIX predates PC's.
No I'm saying it doesn't matter! If the key is labeled "backspace" it
should perform a backspace function (or whatever program is receiving
the signal that this key was pressed it should do the backspace
function). Otherwise label the damn key something else!
When not in a GUI,
Who said GUI? Not I!
or when focus is in a terminal window, pressing the backspace key
doesn't "perform" any "function" except to transmit a character to the
input stream, just as if you were using a serial terminal.
Yeah right. And the "a" key doesn't perform the "a" function but
strangely enough when pretty the "a" key an "a" appears!
ASCII control characters were developed for printing teletypes, on
which ASCII BS (chr(8)) would back the carriage up a character
position (without deleting anything) while ASCII DEL (chr(127) a.k.a.
RUBOUT) would delete (white out or X out) the character under the
cursor without moving the carriage.
Who cares what it did in the "old days"! We aren't in the "old days"!
We're 8 years into the 21st century for crying out loud! Who the hells
uses a teletype anymore?!?
Just as with CR/LF, CRT terminal behavior didn't match either of the
definitions exactly, and different terminal manufacturers chose
different ways of indicating to the host system that the terminal user
had pressed the "undo that last keystroke" key. Most sent either BS or
DEL, but some sent multibyte sequences ("escape sequences", even if
they didn't involve the ASCII ESC code) or other values (the Commodore
PET character set used CTRL-T for this; the Atari used a high-bit
value [155, IIRC]).
This is a driver issue. After 30 some odd years of existence surely Unix
can get it right finally and do the right thing! Other OSes do!
So UNIX software grew up in an environment of variable terminals. It
is designed to be flexible about such things for that reason, and
doesn't assume (the way other PC software does) that you're on the
console of a PC with a local keyboard. Which means it is entirely
possible to set things up so that it doesn't work as you expect. This
is not UNIX's fault.
Sure it is! I submit to you that the backspace key should perform the
backspace function much like the "a" key performs the "produce the
character 'a'" function 99.999% of the time. The above is all excuses.
I'm saying it should do the labeled function most of the time and only
in very rare situations should backspace map to something else. Yet
there are many, many areas where it just breaks down and you even
admitted that you've experienced that phenomena too!
The default configuration on Cygwin works as expected; you seem to
have blindly imported a configuration file from some other UNIX
environment, and poof, things broke. That's the price of using stuff
without understanding it.
That's the price of using stuff that's not well documented. And that's
the price of using stuff that's been broken for years and has all kinds
of workarounds over the years. It's a sign that it's broken - otherwise
there wouldn't be so many fixes. Only Unix suffers this affliction yet
even you will not admit it's a flaw - which is exactly why it remains...
--
Andrew DeFaria <http://defaria.com>
Very funny Scotty - now beam down my clothes.
--
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
Problem reports: http://cygwin.com/problems.html
Documentation: http://cygwin.com/docs.html
FAQ: http://cygwin.com/faq/