Let's Programming/Editor - Vim

Vim 활용 - 키보드 맵핑

아르센 루팽 2017. 10. 2. 21:33

Vim을 본격적으로 사용하려면, 키보드 맵핑 활용은 필수인거 같네요. 제가 원하는 단축키를 만들어 사용할 수 있는 키보드 맵핑은 Vim을 더욱 강력하게 만들어주는 듯합니다.

그래서, 이번에는 Vim에서의 키보드 맵핑 활용에 대해 정리해보고자 합니다. 이번 글은 https://blog.naver.com/nfwscho/220407221737 의 도움을 많이 받았습니다. 이 분의 블로그에 Vi/Vim에 대해서는 정말 잘 정리되어 있습니다. Vi에 막 입문하신 분이라면 꼭 한번 방문하셔서 읽어보세요. 큰 도움이 될 것입니다.

이제 본격적으로 키보드 맵핑에 대해 적어보겠습니다. Vim에 대해 검색을 하다보면, 다음과 같은 코드를 보실 수 있습니다. 이 코드가 바로 키보드 맵핑 코드입니다. 아래 예를 해석해보면, "<⁢leader>키와 w를 누르면, :w⁢<cr>를 실행하라." 라는 의미입니다.

map <leader>w :w 


1. Map 명령어

Map 명령어 리스트는 vim에서 :help map-listing 을 통해 확인할 수 있어요. 정리하면 다음과 같습니다.

위 조합에 un(map 연결 취소), re(Recursive 맵핑), nore(Recursive 맵핑 금지) 등 3개의 조합을 추가하여 map 명령어를 구성합니다.

:help map-modes를 실행하면, 다음의 각 mapping 명령어와 mode 관계를 확인할 수 있습니다.


2. Map 관련 Special Key 정리

위에 정리된 키 외에 자주 보는 Key가 있습니다. <leader>라는 키입니다. 이 키는 기본적으로 \ 키에 맵핑되어 있습니다. 만약 이 키를 다른 키에 맵핑하고 싶다면, :let mapleader = "," 의 명령어를 통해 ,로 변경할 수 있습니다.

마지막으로, <silent>에 대해 정리하고자 합니다. 간혹 map <silent> <leader>.. 라는 설정을 보실 수 있습니다. 이상의 내용을 숙지하셨다면,<silent>를 제외한 나머지는 이해하실 수 있을 겁니다.

여기서 <silent>란, 별도의 키는 아닙니다. 해당 Key mapping sequence가 실행될 때, Vi에 어떤 메시지도 보여주지 않는다는 의미입니다.



반응형