거의 모자에 무언가를 입력 할 때마다 일반 모드로 돌아올 때 Capslock을 끄는 것을 잊어 버립니다. 그런 다음 커서를 움직여서 여러 줄과 내가 일어나지 않을 것으로 예상되는 다른 많은 것들을 결합하려고 시도합니다.
escape를 눌러 일반 모드로 들어갈 때 capslock을 끄도록 vim을 구성 할 수 있습니까?
OS 관련 솔루션이 있다면 Linux에 적용 할 수있는 솔루션에 관심이 있습니다.
거의 모자에 무언가를 입력 할 때마다 일반 모드로 돌아올 때 Capslock을 끄는 것을 잊어 버립니다. 그런 다음 커서를 움직여서 여러 줄과 내가 일어나지 않을 것으로 예상되는 다른 많은 것들을 결합하려고 시도합니다.
escape를 눌러 일반 모드로 들어갈 때 capslock을 끄도록 vim을 구성 할 수 있습니까?
OS 관련 솔루션이 있다면 Linux에 적용 할 수있는 솔루션에 관심이 있습니다.
답변:
Capslock을 다시 Ctrl 키로 다시 매핑했으며 더 이상 Capslock을 거의 사용하지 않습니다. 그러나 vim의 경우 필요한 경우 소프트웨어 임시 capslock으로 tpope / vim- capslock이 있습니다. 이것을 사용하면 이벤트에 대한 autocmd를 설정하고 InsertLeave
capslock을 비활성화 하는 것이 매우 쉽습니다 .
일반 모드에서 caps lock을 자동으로 끄는 방법을 찾았습니다 (Linux에서만 작동하지만).
플러그인으로 작성된 솔루션은 명령 모드와 같이 한 가지 방법으로 (삽입에서 일반으로) 일반 모드로 들어갈 수 있다는 점을 고려하지 않습니다.
실제로 일반 모드로 들어가면 활성화되는 자동 명령 이벤트가 없으므로 대신 사용했던 CursorHold
이벤트는 일반 모드로 입력하지 않을 때 활성화되는 이벤트 였습니다 .
au CursorHold * call TurnOffCaps()
set updatetime=10
업데이트 시간을 아주 작은 숫자로 설정하면 아무 것도 입력 할 수 있기 전에 항상 활성화됩니다.
function TurnOffCaps()
let capsState = matchstr(system('xset -q'), '00: Caps Lock:\s\+\zs\(on\|off\)\ze')
if capsState == 'on'
silent! execute ':!xdotool key Caps_Lock'
endif
endfunction
또 다른 옵션은 다시 매핑하는 것입니다 CapsLock에를 Esc. 이것은 몇 년 동안 사용 해 온 매핑 CapsLock입니다. 홈 행에 있으므로 입력을 터치하면 사용하기가 정말 쉽습니다. 또한 인서트 모드를 벗어나는 것이 훨씬 쉬우므로 (키가보다 가까이 있음 Esc) 적절한 Vim 사용을 촉진합니다 .
다시 매핑하기 쉽습니다. Linux는 기본적으로이 기능을 지원합니다. Mac OS X 및 Windows에서이를 수행 할 수있는 작은 앱이 있습니다. 또한 일부 비싼 키보드에는 키를 다시 매핑 할 수있는 기능이 있습니다.
내 Apple 컴퓨터에서 실제로 Karabiner를 사용 하여이 기능을 구현 했는데 합리적으로 잘 작동했습니다. 불행히도 10.12는 Karabiner를 망가 뜨렸으므로 그 이후로는 구현하지 않았습니다.
이전에 활성화 된 경우 이스케이프 키 또는 엔터 키 비활성화 캡 잠금을 사용하여 그렇게했습니다.
따라서 10.11 이하에서 macOS를 사용하는 경우 확실히 할 수 있습니다 (설정을 요구하지는 않지만 더 이상 설정이 없습니다).
그렇지 않으면 제안과 함께 갈 것입니다 gU
. (다른 텍스트 편집기에서 사용하는 것과 동일한 방법을 사용할 수 없다는 불만은 이해할 수 있지만)