Nice programing

키가 vim에서 무언가에 바인딩되었는지 감지

nicepro 2020. 10. 4. 13:25
반응형

키가 vim에서 무언가에 바인딩되었는지 감지


키가 vim에서 어떤 일을하는지 알아내는 방법이 있는지 알고 싶습니다. :map사용자 정의 매핑을 보는 데 사용할 수 있다는 것을 알고 있지만 내장 항목에 대한 것이 있습니까?

예를 들어, 난 항상 있었다 CTRL- W나는 그것을 사용하지 않는 것을 생각했기 때문에, 탭 닫기에 바인딩. 반년 후, 내가 좋아하는, 그것을 사용하는 일부 시퀀스가 있다는 것을 발견 CTRL- W CTRL- S창을 분할은, 자신을 재교육하는 악몽이었다.


Randy Morris가 제안한 답변을 확인하면

:help index 

원하는 목록을 제공합니다.


기본 매핑을 확인하려면 :

:help index

사용자 또는 플러그인이 수행하는 다른 매핑의 경우 :

:map
:map!

에서 http://vim.wikia.com/wiki/Mapping_keys_in_Vim_- 튜토리얼 (Part_1) :

첫 번째 명령은 일반, 시각적 및 선택 및 운영자 보류 모드에서 작동하는 맵을 표시합니다. 두 번째 명령은 삽입 및 명령 줄 모드에서 작동하는 맵을 표시합니다.

일반적으로 위 명령의 출력은 여러 페이지에 걸쳐 있습니다. 다음 명령 세트를 사용하여 출력을 vim_maps.txt 파일로 리디렉션 할 수 있습니다.

:redir! > vim_maps.txt
:map
:map!
:redir END

완전한 대답은 아니지만 :help map-which-keysvim이 사용자 지정 맵에서 사용하도록 권장하는 키 목록 을 확인하는 것이 좋습니다.

이 도움말 섹션에는 특정 키가 작업에 매핑되었는지 확인하는 방법에 대한 권장 사항이 있습니다.


사용 :map!:map수동으로 설정 키와 :help 'char(-combination)'키가 이미 정력에 매핑되는 발견하는 아웃 - 오브 - 박스 (/ 옵션을 컴파일 특정 만점). (약간 주제에서 벗어 났지만 여전히 중요하다고 생각합니다 (제 생각에) : :scriptnames어떤 파일이 어떤 순서로 소싱되었는지 확인하는 데 사용 합니다.)


나는 훑어 :help index보고 사용하지 않은 nmap의 목록을 만들었습니다 .

  • Q ( "Ex"모드로 전환)
  • Z (ZZ, ZQ 제외)
  • \
  • <Space>( l일반 모드에서 와 동일 , 일반 모드에서 가장 크고 활용도가 가장 낮은 키)
  • gb, gc, gl, gx, gy, gz
  • gs (절전)
  • zp, zq, zu, zy
  • cd, cm, co, cp, cq, cr, cs, cu, cx, cy
  • dc, dm, do, dp, dq, dr, ds, du, dx, dy
  • gA, gB, gC, gG, gK, gL, gM, gO, gS, gX, gY, gZ
  • zB, zI, zJ, zK, zP, zQ, zP, zS, zT, zU, zV, zY, zZ
  • ] a,] b,] e,] g,] h,] j,] k,] l,] n,] o,] q,] r,] t,] u,] v,] w,] x ,] y
  • [a, [b, [e, [g, [h, [j, [k, [l, [n, [o, [q, [r, [t, [u, [v, [w, [x] , [y
  • CTRL-G, CTRL-K
  • CTRL- \ a-z (확장 용으로 예약 됨)
  • CTRL- \ A-Z (사용되지 않음)

업데이트 / 댓글을 달아주세요.


mapcheck. :-를 사용할 수 있습니다 .

예를 들어, 파일을 들여 쓰기 로 매핑 <CR> ,i하고 싶었습니다 gg=G. 이미 매핑이 있는지 확인하려면<CR> , i

if mapcheck("\<CR>", "I") == "" |echo "no mapping"

...하지만 이것은 매핑이 시퀀스의 일부인지 감지하지 않습니다.

참고 URL : https://stackoverflow.com/questions/2483849/detect-if-a-key-is-bound-to-something-in-vim

반응형