[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [screen-devel] screen + tcsh
From: |
Amadeusz Sławiński |
Subject: |
Re: [screen-devel] screen + tcsh |
Date: |
Tue, 18 Oct 2016 23:51:09 +0200 |
On Tue, 18 Oct 2016 09:28:29 -0400 (EDT)
Josef Ridky <address@hidden> wrote:
> Hi,
>
> I would like to ask for one thing about keybinding in screen.
> Following problem is the reason, why am I asking:
>
> -----------------------------------
> Description of problem:
> The home and end keys no longer work in screen when using tcsh as
> shell.
>
> Steps to Reproduce:
> 1. start screen:
> $ screen
>
> 2. start tcsh
> $ tcsh
>
> 3. make sure home and end are bound:
> $ bindkey | egrep '^(home|end)'
> home -> beginning-of-line
> end -> end-of-line
>
> 4. press home or end
>
> Actual results:
> pressing "home" and "end" prints a "~".
>
> Expected results:
> cursor jumps to the beginning or end of the line.
> -----------------------------------
>
> I think, that this behavior is caused by using 'term=xterm' in config
> file. Problem is, that this line has to be in the config file,
> because it solves other, much worse problem.
>
> Does anyone know, how to solve this without removing term=xterm?
> Thanks for your ideas.
>
> Regards
>
> Josef Ridky
> Associate Software Engineer
> Core Services Team
> Red Hat Czech, s.r.o.
>
>
Hi,
yes, this may behave the way you describe, because terminfo entries for
those terms are different
On my system:
% infocmp xterm| grep 'khome\|kend'
kdch1=\E[3~, kend=\EOF, kent=\EOM, kf1=\EOP, kf10=\E[21~,
kf8=\E[19~, kf9=\E[20~, khome=\EOH, kich1=\E[2~,
% infocmp screen| grep 'khome\|kend'
kend=\E[4~, kf1=\EOP, kf10=\E[21~, kf11=\E[23~,
khome=\E[1~, kich1=\E[2~, knp=\E[6~, kpp=\E[5~, nel=\EE,
Notice that khome and kend are different.
You may also compare escapes generated by those keys between outside
and inside of screen by typing 'Ctrl+v, home' and 'Ctrl+v, End'.
To fix this you can try adding something like this to your screenrc
termcapinfo xterm @7=\E[4~:kh=\E[1~
(magic letters are from 'man terminfo')
Btw, what worse problem does it solve?
BR,
Amadeusz