LazyVim 키맵 정리 및 Neovim 키 표기법 설명
Neovim 키 표기법 설명
LazyVim을 사용하기 전에 먼저 Neovim의 키 표기법을 이해하는 것이 중요합니다.
기본 표기법
<C-x>
: Control + x 키를 의미합니다 (예:<C-j>
= Ctrl+j)<S-x>
: Shift + x 키를 의미합니다 (예:<S-h>
= Shift+h)<A-x>
또는<M-x>
: Alt + x (또는 Meta + x) 키를 의미합니다<leader>
: 리더 키를 의미합니다. LazyVim에서는 기본적으로 **스페이스바(space)**가 리더 키입니다<localleader>
: 로컬 리더 키를 의미합니다. LazyVim에서는 기본적으로 **백슬래시(\)**가 로컬 리더 키입니다
특수 키
<esc>
: Escape 키<tab>
: Tab 키<space>
: 스페이스바<cr>
또는<enter>
: Enter 키<bs>
: Backspace 키<up>
,<down>
,<left>
,<right>
: 방향키
모드 표시
- n : Normal 모드
- i : Insert 모드
- v : Visual 모드
- x : Visual 모드 (선택 영역)
- o : Operator-pending 모드
- c : Command-line 모드
- t : Terminal 모드
- s : Select 모드
LazyVim 핵심 키맵
윈도우 이동
키 | 설명 | 모드 |
---|---|---|
<C-h> | 왼쪽 윈도우로 이동 | n |
<C-j> | 아래 윈도우로 이동 | n |
<C-k> | 위 윈도우로 이동 | n |
<C-l> | 오른쪽 윈도우로 이동 | n |
윈도우 크기 조절
키 | 설명 | 모드 |
---|---|---|
<C-Up> | 윈도우 높이 증가 | n |
<C-Down> | 윈도우 높이 감소 | n |
<C-Left> | 윈도우 너비 감소 | n |
<C-Right> | 윈도우 너비 증가 | n |
버퍼 이동
키 | 설명 | 모드 |
---|---|---|
<S-h> | 이전 버퍼 | n |
<S-l> | 다음 버퍼 | n |
[b | 이전 버퍼 | n |
]b | 다음 버퍼 | n |
<leader>bb | 다른 버퍼로 전환 | n |
파일 및 검색
키 | 설명 | 모드 |
---|---|---|
<leader><space> | 파일 찾기 (루트 디렉토리) | n |
<leader>ff | 파일 찾기 (루트 디렉토리) | n |
<leader>fg | Git 파일 찾기 | n |
<leader>fr | 최근 파일 | n |
<leader>/ | Grep 검색 (루트 디렉토리) | n |
<leader>sg | Grep 검색 (루트 디렉토리) | n |
LSP (Language Server Protocol)
키 | 설명 | 모드 |
---|---|---|
gd | 정의로 이동 | n |
gr | 참조 찾기 | n |
gI | 구현으로 이동 | n |
gy | 타입 정의로 이동 | n |
K | 호버 (문서 보기) | n |
<leader>ca | 코드 액션 | n, v |
<leader>cr | 이름 변경 | n |
<leader>cf | 코드 포맷팅 | n, v |
진단 (Diagnostics)
키 | 설명 | 모드 |
---|---|---|
]d | 다음 진단으로 이동 | n |
[d | 이전 진단으로 이동 | n |
]e | 다음 에러로 이동 | n |
[e | 이전 에러로 이동 | n |
<leader>cd | 줄 진단 표시 | n |
터미널
키 | 설명 | 모드 |
---|---|---|
<C-/> | 터미널 열기 (루트 디렉토리) | n |
<C-/> | 터미널 숨기기 | t |
윈도우 관리
키 | 설명 | 모드 |
---|---|---|
<leader>- | 윈도우 아래로 분할 | n |
`<leader> | ` | 윈도우 오른쪽으로 분할 |
<leader>wd | 윈도우 삭제 | n |
Git 관련
키 | 설명 | 모드 |
---|---|---|
<leader>gb | Git blame 표시 | n |
<leader>gs | Git 상태 | n |
<leader>gd | Git diff (hunks) | n |
토글 기능
키 | 설명 | 모드 |
---|---|---|
<leader>uf | 자동 포맷 토글 (전역) | n |
<leader>us | 맞춤법 검사 토글 | n |
<leader>uw | 줄 바꿈 토글 | n |
<leader>ul | 줄 번호 토글 | n |
<leader>ud | 진단 토글 | n |
leader와 localleader의 차이점
leader (리더 키)
- 전역적인 명령에 사용됩니다
- LazyVim에서는 기본적으로 스페이스바입니다
- 파일 검색, 버퍼 관리, LSP 기능 등 대부분의 일반적인 명령에 사용됩니다
- 예:
<leader>ff
(파일 찾기),<leader>ca
(코드 액션)
localleader (로컬 리더 키)
- 특정 파일 타입이나 플러그인에 특화된 명령에 사용됩니다
- LazyVim에서는 기본적으로 **백슬래시(\)**입니다
- 주로 특정 언어나 플러그인의 특수한 기능에 사용됩니다
- 예: LaTeX 파일에서
<localleader>ll
(컴파일), Octo.nvim에서<localleader>i
(이슈 관련)
팁
-
which-key.nvim: LazyVim은 which-key를 사용하여 키맵을 보여줍니다.
<leader>
키를 누르고 잠시 기다리면 가능한 모든 키맵이 팝업으로 표시됩니다. -
키맵 확인:
<leader>sk
를 눌러 모든 키맵을 검색할 수 있습니다. -
모드별 동작: 일부 키는 여러 모드에서 동작합니다. 예를 들어
<leader>ca
는 normal 모드와 visual 모드 모두에서 사용 가능합니다. -
커스터마이징: LazyVim의 키맵은 필요에 따라 사용자가 변경할 수 있습니다.
~/.config/nvim/lua/config/keymaps.lua
파일에서 커스텀 키맵을 추가할 수 있습니다.