ไม่เพียงlessแต่ยังมีแอพพลิเคชั่นข้อความอื่น ๆ เช่นvimแสดงคุณสมบัติที่น่ารำคาญอย่างยิ่งเหมือนกันสิ่งที่ฉันทำคือการลบความสามารถของเทอร์มินัลเพื่อรองรับคำสั่งที่เกี่ยวข้องจากterminfoฐานข้อมูล
คำสั่งเหล่านี้คือsmcupและrmcupซึ่งถูกออกแบบมาเพื่ออนุญาตให้เปิดและย้ายที่อนุญาตให้ใช้cupคำสั่ง (ตำแหน่งเคอร์เซอร์)
นี่คือฟังก์ชั่นเชลล์ที่ฉันใช้ในการทำงานอัตโนมัติให้ทำงานอย่างน้อยกับ Solaris และการแจกแจง 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}
  )
}
หากรายการเทอร์มินัลของคุณไม่ย้อนกลับไปxtermเป็นคุณควรแทนที่xtermด้วยชื่อสถานีด้านขวาในสคริปต์