나는 두 가지 다른 키보드 레이아웃을 정기적으로 사용하는 약간 특이한 위치에 있습니다 ( Programmers-Dvorak 및 Turkish-F ). 이 레이아웃은 서로 매우 다르며 한 세트의 근육 기억력으로 vim에 능숙합니다. Dvorak 레이아웃에서 vim 명령에 능숙하지만 키보드가 터키어 -F 레이아웃 인 경우 사용이 거의 불가능합니다. 불행히도 나는 정기적으로 영어와 터키어 및 혼합 언어로 파일을 편집합니다. 제 실력은 언어별로 키보드 레이아웃을 잘 입력 할 수 있지만 뇌는 언어를 교차 연결하지 않고 Dvorak 레이아웃에서 터키어로 단어 몇 글자를 입력하거나 그 반대로 입력하는 것입니다.
Xorg에서 레이아웃을 변경하기위한 두 가지 키 경례 바인딩이 있지만 혼합 언어 파일을 편집 할 때 vim의 작업 흐름이 어색합니다.
<vim commands…>i<switch to tr>…content…<escape><switch to en><vim commands…>
이것을 다음과 같이 단축 할 수 있기를 바랍니다.
<vim commands…><leader>i…content…<escape><vim commands…>
...을 사용 하면 시스템 키보드 레이아웃을 변경하지 않고 터키어 레이아웃을 에뮬레이션하기 위해 <leader>i
많은 :imap
값을 설정 합니다. 동시에 i
추가 :imap
값이 없는 삽입 모드로 전환 됩니다. 값 자체는 쉽지만 다음과 같은 알파벳 매핑이 필요합니다.
:imap a u
:imap A U
:imap o i
:imap O İ
"etc.
문제이며, 어떻게 설정이 개 삽입 모드로, 매핑의 무리를 제외하고는 동일하며, 어떻게 이러한 모드를 실행할 수있는 하나 개의 정상 삽입 모드와 모드를 삽입 한 의사 <leader>i
, <leader>a
등?
:imap
원격 ssh 세션에서도 또는 $DISPLAY
다르게 설정되지 않은 경우에도 작동 할 것이라고 생각 했습니다 .
InsertEnter
및InsertLeave
autocmds가 있습니다. 특히InsertLeave
터키어인지 확인한 경우 Dvorak으로 전환하고 플래그를 설정 한 다음 insert를 다시 입력 할 때 삽입 모드를 마지막으로 종료 한 경우 터키어로 다시 전환하십시오.