Karena tidak hanya lesstetapi juga aplikasi teks lain seperti vimmemperlihatkan fitur yang sangat menjengkelkan yang sama, apa yang saya lakukan hanyalah menghilangkan kemampuan terminal untuk mendukung perintah yang terlibat dari terminfodatabase.
Perintah-perintah ini adalah smcupdan rmcup, yang dirancang untuk memungkinkan pengaktifan dan pemindahan tempat cupperintah (posisi kursor) diizinkan.
Ini adalah fungsi shell yang saya gunakan untuk mengotomatiskan tugas, ia bekerja setidaknya dengan Solaris dan kemungkinan besar distribusi Linux:
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}
)
}
Jika entri terminal Anda tidak mundur xterm, Anda harus mengganti xtermdengan nama terminal yang tepat dalam skrip.