Re: possible bug with vim7 and the arrow keys

2007-04-23 Thread Viktor Kojouharov

On 4/23/07, A.J.Mechelynck [EMAIL PROTECTED] wrote:

Виктор Кожухаров wrote:
 Hello,

 I think there might be a bug with vim7, and they way it handles the
 arrow keys in a terminal.
 The problem is, that in insert mode, the arrow keys don't navigate
 through the text, but output letters. For example, pressing Up in
 insert mode would do the equivalent of OAEsc in normal mode. All the
 arrow keys are printing the letters that are part of their escape codes
 in the line above the current one.
 Also, the reason I think this is a bug is that, on the same machines,
 vim6 works correctly. the TERM variable is set to xterm in both the
 terminal and in vim, and this behaviour occurs in any terminal.
 Furthermore, none of the timeout options have any effect on this
 behaviour.
 Vim has been compiled with +terminfo and +termresponse against
 ncurses-5.6

Don't you have one version compiled with +terminfo and the other with -terminfo?

Are both versions running with the same value of 'ttybuiltin'?

Is 'term' left at its default?

yes


Try the following in both versions:

:echo has(terminfo)
:set term? ttybuiltin?


:echo has(terminfo)
 1
:set term? ttybuiltin?
 term=xterm
 ttybuiltin


Each of the above might explain (with a badly-set-up system) the difference in
behaviour you're seeing.

Also, does it get better or worse if you run vim7 or vim6 (try both) as

vim -u NONE -N

to avoid loading the vimrc, gvimrc and plugins?

I forgot to mention that I've already tried vim -u NONE with no
success (and I've also tried with a clean .vim/ directory without a
.vimrc)

However, I havent tried vim -u NONE with -N. having both -u NONE and
-N makes the keys work. So I'll start with vim -u NONE -N and set each
option in the vimrc manually, to see exactly what breaks the arrow
keys



Best regards,
Tony.
--
If a camel flies, no one laughs if it doesn't get very far.
-- Paul White



.vimrc
Description: Binary data


Re: possible bug with vim7 and the arrow keys

2007-04-23 Thread Viktor Kojouharov

On 4/23/07, A.J.Mechelynck [EMAIL PROTECTED] wrote:

Виктор Кожухаров wrote:
 Hello,

 I think there might be a bug with vim7, and they way it handles the
 arrow keys in a terminal.
 The problem is, that in insert mode, the arrow keys don't navigate
 through the text, but output letters. For example, pressing Up in
 insert mode would do the equivalent of OAEsc in normal mode. All the
 arrow keys are printing the letters that are part of their escape codes
 in the line above the current one.
 Also, the reason I think this is a bug is that, on the same machines,
 vim6 works correctly. the TERM variable is set to xterm in both the
 terminal and in vim, and this behaviour occurs in any terminal.
 Furthermore, none of the timeout options have any effect on this
 behaviour.
 Vim has been compiled with +terminfo and +termresponse against
 ncurses-5.6

Don't you have one version compiled with +terminfo and the other with -terminfo?

Are both versions running with the same value of 'ttybuiltin'?

Is 'term' left at its default?

Try the following in both versions:

:echo has(terminfo)
:set term? ttybuiltin?

Each of the above might explain (with a badly-set-up system) the difference in
behaviour you're seeing.

Also, does it get better or worse if you run vim7 or vim6 (try both) as

vim -u NONE -N

to avoid loading the vimrc, gvimrc and plugins?


It turned out that these mappings broke the arrow keys in the terminal:
inoremap expr Esc  pumvisible()?\C-E:\Esc
inoremap expr CR   pumvisible()?\C-Y:\CR
inoremap expr Down pumvisible()?\C-N:\Down
inoremap expr Up   pumvisible()?\C-P:\Up
inoremap expr PageDown pumvisible()?\PageDown\C-P\C-N:\PageDown
inoremap expr PageUp   pumvisible()?\PageUp\C-P\C-N:\PageUp



Best regards,
Tony.
--
If a camel flies, no one laughs if it doesn't get very far.
-- Paul White



Re: possible bug with vim7 and the arrow keys

2007-04-23 Thread Charles E Campbell Jr

Viktor Kojouharov wrote:


It turned out that these mappings broke the arrow keys in the terminal:
inoremap expr Esc  pumvisible()?\C-E:\Esc
inoremap expr CR   pumvisible()?\C-Y:\CR
inoremap expr Down pumvisible()?\C-N:\Down
inoremap expr Up   pumvisible()?\C-P:\Up
inoremap expr PageDown 
pumvisible()?\PageDown\C-P\C-N:\PageDown
inoremap expr PageUp   
pumvisible()?\PageUp\C-P\C-N:\PageUp


IMHO, if one is expecting to use vim (as opposed to gvim), mapping Esc 
causes trouble.
That's because most terminals issue escape sequences 
(esc..something..) when special
keys (such as the arrow keys, functions keys, etc), and that mapping of 
the esc key
messes up the escape sequence.  Besides -- how do you get out of insert 
mode?  I realize
one can use ctrl-o and norm!,  but that seems painful.  If you're not 
using normal mode

or command mode, then you're missing a lot of vim.

Regards,
Chip Campbell



Re: possible bug with vim7 and the arrow keys

2007-04-23 Thread Виктор Кожухаров
В пн, 2007-04-23 в 19:56 +0200, Nikolai Weibull написа:
 On 4/23/07, Charles E Campbell Jr [EMAIL PROTECTED] wrote:
  Viktor Kojouharov wrote:
 
   It turned out that these mappings broke the arrow keys in the terminal:
   inoremap expr Esc  pumvisible()?\C-E:\Esc
 
  IMHO, if one is expecting to use vim (as opposed to gvim), mapping Esc
  causes trouble.
  That's because most terminals issue escape sequences
  (esc..something..) when special
  keys (such as the arrow keys, functions keys, etc), and that mapping of
  the esc key
  messes up the escape sequence.
 
 That's only true if Vim actually interprets the characters coming in
 as normal characters and not an escape sequence.  In that case it
 doesn't matter if Esc is remapped or not, you're going to get weird
 results anyway.
 
  Besides -- how do you get out of insert
  mode?  I realize
  one can use ctrl-o and norm!,  but that seems painful.  If you're not
  using normal mode
  or command mode, then you're missing a lot of vim.
 
 If the pum isn't visible it maps to Esc, so it's not hard to get out
 of insert mode.  Just make sure the pum isn't visible.
 
That was the idea behind the mappings, which I took from a vimtip btw.
But something happens, and none of the remapped keys (besides the Esc)
work correctly if the pum is not visible. Perhaps it might still be a
bug in vim7, but at least its explained now why vim6 works correctly.
   nikolai
-- 
Виктор Кожухаров /Viktor Kojouharov/


signature.asc
Description: Това	 е цифрово	 подписана	 част от	 писмото


Re: possible bug with vim7 and the arrow keys

2007-04-22 Thread A.J.Mechelynck

Виктор Кожухаров wrote:

Hello,

I think there might be a bug with vim7, and they way it handles the
arrow keys in a terminal.
The problem is, that in insert mode, the arrow keys don't navigate
through the text, but output letters. For example, pressing Up in
insert mode would do the equivalent of OAEsc in normal mode. All the
arrow keys are printing the letters that are part of their escape codes
in the line above the current one.
Also, the reason I think this is a bug is that, on the same machines,
vim6 works correctly. the TERM variable is set to xterm in both the
terminal and in vim, and this behaviour occurs in any terminal.
Furthermore, none of the timeout options have any effect on this
behaviour.
Vim has been compiled with +terminfo and +termresponse against
ncurses-5.6


Don't you have one version compiled with +terminfo and the other with -terminfo?

Are both versions running with the same value of 'ttybuiltin'?

Is 'term' left at its default?

Try the following in both versions:

:echo has(terminfo)
:set term? ttybuiltin?

Each of the above might explain (with a badly-set-up system) the difference in 
behaviour you're seeing.


Also, does it get better or worse if you run vim7 or vim6 (try both) as

vim -u NONE -N

to avoid loading the vimrc, gvimrc and plugins?


Best regards,
Tony.
--
If a camel flies, no one laughs if it doesn't get very far.
-- Paul White