2010-12-08 7 views
28

저는 최근 VIM 해커를 배웠고 많은 유용한 명령을 배우고 VIM으로 텍스트를 편집하는 데 매우 효율적입니다. 나는 프로그래밍을 위해 꽤 끔찍한 핀 질의 쿼티 키보드 레이아웃 (아래 그림 참조)을 사용하고 있습니다. 모든 일반적인 코딩 특수 문자 ()[]{}/\시프트 또는 alt gr숫자 키 중 하나를 눌러 발생하지만, 저는 이미 그 사실에 익숙합니다. 모국어로 글쓰기와 IRC 채팅을 많이하고, äö 문자가 필요하기 때문에 키보드 레이아웃을 변경하고 싶지 않습니다. (å은 쓸모가 없어 스웨덴 사람들 만 사용합니다).핀란드어/스웨덴어 또는 기타 미국 이외의 키보드 레이아웃에 대한 프로그래머의 VIM 설정

내 문제 일부 VIM 명령이 Ctrl 키 로 변환하는]^예를 들어 이동 - 투 - 태그 아래에 커서입니다, 기본적으로 매우 어려운 keymapping을 가지고있다 - 핀란드에 9 - AltGr 키을 건반. 이것은 왼손으로 내 왼손으로 키를 누르고, 오른쪽 엄지 손가락에 alt gr을 누르고 내 오른쪽 검지 손가락을 키로 확장해야합니다. Emacs를 사용하거나 클래식 기타를 연주하는 것과 같은 기분입니다. 정확하지 않은 인간 공학.

sweden keyboard

참고 :

여기에 키보드 레이아웃이 어떻게 생겼는지의 파란색으로 표시됩니다 키가 AltGr 키 (오른쪽 ALT) 및 해당 키를 눌러 기록됩니다. 빨간색은 두 개의 키로 구성된 문자이거나 자신이 문자를 내지 않는 데드 키입니다. F.ex. ü 문자를 입력하려면 먼저 ¨^~ 키를 누른 다음 u 키를 누릅니다. 악센트 키도 마찬가지입니다. 이러한 데드 키는 VIM에서 매핑 할 수 없습니다.

그래서 기본적으로 내가 3 추가 알파벳 키 (å ö A)을 사용할 수있다, 그러나 그들은 두 번 이상 매핑 할 수없는, 수정 키 (VIM에서) 그들과 함께 작동하지 않습니다. ä에 무언가를 매핑 할 수 있지만 Ä 또는 <C-ä>은 매핑 할 수 없습니다.

이제 핀란드어/스웨덴어 또는 타사 키보드 레이아웃 사용자의 VIM 설정에 대한 아이디어를 찾고 있습니다. 키 매핑, .vimrc 팁 및 유용한 다른 정보를 공유하십시오.

+1

+1 이미지를 게시 할 수 있습니다. P – Tronic

답변

5

코딩 할 때 키보드를 미국 레이아웃으로 유지하고 악센트 부호가있는 문자 또는 다른 언어 특정 문자가 필요한 텍스트를 작성할 때만 로컬 레이아웃 (이탈리아어)으로 전환하십시오. 결국 이것은 전환하기위한 키 누르기 일 뿐이며 프로그래밍을 위해 미국 레이아웃을 능가하는 것은 없습니다. 나는 조금 노력했지만,이 문제를 해결하기 위해 많은 매핑을 지정하는 것이 필요한 전체 레이아웃 전환보다 훨씬 골칫거리라는 것을 알게되었습니다.

1

실용적인 단초가 있으면 단순히 레이아웃을 전환 할 수만 있습니까?

예를 들어, 우분투에서는 Preferences → Keyboard → Layouts → Options → Key(s) to change layout으로 이동하여 레이아웃간에 쉽게 전환 할 단축키를 설정할 수 있습니다.두 Shift 키를 사용하여 레이아웃 사이를 빠르게 이동하고, 각 윈도우에 고유 한 레이아웃 설정이있는 옵션도 있습니다. 문서/이메일/등을 작성하면서 Vim에서 미국 영어 레이아웃으로 프로그래밍하는 경우 잘 작동합니다. 다른 레이아웃의 다른 창에서 (코드 주석 등을 위해) 레이아웃을 전환해야하는 경우에도 Shift 버튼과 Shift 버튼을 동시에 누르는 것은 거의 필요하지 않습니다.

다른 데스크톱 환경/운영 체제에서도 이와 비슷한 방식으로 구성해야합니다.

2

내 솔루션은 미국과 FIN/SWE 레이아웃의 맞춤형 조합을 사용하는 것입니다. 아주 잘 작동합니다 (또는 적어도 끔찍한 핀 레이아웃보다 좋음). Image of my layout

그 이미지에는 아마도 내가하는 모든 문자가 없을 것입니다.하지만 대부분은 어쨌든 있습니다.

0

나는 단순히이 키 조합을 다른 키 바인딩에 매핑했습니다.

예를 들어 ctrl-]m-<down>에 매핑됩니다.

2

VIM에서 langmap 및 keymap 설정을 사용할 수 있습니다. 나는 콜람에 사용한다. 자신 만의 레이아웃을 지정할 수 있습니다.

h keymap 
h langmap