답변:
당신이 할 경우 :help key-notation
정력에, 당신은 빔이 인식하는 유일한 수정이 변화, 제어, (동의어로 취급) 고도 / 메타, 맥 명령 키 것을 볼 수 있습니다. xmodmap을 사용하면 오른쪽 Alt 키를 Vim이 인식하는 새로운 수정 자에 쉽게 매핑 할 수 있지만 현재 사용중인 수정자는 없습니다. (Vim이 보는 것처럼 Linux 시스템이 Mac 명령 키 수정자를 나타낼 수 있는지 여부는 알 수 없습니다.) X가 인식하는 다른 수정자는 Mod4, Hyper 등입니다. 그들을 보거나 적어도 그들을 묶을 수 없습니다.
또 다른 옵션은 특정 키 시퀀스 (예 : Esc- [MyUniqueGarbageHere)를 생성하도록 RightAlt- 왼쪽 화살표를 정렬하는 것입니다. 이것은 확실히 할 수 있으며, Vim에게 왼쪽 Alt 키와는 다른 원하는 행동에 바인딩하도록 지시 할 수 있습니다. 이것의 단점은 각 RightAlt + Key 조합에 대해 개별적으로 수행해야한다는 것입니다. 그러나 몇 개의 키로이 작업을 수행하려는 경우 매우 적합합니다.
정확하게 구현하는 방법은 X에서 또는 Linux 콘솔에서 또는 다른 환경에서 Vim을 사용하는지 여부에 따라 다릅니다. X에서 사용하는 것에 대해 이야기한다고 가정합니다.
xmodmap을 사용하여 RightAlt를 Mod3에 바인딩하십시오. X 세션이 시작될 때 한 번만 실행되도록 구성하십시오. 일부 배포판에는 이미 xmodmap 명령이 포함 된 특정 위치에 파일을로드하는 / etc / X11 / xinit / xinitrc 파일이 있습니다.
xmodmap -e "remove Mod1 = Alt_R" -e "add Mod3 = Alt_R"
터미널 urxvt를 사용합니다. Xresources 유형 파일에서 키 바인딩을 정의 할 수 있습니다. ~ / .config / Xresources에서 할 수 있습니다. ~ / .config / app-defaults / URxvt에서 수행합니다. 해당 파일에 다음과 같은 줄을 넣었습니다 (정확한 구문은 파일을 넣은 파일에 민감합니다).
URxvt.keysym.Mod3-Left: \033<RAlt-Left>
이제 새 터미널을 시작하고 ctrl-V를 입력 한 다음 RightAlt + Left를 입력하십시오. 명령 줄에 ^ [[<RAlt-Left> 문자가 표시되어야합니다. 작동합니까? 좋은.
~ / .vimrc에 다음을 입력하십시오.
set t_Ff=^[<RAlt-Left>
여기서 '^ ['은 단일 이스케이프 문자입니다. 다른 각 문자 ( '<', 'R', 'A'등)는 자체입니다. vim의 "literal"키 접두어와 이스케이프를 사용하여 '^ ['를 입력하십시오 ( "literal"키가 기본적으로 무엇인지 잊어 버립니다. 아마도 ctrl-V일까요?) t_Ff는 사용되지 않은 터미널 항목입니다. . 다른 하나는 t_Fg입니다. 당신은 사용할 수있는 :set termcap
터미널 항목이 할당 된보고 정력에, 그냥 사용하지 않는 일부 XX에 대한 t_XX를 사용합니다. 다음에 제시된 .vimrc 라인을 따르십시오 :
map <t_Ff> whatever-vim-keys-you-want-it-mapped-to
map! <t_Ff> whatever-vim-keys-you-want-it-mapped-to
직접 수행하는 것도 가능합니다.
map ^[<RAlt-Left> whatever-vim-keys-you-want-it-mapped-to
그러나 유휴 터미널 항목을 사용하여 훨씬 안정적으로 작동하는 기술을 찾았습니다.
나는 여기에서 많은 가정을했다 : 당신이 리눅스, X 등을 사용하고 있다는 것이다. urxvt와 다른 터미널 프로그램을 사용하는 경우, 내가 설명한 것을 수행하기에 충분한 키 바인딩 기술을 제공하거나 제공하지 않을 수 있습니다. 덜 이국적인 키를 선택하면 여기에 설명 된 것과 같은 작업을 수행 할 수 있습니다. 예를 들어, RAlt-Left가 F21에 바인딩되도록 정렬 한 다음 거기서 갈 수 있습니다. 요구 사항이 무엇인지 알려주십시오.