যেমন না শুধুমাত্র less
অন্যান্য পাঠ্য অ্যাপ্লিকেশনগুলির মতো vim
একই অত্যন্ত বিরক্তিকর বৈশিষ্ট্যটি প্রদর্শন করে, আমি যা করি তা হ'ল terminfo
ডাটাবেস থেকে জড়িত কমান্ডগুলি সমর্থন করার জন্য টার্মিনালের সক্ষমতা সরিয়ে দেওয়া ।
এই কমান্ড হয় smcup
এবং rmcup
যা এবং একটি পদক্ষেপ যেখানে সুইচিং করার অনুমতি ডিজাইন করা হয়েছে cup
কমান্ড (কার্সার অবস্থানে) অনুমতি দেওয়া হয়েছে।
টাস্কটি স্বয়ংক্রিয় করতে ব্যবহৃত একটি শেল ফাংশন এখানে দেওয়া হয়েছে, এটি কমপক্ষে সোলারিস এবং সম্ভবত বেশিরভাগ লিনাক্স বিতরণে কাজ করে:
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
করা উচিত ।