Vim에서 길게 누르기와 누르기를 매핑하는 방법은 무엇입니까 Ctrl?;
내 Linux 터미널에서는 작동하지 않습니다. Ctrl- vimrc를 넣은 후에는 잘 작동 l하지만 아무 것도 하지 않습니다.<c-l> some_action
<c-;> some_action
답변1
키보드 입력이 내부적으로 처리되는 방식으로 인해 불행하게도 오늘날 GVIM에서도 가능하지 않은 경우가 많습니다. Ctrl+ 알파벳이 아닌 조합 과 같은 특정 키 조합은 매핑될 수 없으며 Ctrl+ 문자는 Ctrl+ + 문자와 구별될 수 없습니다. Shift(단말기가 다른 메시지를 보내지 않는 한용어 모자코드를 사용하지만 대부분은 그렇지 않습니다. ) 삽입 또는 명령줄 모드에서 키 조합을 입력해 보세요. /insertion이 발생하지 않으면 키 조합을 사용할 수 없습니다. 이는 <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의 향후 주요 버전에서 이 기능을 사용할 수 있기를 원한다고 밝혔습니다.
답변2
GUI나 일종의 창 관리자에서 작업하는 경우 를 입력할 때 터미널 응용 프로그램이나 Gvim 응용 프로그램에 다른 키 입력을 보내도록 구성할 수 있습니다 Ctrl;. vim이 이해할 수 있지만 입력하기 어려운 키 입력을 보내도록 지시해야 합니다.
예를 들어 (입력하기가 어렵습니다) Ctrl;에 매핑한 다음 에 매핑할 수 있습니다 .Ctrl^Ctrl^.vimrc
저는 Mac OS X에서 Keyboard Maestro를 사용하여 이 작업을 수행했습니다. 물론 이는 설정하기가 다소 귀찮고 특별히 구성된 환경에서만 작동하지만 일반적인 상황에 맞게 최적화하면 장기적으로 성과를 거둘 수 있습니다.