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 OA<Esc> 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

Reply via email to