Jestem nowy w vi. Właściwie używam go tylko do modyfikowania małych plików tekstowych. Mam poważny i niezwykły, jak sądzę, problem z klawiaturą numeryczną, jak następuje: piszę vi IN
i wciskam enter. Dzięki temu mam dostęp do pliku o nazwie IN
. Następnie używam klawiszy strzałek (lub hjkl), aby przesuwać kursor przez plik. Następnie naciskam, i
aby aktywować insert mode
i pisać. Nadchodzi problem: klawiatura numeryczna nie działa poprawnie, ponieważ pqrstuvwxyl
pojawia się, gdy naciskam 0123456789+
( ,.-*/=
nadal działa).
macos
terminal
el-capitan
vi
Enrico Maria De Angelis
źródło
źródło
Odpowiedzi:
O ile rozumiem, istnieją dwa możliwe tryby klawiatur numerycznych terminali VT100: normalny tryb klawiatury numerycznej i tryb klawiatury aplikacji . Ten ostatni ma klawisze klawiatury, które nie wysyłają liczb, ale sekwencje specjalne. Na przykład, klawisz „1” wysyła
<ESC>[Oq
, klawisz „2” wysyła<ESC>[Or
, z których tylko litery q i r są widoczne na ekranie. Są to sekwencje kontrolne, które program (host) może interpretować jako polecenia niektórych funkcji. W tym trybie klawisze klawiatury są praktycznie używane jako dodatkowe klawisze funkcyjne.Zgodnie ze standardem terminalu VT100 program (host) może „poprosić” terminal o przełączenie klawiatury do trybu aplikacji. (Można to zrobić, wysyłając określoną sekwencję kontrolną do terminala). Vi i Vim są znani z tego. Przełącznik trybu nie jest uniwersalny, ale dotyczy programu do programowania: jest aktywny tylko w programie, który tego zażądał. W innych programach, w tym w powłoce, klawiatura pozostaje w trybie numerycznym. Domyślnym ustawieniem w Terminal.app OS X jest zezwolenie programom na przejście do trybu aplikacji, który został wyłączony przez odznaczenie opcji „Zezwalaj na tryb klawiatury aplikacji VT100”. (BTW: w OS X 10.7 ta opcja jest oznaczona jako „Surowe zachowanie klawiatury VT100”).
Zobacz też:
http://www.vt100.net/docs/vt100-ug/chapter3.html https://ttssh2.osdn.jp/manual/en/usage/tips/appkeypad.html
źródło
Sam rozwiązałem problem, ale chciałbym wiedzieć, DLACZEGO moje rozwiązanie działa. Odznaczam opcję, którą czerwona strzałka wskazuje na poniższym obrazku To jest włoski, ale angielska wersja tego samego okna jest tutaj
Ale nie pamiętam, aby to umożliwić, ale tak jest.
źródło