Ich bin neu bei vi. Eigentlich verwende ich es nur, um kleine Textdateien zu ändern. Ich habe ein ernsthaftes und, glaube ich, ungewöhnliches Problem mit dem Ziffernblock, wie folgt: Ich schreibe vi IN
und drücke die Eingabetaste. Dadurch erhalte ich Zugriff auf die Datei mit dem Namen IN
. Dann benutze ich die Pfeiltasten (oder hjkl), um den Cursor durch die Datei zu bewegen. Dann drücke ich i
zum Aktivieren insert mode
und schreibe. Hier kommt das Problem: Nummernblock funktioniert nicht richtig, da bekomme ich pqrstuvwxyl
wenn ich drücke 0123456789+
( ,.-*/=
funktioniert noch).
Soweit ich weiß, gibt es zwei mögliche Modi für Nummerntastaturen von VT100-Terminals: den normalen Numeric-Keypad-Modus und den Application-Keypad-Modus . Letzteres lässt die Tastaturtasten keine Zahlen senden, sondern Escape-Sequenzen. Die Taste '1' sendet zB <ESC>[Oq
, die Taste '2' sendet <ESC>[Or
, von denen nur die Buchstaben q und r auf dem Bildschirm sichtbar sind. Dies sind Steuersequenzen, die das Programm (Host) als Befehle für einige Funktionen interpretieren kann. In diesem Modus werden die Keypad-Tasten also praktisch als zusätzliche Funktionstasten verwendet.
Gemäß dem VT100-Terminalstandard kann ein Programm (Host) das Terminal "auffordern", die Tastatur in den Anwendungsmodus zu schalten. (Dies kann durch Senden einer bestimmten Steuersequenz an das Terminal erfolgen.) Vi und Vim sind dafür bekannt. Der Modusschalter ist nicht universell, sondern von Programm zu Programm: Er ist nur in dem Programm aktiv, das ihn angefordert hat. In anderen Programmen, einschließlich der Shell, bleibt die Tastatur im Zahlenmodus. Die Standardeinstellung in Terminal.app von OS X besteht darin, Programmen zu erlauben, in den Anwendungsmodus zu wechseln, was Sie jetzt deaktiviert haben, indem Sie die Option „VT100-Anwendungstastaturmodus zulassen“ deaktivieren. (Übrigens: In OS X 10.7 heißt diese Option "Striktes VT100-Tastaturverhalten".)
Siehe auch:
http://www.vt100.net/docs/vt100-ug/chapter3.html https://ttssh2.osdn.jp/manual/en/usage/tips/appkeypad.html
Ich habe das Problem selbst gelöst, aber ich würde gerne wissen, WARUM meine Lösung funktioniert. Ich habe die Option, die der rote Pfeil im folgenden Bild anzeigt, deaktiviert . Dies ist italienisch, aber die englische Version desselben Fensters ist hier
Aber ich kann mich nicht erinnern, dies aktiviert zu haben, aber da ist es.
Enliko