On Tue, Apr 17, 2012 at 5:32 PM, Benjamin R. Haskell <[email protected]> wrote: > If it were as simple as pointing out where the central "Insert keystroke > into processing queue" functionality lives, my guess is that it'd have been > done already. (And we could move on to the "Yay! Finally! So, what tweaks > are left?" phase.)
I certainly don't think this is going to be trivial... we're talking about changing one of the central parts of vim, the input queue. Even if the simple case is trivial (basic keyboard input) that doesn't mean there aren't dangers lurking in macros, registers, maps, etc. But that doesn't mean it's not worthwhile. Frankly, the vim input mechanism is pretty broken nowadays. Contrary to what is in the design-goals there are lots of keys that cannot be mapped, in either terminal or GUI mode (ctrl-shift-anything, ctrl-0, ctrl-;). There are keys that act identically for no apparent reason (ctrl-3 is <ESC>), and there are keys that you really don't want to map (alt-anything) because you can't tell the difference between the key and pressing <ESC>key. And while some of these limitations come from terminfo/termcap, they carry over to the GUI for no obvious purpose. > The fact that it's not backwards compatible is also (unfortunately) > problematic (Cf. Tony Mechelynck's questions about whether <C-]> and <Esc> > will be identical in the future). Yes, they will. At least if you want them to be. I mentioned this in my email a couple weeks ago -- vim should, by default, map <C-[> to <ESC>, <C-i> to <Tab>, etc. But if the user wants it to be different then they can do a map. The only people who would be bitten are those who do something like: :map <C-i> call <SID>MyTab() And expect pressing <Tab> will call MyTab() if they're using the GUI or a newer terminal that sends CSI sequences. There really shouldn't be a backwards compatibility concern -- older terminals will still send the same key sequences and vim will still interpret them the same way. But at least we wouldn't be limited to the lowest common denominator for terminals as we are now. It's akin to not implementing colors at all because not all terminals can display more than two. Tom Sorensen -- 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
