Наскільки я розумію, існують два можливі режими для цифрових клавіатур терміналів VT100: звичайний режим цифрових клавіатур і режим клавіатури програми . В останньому є клавіші клавіатури, які надсилають не числа, а послідовності виходу. Наприклад, клавіша "1" надсилає клавішу <ESC>[Oq
"2" <ESC>[Or
, з якої на екрані видно лише букви q і r . Це контрольні послідовності, які програма (хост) може інтерпретувати як команди для деяких функцій. Так, у цьому режимі клавіші клавіатури практично використовуються як додаткові функціональні клавіші.
Відповідно до стандарту терміналу VT100, програма (хост) може «попросити» термінал переключити клавіатуру в режим програми. (Це можна зробити, надіславши певну керуючу послідовність до терміналу.) Віто і Vim, як відомо, роблять це. Перемикач режимів не є універсальним, але в програмі на базі програми: він активний лише в програмі, яка його запросила. В інших програмах, включаючи оболонку, клавіатура залишається в режимі числення. Налаштування за замовчуванням в Terminal.app OS X полягає в тому, щоб дозволити програмам переходити в режим програми. Це те, що ви зараз відключили, скасувавши опцію "Дозволити режим клавіатури програми VT100". (BTW: В OS X 10.7 ця опція позначена "Сувора поведінка клавіатури VT100".)
Дивись також:
http://www.vt100.net/docs/vt100-ug/chapter3.html
https://ttssh2.osdn.jp/manual/en/usage/tips/appkeypad.html