Ubuntu에 설치된 Vim에서 CapsLock을 Esc로 다시 매핑하는 방법(콘솔만 해당, 데스크탑 환경 없음)?

Ubuntu에 설치된 Vim에서 CapsLock을 Esc로 다시 매핑하는 방법(콘솔만 해당, 데스크탑 환경 없음)?

목표는 Ubuntu에 설치된 Vim에서 CapsLock을 Esc로 다시 매핑하는 것입니다.(콘솔만 해당, 데스크탑 환경 없음).

이 Ubuntu 시스템은 가상 개인 서버에 설치됩니다. 저는 Putty를 사용하여 Windows 10이 설치된 가정용 노트북에서 이 서버에 로그인하고 있습니다.

모두가 이 CapsLock 키를 Vim의 Esc에 매핑하는 것에 대해 이야기하지만 $HOME/.vimrc 파일에 2를 써야 하는 실제 줄을 찾을 수 없습니다.

내가 직접 시도한 내용은 다음과 같습니다. 하지만 첫 번째 줄에 줄 번호를 추가하는 것 외에는 아무 것도 작동하지 않습니다.

set number

inoremap <Caps> <Esc>
inoremap <Caps_Lock> <Esc>
inoremap <CapsLock> <Esc>

목표는 전체 Ubuntu 서버가 아닌 Vim에서만 CapsLock을 Esc로 다시 매핑하는 것입니다.

확인해 보니 CapsLock이 Vim에서 잘 작동하고 잠겨 있으면 대문자로 표시됩니다.

나는 다음과 같은 많은 장소를 검색했습니다. https://vim.fandom.com/wiki/Mapping_keys_in_Vim_-지도 시간(1 부) 이 가이드의 3개 부분 모두여기게다가.

"ii", "jj", "jk", "jw" 다양한 Ctrl 및 Shift 조합 매핑 등 모든 것이 거기에 기록된 것과 같습니다. CapsLock을 제외한 모든 항목은 Esc로 다시 매핑됩니다.

???왜? ? ?

Vim에서 CapsLock을 Esc로 다시 매핑하는 것이 왜 그렇게 어려운가요? 이것은 거의 내 문제이지만 불행히도 Windows OS에서는 그렇습니다.

내 질문 아래의 설명을 통해 Vim에서만 CapsLock을 Esc에 매핑하는 것이 불가능하다는 것을 이해합니다.

나는 또한 이 스레드를 읽었습니다.Vim에서 Escape 대신 CapsLock을 사용하는 방법은 무엇입니까?

허용되는 답변은 다음 과 같습니다. "콘솔에서 다시 매핑하려면 systemd배포판에서 사용하는 경우 사용자 정의 키보드 레이아웃을 사용할 수 있습니다./etc/vconsole.conf아치스 위키".

우분투가 사용하는 것 같아요 systemd.따라서 VPS에 설치된 Ubuntu 전체에서 CapsLock을 Esc 키에 매핑하는 답변을 수락할 준비가 되었습니다.내 집 Windows 컴퓨터에 대한 키 매핑 제공은 변경되지 않습니다.

나는 이것을 실행했습니다 :

michal@localhost:~$ localectl status
   System Locale: LANG=en_US.UTF-8
       VC Keymap: n/a
      X11 Layout: us
       X11 Model: pc105

다음에 무엇을 해야 합니까?

/etc/vconsole.conf내 Ubuntu VPS에 이 파일이 없는 것 같습니다. 직접 만들어야 합니까, 아니면 기본적으로 있어야 합니까?

답변1

간단한 대안은 이것을 vimrc 파일에 추가하는 것입니다.

imap ii <Esc>

여기서는 Escape 대신 ii( 2 'i's )를 사용하여 일반 모드로 돌아갑니다.

영어에서는 두 개의 연속된 ii가 있는 단어를 거의 접하지 않을 것이므로 실수로 일반 모드에 빠지는 일이 없습니다.

원하는 경우 ii를 다른 키로 바꿀 수도 있지만 제가 알고 있고 시도해 본 한 특정 Some 키를 제공하려면 다른 키가 필요하기 때문에 Caps Lock, Shift, Ctrl 및 Alt와 같은 키에서는 작동하지 않습니다. 기능은 의미가 있습니다.

관련 정보