vi의 숫자 키패드 키는 숫자 대신 문자를 삽입합니다.


8

vi를 처음 사용합니다. 실제로 작은 텍스트 파일을 수정하기 위해 사용하고 있습니다. 나는 다음과 같이 진지하고 특이한 숫자 키패드에 문제가 있다고 생각 vi IN합니다. 이렇게하면라는 파일에 액세스 할 수 있습니다 IN. 그런 다음 화살표 키 (또는 hjkl)를 사용하여 파일을 통해 커서를 이동하십시오. 그런 다음을 눌러 i활성화 insert mode하고 씁니다. 여기에 문제가 있습니다. ( 아직 작동)을 pqrstuvwxyl누르면 숫자 키패드가 제대로 작동하지 않습니다 .0123456789+,.-*/=


1
왜 내 질문이 여기로 이전 되었습니까? 문제는 Mac이 아니라 Vi에 관한 것입니다. 사실, 내가 말했듯이 숫자 키패드는 Vi 에서만 작동하지 않았습니다 . 반대로 그것은 항상 터미널이나 다른 응용 프로그램에서 작동했습니다.
엔리코 마리아 데 안젤리 스

답변:


8

내가 아는 한 VT100 터미널의 숫자 키패드 에는 일반 숫자 키패드 모드응용 프로그램 키패드 모드의 두 가지 가능한 모드가 있습니다 . 후자는 키패드 키가 숫자가 아니라 이스케이프 시퀀스를 전송합니다. 예를 들어, '1'키 전송 <ESC>[Oq, '2'키 전송 <ESC>[Or은 문자 qr 만 화면에 표시됩니다. 이들은 프로그램 (호스트)이 일부 기능에 대한 명령으로 해석 할 수있는 제어 순서입니다. 따라서이 모드에서 키패드 키는 실제로 추가 기능 키로 사용됩니다.

VT100 터미널 표준에 따라 프로그램 (호스트)은 터미널을 '요청'하여 키패드를 애플리케이션 모드로 전환 할 수 있습니다. (이는 터미널에 특정 제어 시퀀스를 전송하여 수행 할 수 있습니다.) Vi 및 Vim이이를 수행하는 것으로 알려져 있습니다. 모드 스위치는 범용 적이 지 않지만 프로그램 기반의 프로그램에서 작동합니다. 요청한 프로그램에서만 활성화됩니다. 쉘을 포함한 다른 프로그램에서 키패드는 숫자 모드로 유지됩니다. OS X의 Terminal.app의 기본 설정은 프로그램이 응용 프로그램 모드로 전환하도록 허용하는 것입니다. 이제 "VT100 응용 프로그램 키패드 모드 허용"옵션을 선택 취소하여 비활성화합니다. (BTW : OS X 10.7에서이 옵션은 "Strict VT100 키패드 동작"으로 표시되어 있습니다.)

또한보십시오:

http://www.vt100.net/docs/vt100-ug/chapter3.html https://ttssh2.osdn.jp/manual/en/usage/tips/appkeypad.html


어쩌면 나는 당신이 쓴 것에 요점을 얻지 못했습니다. 터미널에 있으면 키패드가 제대로 작동합니다 (숫자 삽입). "이상한"동작은 Vi의 삽입 모드에서만 발생했습니다.
Enrico Maria De Angelis

1
모드 스위치는 요청한 프로그램에서만 활성화됩니다 (이 경우 : vi). 따라서 키패드는 쉘을 포함한 다른 프로그램에서 정상적으로 작동합니다. 이 설명을 답변에 추가했습니다.
Dictionarics Anonymous

9

자체적으로 문제를 해결했지만 솔루션이 작동하는 이유를 알고 싶습니다. 다음 그림에서 빨간색 화살표가 나타내는 옵션을 선택 취소했습니다. 시작하다 이태리어이지만 동일한 창의 영어 버전이 여기에 있습니다.

그러나 나는 이것을 가능하게하는 것을 기억하지 않지만 거기에 있습니다.


편집 내용이 잘못되었습니다. " 나는 이것을 가능하게하는 것을 기억하지 않는다 " 는 것은 거짓이다 . 반대로 나는 이 창에서 그것을 활성화하지 않았다고 확신합니다 !
엔리코 마리아 데 안젤리 스

또한이 옵션이 왜 그런 결과를 가져 왔는지, 다른 결과가 있는지, 오타의 부작용으로 가능할 수 있는지 말해달라고 요청한 부분이있었습니다.
Enrico Maria De Angelis

AFAIK 옵션은 기본적으로 활성화되어 있습니다 (적어도 Mac에서도 활성화되어 있으며 의도적으로 직접 활성화하지 않았다고 확신합니다). 두 번째 의견은 답변에 숨겨진 후속 질문에 대한 편집 기록의 설명을 참조하십시오.
nohillside

1
참조는 항상 숫자 키패드를 사용하여 Vi에 숫자를 삽입한다는 것입니다. 어쨌든, 옵션은 Yosemite에서 El Capitan으로 업그레이드하여 활성화되었을 수 있습니다 (여전히 숫자 키패드를 사용 하여 업그레이드 숫자를 삽입 할 것입니다 ).
Enrico Maria De Angelis

1
기본적으로 켜져있었습니다. OS X 10.11 El Capitan부터는 기본적으로 꺼져 있습니다. Vim은 기본 매핑을 제공하지 않고 DECKPAM (응용 프로그램 키패드 모드)을 활성화합니다. Vim이 왜 이런 일을하는지 알 수 없었습니다. 기본 매핑을 제공하거나 기본적으로 DECKPAM을 활성화하지 않아야한다고 생각합니다.
Chris 페이지
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.