I've just received some lovely help from LeoNerd in #vim on freenode
with mapping Alt+# keys for buffer switching. However, at the moment
it's an irritating process with an unpleasant trade off (apparently in
the form of being unable to have full UTF-8 support with such mappings
in force).

I'm posting this at eir suggestion in the hope of indicating that
there is significant demand for this to be resolved. It really is a
nice feature to have, and if LeoNerd is to be believed, it's not
terribly difficult. There was some debate on that point, and I'm not
qualified to evaluate it, but here it is just so everyone is on the
same page:

10:50 < LeoNerd> I want this to Jsut Work. For everybody.
10:50 < LeoNerd> I want people never again to have to ask how to do it
because it would just work.
10:51 < LeoNerd> What I already do have is plenty of example programs
that Bram is welcome to look at / copy / steal code / whatever that
demonstrates that this REally Is Not A Hard Problem
10:51 < LeoNerd> All he has to do is copypaste some .c code and it
will work
10:52 < Zathrus> it's not *that* simple, and you know it, if only
because of things like macros.
10:53 < LeoNerd> I don't know it. I've never looked at vim's source
code. I have no idea what macros you refer to
10:53 < Zathrus> (or, more accurately, registers)
10:53 < LeoNerd> Huh?
10:53 < LeoNerd> This is nothing about the registers.
10:53 < Zathrus> yes it is, because a macro is just a register fed to
the input queue
10:53 < LeoNerd> And?
10:53 < LeoNerd> We solved that. That's simple
10:55 < Zathrus> in my failed attempt to get the discussion alive
again I pushed registers off to a "we'll have to look at it" issue,
because  the way they're stored currently means there's absolutely no
way to differentiate ^[ and <ESC>
10:55 < LeoNerd> Huh... YEah, that's trivially simple as well
10:55 < LeoNerd> A real escape key is just a CSI_SPECIAL
10:56 < LeoNerd> Vim has these bizarre "this isn't a key" keys, a
special sequence it puts in the queue. Apparently I wasn't aware of
that
                 last time
10:56 < LeoNerd> So just use those to store all the tricky structural
keys, and escape.
10:56 < LeoNerd> Or rewrite every Escape-prefixed CSI sequence into a
_real_ CSI-byte using sequence
10:56 < LeoNerd> Then the only Escape byte you ever see in the queue
comes from the real <Escape> key
10:57 < LeoNerd> And thus is never ambiguous
10:57 < LeoNerd> There. Done. :)

-- 
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

Raspunde prin e-mail lui