Putty -> Suse box -> vim 7.2
편집을 위해 콤보를 사용 하고 Ctrl + 화살표 콤보를 특정 작업에 다시 매핑하려고합니다. 그러나 어떤 이유로 Vim은 바로 가기를 무시하고 삽입 모드로 들어가고 “C”(오른쪽)의 문자 “D”(왼쪽)를 삽입합니다.
키보드 / 터미널 구성의 어느 부분을 비난하고 수정하는 방법은 무엇입니까?
답변
삽입 모드에서 + , + 화살표를 Ctrl입력 하여 터미널이 + 화살표에 어떤 이스케이프 시퀀스를 전송하는지 정확히 파악 하십시오. 이렇게하면 선행 문자 ( vim으로 표시)가 문자 그대로 삽입 되고 나머지 이스케이프 시퀀스가 이어집니다. 그런 다음 vim에게 이러한 이스케이프 시퀀스에 대해 다음과 같이 알려주십시오.CtrlVCtrlESC
^[
map <ESC>[5D <C-Left>
map <ESC>[5C <C-Right>
map! <ESC>[5D <C-Left>
map! <ESC>[5C <C-Right>
Putty에는 불편한 Application Cursor Keys 모드에 대한 기본 설정이 있습니다 (이유는 잊어 버렸습니다).이 설정을 먼저 전환해야 할 수도 있습니다.
이스케이프 시퀀스는 터미널마다 다르지만 충돌 (즉, 다른 터미널의 다른 키에 해당하는 이스케이프 시퀀스)은 드물기 때문에 특정 터미널 유형에만 매핑을 적용 할 필요가 없습니다.
답변
가장 좋은 방법은 PuTTY의 응용 프로그램 커서 키 모드 구성 을 보는 것입니다 .
기본 시퀀스 ESC는 접두사로 전송 된 [
다음 A
ppend 또는 C
hange 또는 삽입 모드로 전환되는 다른 항목이 이어집니다 .
Gilles 팔로 잉 팔로우
^ V 이스케이프의 약간 더 명확한 버전은 od (1)로 볼 수 있습니다. 여기 내 터미널에서 ^ Up, ^ Down, ^ Right, ^ Left를 입력합니다.
$ od -a
0000000 esc [ 1 ; 5 A esc [ 1 ; 5 B esc [ 1 ;
0000020 5 C esc [ 1 ; 5 D
+를 ^[[1;5A
누르면 터미널이 전송 됩니다.Ctrl↑
답변
더 나은 해결책을 찾았습니다 :
http://vim.wikia.com/wiki/Fix_arrow_keys_that_display_A_B_C_D_on_remote_shell
이 문자열을 .vimrc
파일 에 넣으십시오 .
:set term=cons25
최신 정보
이 파일을으로 복사하여 /home
이름을 바꾸십시오 .vimrc
.
/usr/share/vim/vim_VERSION_/vimrc_example.vim
답변
내 이와 다른 vim 키보드 문제에 대해 간단하게
vim ~/.vimrc
set nocompatible