Re: possible bug with vim7 and the arrow keys
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
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
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 в 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
Виктор Кожухаров 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