Vim 및 외국 QWERTZ 키보드

Vim 및 외국 QWERTZ 키보드

Vim은 표준 미국 키보드에 최적화되어 있습니다:

여기에 이미지 설명을 입력하세요.

다음 QWERTZ 키보드(오스트리아와 독일에서 일반적)와 함께 사용하려는 경우:

여기에 이미지 설명을 입력하세요.

우리는 무엇을 해야 합니까?(물론 미국 키맵을 사용하는 것은 제외)

특히 문제는 위의 QWERTZ 키보드에서 자주 사용되는 , , , :키 와 백틱이 접근하기 어렵고 매우 직관에 어긋난다는 점입니다. 예를 들어 를 누른 후 검색하세요 .;/?fx다음'x'에는 ;누르기가 포함됩니다.옮기다열쇠.

어쩌면 다음 수정 ~/.vimrc이 좋은 생각일까요?

nnoremap ü  ` 
nnoremap ä  / 
nnoremap Ä  ?  
nnoremap ö  ; 
nnoremap Ö  :
nnoremap :  <Nop>

vnoremap( 대신 같은 줄 nnoremap)

물론 데드 키도 비활성화해야 합니다(예를 들어 ctrl+를 사용하여 ^버퍼를 전환할 수 있음). 이스케이프 기능으로 Caps Lock을 바꾸는 것도 도움이 됩니다. 그래서 우리는 이것을 파일에 삽입합니다 /usr/share/X11/xkb/symbols/de:

partial alphanumeric_keys
xkb_symbols "switch_esc_caps" {
    include "de(nodeadkeys)"
    name[Group1] = "Germany B";
    key <CAPS> { [ Escape ] } ;
};

~/.Xsession.d스크립트를 디렉토리에 넣으십시오.

#!/bin/bash

setxkbmap -layout de -variant switch_esc_caps

괜찮나요? 적어도 작동하는 것 같습니다. 더 깨끗한 방법이 있습니까?

여전히 문제가 있습니다:

  1. 백틱은 마지막 위치도 표시합니다. 이를 재정의할 수 있는 방법이 있나요? 따라서 이것이 마지막 위치에 대한 표시가 되며 , ? ü를 눌러 마지막 위치로 돌아갈 수 있습니다.üü

  2. 키를 누르면 검색이 열리지만 ä바꾸기 명령에서는 여전히 를 사용해야 합니다 /.

    어쩌면 좋은 생각이 아닐 수도 있지만 sed에서는 다른 구분 기호를 사용하여 선택할 수 있습니다 /. 예를 들면 다음과 같습니다.

    'abc' | sed -e 's-abc-def-g'

    vim에도 비슷한 것이 있을까요?

관련 정보