종결자에 Ctrl-백스페이스 매핑

종결자에 Ctrl-백스페이스 매핑

저는 최근에 Vim을 사용하기 시작했습니다. 이전 편집자에서는 Ctrl- 를 눌러 단어 전체를 삭제하는 데 익숙했습니다 Backspace. 문서를 살펴본 후 Vim에서 Ctrl-를 눌러 이 작업을 수행했다는 것을 알았습니다 w. 문제는 Ctrl- 키를 누르는 데 익숙해진 후 w단어 철자가 틀릴 때마다 탭과 채팅을 닫기 시작했다는 것입니다(이 질문을 작성하는 동안 이 탭을 5번 닫았습니다). 그래서 Vim에서 키를 매핑하는 방법을 확인하고 다음을 시도했습니다.

:imap <C-BS> <C-w>

불행히도 작동하지 않았습니다. 약간의 조사 끝에 터미널이 Ctrl- Backspace와 를 구별하지 않는다는 것을 발견했습니다 Backspace. 이 문제를 해결하기 위한 몇 가지 해킹과 패치를 보았지만 터미네이터(내가 사용하고 싶은 에뮬레이터)에서 작동하도록 할 수 없었습니다.

터미네이터를 사용할 때 Vim에서 Ctrl매핑 할 수 있는 방법이 있나요 ?Backspace

답변1

키보드 입력이 내부적으로 처리되는 방식으로 인해 불행하게도 현재는 일반적으로 이것이 불가능합니다. + 알파벳이 아닌 문자 와 같은 일부 키 조합은 Ctrl매핑될 수 없으며 Ctrl+ 문자 대 Ctrl+ Shift+ 문자는 구별될 수 없습니다. (단말기가 고유한 메시지를 보내지 않는 한텀캡대부분은 그렇지 않습니다.) 삽입 또는 명령줄 모드에서 키 조합을 입력해 보세요. 아무 일도 일어나지 않거나 삽입되면 해당 키 조합을 사용할 수 없습니다. 이는 <Tab>/ <C-I>, <CR>/ <C-M>/ <Esc>​​/ <C-[>등에도 적용됩니다. (유일한 예외는 <BS>/ 입니다 <C-H>.) 이것은 알려진 문제점이며 vim_dev 및 #vim IRC 채널에서 다양한 논의의 주제입니다.

어떤 사람들(가장 Paul LeoNerd Evans)은 이 문제를 해결하기를 원하며(이 기능을 지원하는 터미널의 Vim 콘솔의 경우에도) 다양한 제안을 제시했습니다.http://groups.google.com/group/vim_dev/browse_thread/thread/626e83fa4588b32a/bfbcb22f37a8a1f8

그러나 현재로서는 아직 패치나 지원자가 나오지 않았지만 많은 사람들이 향후 Vim 8 주요 릴리스에 이 기능을 포함하고 싶다고 밝혔습니다.

관련 정보