Linux
如何為某些終端映射和編譯 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},
st.info
home=\E[H, khome=\E[1~, kend=\E[4~,
按鍵後我只有’〜’。
st 的terminfo文件(如ncurses 郵件列表中所述)已損壞,嘗試使用它時會發生奇怪的事情。
具體來說,此送出通過省略功能值導致了一個問題:
commit 06f8cf8ca87a81db15816658c40b2afcd1ad5332 Author: pl@ninthfloor.org <pl@ninthfloor.org> Date: Fri Nov 11 17:45:46 2016 +0100 Add tmux capabilities to st.info
在 ncurses 中有一個最新的終端描述,st 開發人員對此有點慢(即將3年)。
(ncurses FAQ顯示了一個提取特定條目的範例)。