On Thu, Feb 17, 2011 at 08:14:05PM +0100, Bram Moolenaar wrote:
> You can just keep the existing queue and make this work.  It actually
> already works for most keys, using a modifier sequence.  Using
> structures only makes it bigger.

OK, well which ever way works.. I'm not fussy about the internals of
implementation. So long as it is capable of knowing that Enter is not
Ctrl-M is not Ctrl-Shift-M, I am happy.

> Main problem is that this won't be backwards compatible, currently
> CTRL-I is the same as Tab.  I don't know how to make this work without
> breaking backwards compatibilty.

 :set oldterminalmode

 :map <Ctrl-I> <Tab>
 :map <Ctrl-M> <CR>

For that matter, make it default to this 1970s-like legacy behaviour and
if people want the ability to map newly-recognised keys,

 :set newterminalmode

> Actually, in the GUI many key combinations do work.  Not all though.

Well, then lets make them all work. Please?

Seriously - I am not the only person here. There is a constant stream of
users on #vim, every week you can guarantee someone will want to map
Ctrl-I or Shift-Space or Shift-Enter or some other key combination that
seems perfectly logical to any outside observer, to want to map. Every
week we have to tell them "no". I'm getting tired of it, when there
isn't any technical reason why it can't be done, only "it hasn't been
done this way so far".

So can we please have a plan? If you care deeply about retaining
1970s-like semantics, I'd be happy for a compromise solution. Some
boolean setting that defaults to a value whereby these aliases do occur,
where Ctrl-I and Ctrl-Shift-I -are- synonymous with Tab. But implemented
in a way where I or whichever knowledgable user can say "Yes vim, I know
that Ctrl-I used to mean Tab in the 1970s but I would like an extra
Ctrl key now and 'I' looks a good choice - let me have it". And then I
could toggle setting, and map it. Yes, I'm aware that not -every-
terminal can represent that. Yes I'm aware if I ever go use a real DEC
VT220 glass teletype I've now lost the ability to type it. But that
should be -my- problem - right now vim pointlessly restricts a whole
selection of possible key mappings from GTK or Mac OS X or Win32 or
proper xterms or all sorts of other places, simply for the
backward-looking legacy of retaining compatibility with what the
behaviour used to be in a time before many vim users were even born.

I think it's about time we opened this up a bit, and allowed users to
map the keypresses they want to.

-- 
Paul "LeoNerd" Evans

leon...@leonerd.org.uk
ICQ# 4135350       |  Registered Linux# 179460
http://www.leonerd.org.uk/

Attachment: signature.asc
Description: Digital signature

Reply via email to