特定の端末に対してterminfoをマッピングしてコンパイルする方法は?

特定の端末に対してterminfoをマッピングしてコンパイルする方法は?

urxvt端末があります。
以下を手動で設定すると正常に動作します。

usr @ archlinux ~ : typeset -g -A key      
usr @ archlinux ~ : key[Home]="${terminfo[khome]}"
usr @ archlinux ~ : [[ -n ${key[Home]} ]] && bindkey "${key[Home]}" beginning-of-line
usr @ archlinux ~ : echo ${terminfo[khome]}                                          
usr @ archlinux ~ : ^[[7~  # Ctrl-V, Home pressings

ただし、単純な端末「st」では(デフォルト)にコンパイルした後:

ファイルの生成

tic -sx st.info

構成ファイル

{ XK_Home,          ShiftMask,      "\033[2J",       0,   -1},
{ XK_Home,          ShiftMask,      "\033[1;2H",     0,   +1},
{ XK_Home,          XK_ANY_MOD,     "\033[H",        0,   -1},  
{ XK_Home,          XK_ANY_MOD,     "\033[1~",       0,   +1},
{ XK_End,           ControlMask,    "\033[J",       -1,    0},
{ XK_End,           ControlMask,    "\033[1;5F",    +1,    0},
{ XK_End,           ShiftMask,      "\033[K",       -1,    0},
{ XK_End,           ShiftMask,      "\033[1;2F",    +1,    0},
{ XK_End,           XK_ANY_MOD,     "\033[4~",       0,    0},

聖なるメッセージ

home=\E[H,
khome=\E[1~,
kend=\E[4~,

キーを押した後にのみ「~」が表示されます。

ベストアンサー1

聖なる用語情報ファイル(上記のように)ncursesメーリングリスト)が壊れて使用しようとすると奇妙なことが発生します。

特に、このコミットは機能値の欠落により問題を引き起こしました。

commit 06f8cf8ca87a81db15816658c40b2afcd1ad5332
Author: [email protected] <[email protected]>
Date:   Fri Nov 11 17:45:46 2016 +0100

    Add tmux capabilities to st.info

一つある最新情報ncursesの端末の説明、st開発者はこれについて少し遅いです(まもなく提供する予定です)。サム年)。

(これncurses FAQ特定の項目を抽出する例を示します)。

おすすめ記事