Sadece son derece sinir bozucu bir özellik sergilemek less
gibi sadece metin uygulamaları değil vim
, yaptığım şey sadece terminalin ilgili komutları terminfo
veri tabanından destekleme yeteneğini kaldırmak .
Bu komutlar smcup
ve rmcup
üzerinde ve bir hareketin değişimi sağlamak için tasarlandı hangi cup
komutu (imleç pozisyonu) izin verildi.
İşte görevi otomatikleştirmek için kullandığım bir kabuk işlevi, en azından Solaris ve muhtemelen çoğu Linux dağıtımında çalışıyor:
fixterminfo()
{
(
[[ ! -d /tmp/terminfo ]] && { mkdir /tmp/terminfo || return ; }
cd /tmp/terminfo || return
TERM=xterm infocmp > xterm.src.org
sed -e 's/rmcup=[^,]*,//' -e 's/smcup=[^,]*,//' xterm.src.org > xterm.src
if diff xterm.src.org xterm.src
then
echo xterm terminfo already patched
return
fi
TERMINFO=/tmp/terminfo tic xterm.src
if [ -f /usr/share/lib/terminfo/x/xterm ] ; then
XTERM=/usr/share/lib/terminfo/x/xterm
else
if [ -f /lib/terminfo/x/xterm ] ; then
XTERM=/lib/terminfo/x/xterm
else
if [ -f /usr/share/terminfo/x/xterm ] ; then
XTERM=/usr/share/terminfo/x/xterm
else
echo xterm terminfo not found ; return
fi
fi
fi
if [ ! -f ${XTERM}.org ]
then
sudo cp ${XTERM} ${XTERM}.org || return
fi
cat /tmp/terminfo/x/xterm | sudo dd of=${XTERM}
)
}
Terminal girişiniz geri dönmezse , komut dosyasında doğru terminal adıyla xterm
değiştirmelisiniz xterm
.