Re: [dwm] [ANNOUNCE] dvtm-0.4

From: Marc Andre Tanner <mat_AT_brain-dump.org>
Date: Mon, 25 Feb 2008 17:45:43 +0100

On Mon, Feb 25, 2008 at 12:24:53AM -0800, Charlie Kester wrote:
> I've been catching up on the archives since joining this list. In
> Marc's announcement for dvtm-0.4 he included the following todo item:
>
>> * terminal emulation fixes: make arrow keys work within vim (without
>> the TERM=linux workaround).
>
> I think this is vim's bug, not dvtm's or madtty's or even rxvt's.
> I have the same problem when I run vim in iTerm with an rxvt profile
> and no dvtm.
>
> It seems to be related to vim's builtin terminal definitions. I
> checked the terminfo definitions for cub1, cuf1, cuu1 and cud1 with
> infocmp. They're exactly the same for xterm as for rxvt, yet the
> keys work in vim under xterm.
>
> So I would vote against spending any time trying to fix it. The linux
> term workaround is acceptable, imo.
>
> Or am I missing something?

I have already spent some time tracking this down, it turns out that
there are multiple keyboard cursor modes. On startup vim switches to
one of those and then expects the terminal to respond accordingly.
The reason why it worked with TERM=linux is that the linux console
doesn't support those modes, vim knows this and doesn't try to switch.

I have now added some code which implements the mode switching and the
arrow key should work with current git master. Would be nice if somebody
could confirm this. There is also a hack included which makes the keypad
somewhat useable when used with putty.

I have heard that there are a few problems with certain keys
(home/end/backspace) which don't work in emacs. I have left this as an
exercise for an emacs user ;) Jokes aside, i will try to fix this too
but i am a bit busy right now. So your welcome to contribute a patch.

Regards,
Marc

-- 
 Marc Andre Tanner >< http://www.brain-dump.org/ >< GPG key: CF7D56C0
Received on Mon Feb 25 2008 - 17:43:55 UTC

This archive was generated by hypermail 2.2.0 : Sun Jul 13 2008 - 15:21:22 UTC