2011-01-16 2 views
2

나는 FreeBSD에서 Vim 7.3을 사용합니다. 나는 퍼티를 통해이 기계에 연결한다. 빔에서 작업 할 때, 내가 원하는 것을하기 위해 F10 키를 다시 매핑 할 수 없습니다. 빔 재 매핑 F10 키

nmap <F10> :!ls<CR> 

그럼 내가 그랬어, "소스 $의 MYVIMRC는".vimrc 파일의 변경 내용을로드 할 수 내의 .vimrc에서, 나는 다음과 같은했다. 이 후에 F10을 누르면지도를 실행하는 대신^[[21 ~]가 인쇄됩니다. 나는 noremap의 모든 조합을 시도했지만 아무것도 작동하지 않습니다.

이 기능 키를 다른 기능 키로 다시 매핑하는 것은 다른 용도로 매핑되기 때문에 옵션이 아닙니다.

그냥 퍼티 구성 옵션의 터미널 -> 키보드에서 "기능 키 및 키패드"옵션을 "Linux"로 설정했습니다.

이 기능을 사용하려면 어떤 제안을 원하십니까?

답변

3

termcap/terminfo처럼 들리거나 사용하고있는 $TERM의 값으로 인해 Vim이 터미널이 F10으로 F10으로 보내는 문자 시퀀스를 인식하지 못하게됩니다.

쉽게 해결할 수있는 방법은 문자 시퀀스를 매핑하는 것입니다. 당신의 .vimrc에 다음을 입력 :

nmap <CTRL-V><F10> :!ls<CR> 

<CTRL-V><F10>은 CTRL-V는 F10 다음에 압박되는 경우. 그러면 ^[[21~이 버퍼에 표시됩니다. 괜찮습니다.이 매핑이 작동해야합니다 (최소한 해당 터미널에서).

"올바른"픽스는 $TERM, termcap 또는 terminfo 데이터베이스의 값을 변경하여 Vim이 ^[[21~이 F10임을 알 수 있습니다. $TERM에서 xterm으로 설정하면 효과가 있습니다.

+0

'$ TERM'을'xterm'으로 설정하면 매력처럼 작동합니다. Laurence에게 감사드립니다. –