vimrc에서 키 맵을 코딩하기 위해 키 이름을 얻는 방법은 무엇입니까?


10

이맥스, 나는 누르면 Ctrl-h, k키를 설명하기 위해. 키 이름이 정의되어 있지 않아도 키 이름을 얻을 수 있습니다. 예 :

C-x <C-M-end> is undefined

따라서 키 이름이 C-x <C-M-end>입니다.

그러나 Vim의 키 이름을 어떻게 얻을 수 있습니까?

Ctrl-Shift-V및에 대한 키맵을 설정하고 Shift-Insert싶지만 어떤 코드를 사용해야합니까?

키 이름을 즉석에서 얻을 수 있습니까?

답변:


2

describe-key( Ctrl+ H, K)에 가장 가까운 것은 :map명령입니다. 모든 매핑이 나열됩니다.

을 실행할 수도 :map <key name>있지만 key-notation에<key> 나열된 특수 구문 을 사용 하여 지정해야 합니다 .

또는 :mapCtrl+ 를 사용해보십시오 V<key>. 특수 구문을 사용하지 않고 키를 누르십시오.

Ctrl+ Shift+ 를 바인딩하려면 다음을 V시도하십시오.

:map <C-S-v> whatever

또는

:mapCtrl+ V Ctrl+ Shift+V whatever

그러나 터미널 프로그램이 이미 붙여 넣기와 같은 특별한 용도로 이것을 사용하지 않는지 확인하십시오. 그렇지 않으면 Vim이 키 누르기를 절대 보지 않습니다.

Alt<M-x>또는 로 작성 해야하는지 여부를 설명하는 map-alt-keys 도 참조하십시오 <A-x>.


Ctrl-X, k가 아니라 Ctrl-h, k이며 킬 버퍼를 의미합니다.
Xiè Jìléi 2012 년

죄송합니다.
Mikel

M또는에 A매핑 될지 잘 모르겠습니다 Alt. 그러나 <M-h>, <M-l>작동하지 않습니다. 키 이름이 유효하지 않은지 또는 키 이벤트가 Vim에 전송되지 않았는지 알 수 없습니다. 로그도없고 실마리도 없습니다.
Xiè Jìléi

네, Alt대부분의 단말기 전송하기 때문에, 어려운 ESC다음 x경우 Alt+x를 누르면, 어떻게 빔은 누르지 않았다 알고 있나요 ESCx. 기본적으로 AltGvim에서만 작동합니다.
Mikel

5

Vim에서 어떤 키 또는 키 조합이 출력되는지 확인하려면 보통 " :enew" 으로 빈 버퍼를 열고 삽입 모드로 들어가서을 누른 control-v다음 확인하려는 키 또는 키 조합을 누릅니다. 이 control-v 트릭은 : -command 행에서도 작동하므로 테스트를위한 매핑을 정의하는 것은 매우 쉽습니다. 예를 들어 " :map " control-v및 키 조합 " :echo 'it works'"입니다.


0

그냥 입력 Ctrl+를 V즉석에서-과 키를 사용하여 언론 바랍니다. 예상 결과를 찾을 수없는 경우 (같은은 예를 들어 <c-space>, <c-cr>, <M-i>, ...) 그것은 단지 당신이 정력을 사용하고 gvim을하지 않는 것을 의미한다. vim이 입력 한 키를 이해하는 방식은 터미널 구성과 관련이 있습니다. gvim은 자체 정의를 사용하므로 구성 할 것이 없습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.