vi 또는 vim에서 키패드의 숫자키 사용

현상


vi 에서 키보드 우측의 넘버패드(키패드)로 숫자키 입력이 안됩니다.



원인 및 해결방법


이 문제는 유닉스 종류나 터미널 에뮬레이터의 문제라기 보다는 vi가 특정 터미널 종류일 때 캐패드의 숫자를 인식하지 못해서 생기는 문제입니다.


터미널 종류를 'xterm'이나 'vt100'이 아닌 'ansi', 'vt220'으로 바꿔 사용합니다. 

vi의 syntax highlight 기능 등 컬러 표현 기능을 이용할려면 ansi를 권합니다.


터미널 종류를 바꾸는 방법은 다음 명령으로 가능합니다.

$export TERM=ansi 또는 setenv TERM ansi



추가 정보

다음은 vi에서만 터미널 종류를 ansi로 바꿔 이용하는 방법이므로 참고하십시오.

사용자의 홈디렉토리에 vi라는 파일을 만들어 다음 내용을 입력합니다.

#!/bin/sh
TERM=ansi
export TERM
exec /usr/bin/vi $@


마지막으로 vi를 실행시키면 위에서 만든 스크립트가 실행되도록 합니다.

$chmod 755 $HOME/vi
$alias vi='$HOME/vi'
(C shell일 경우는 $alias vi '$HOME/vi')


(alias 부분은 사용자의 .profile이나 .cshrc, .login 등 로그인 스크립트에 넣으면 편리합니다)