반응형
저는 주로 IntelliJ나 VS Code 등의 에디터를 사용하여 문서 편집을 하지만, 리눅스 서버에 직접 붙어서 Vim으로 문서를 편집할 일도 상당히 많습니다. 매일 같이 쓰는 Vim 단축키는 외우게 되었지만, 유용하지만 가끔씩 쓰는 단축키들은 자꾸만 잊게 되더라고요. 그래서 Vim 단축키 cheatsheet를 만들기로 결심했습니다.
물론 구글링해보면 이미 Vim 단축키 모음에 대한 글이 수도 없이 많은데, 대부분 제게는 너무 과한 정보를 전달해주고 있습니다. 가령 입력 가능한 상태로 변경하는 단축키만 해도 i, a, o, I, A, O 가 있는데 사실 저는 매번 a만 씁니다. 개인적으로 모든 걸 기억하고 매번 필요한 단축키를 쓰는 것보다, 무지성으로(?) a 쳐서 입력 가능한 상태로 바꾸고 수정해야 할 위치까지 방향키로 움직이는 게 편합니다.
본 글에서는 제가 필요한 수준으로만 정리를 해보려고 합니다. 너무 과한 수준으로 정보를 정리하면, 그건 정리하지 않은 것과 같다고 생각하거든요. 최대한 IntelliJ나 VS Code에서 많이 쓰는 기능들, 모르면 불편할 기능들 위주로 정리해보겠습니다.
글 읽으실 때 참고할 만한 부분은 다음과 같습니다.
- 아래 정리한 단축키들은 모두 일반모드(=명령모드)에서부터 시작하면 됩니다.
- 아울러 중괄호로 감싼 것들은 사용자가 가변적으로 조정할 수 있는 값입니다. 가령, 이동 기능에서 '해당 라인으로 이동'하는 단축키에서 중괄호가 등장하는데, 56번째 라인으로 이동하고자 한다면 표준모드에서 :56 이라고 입력하고 엔터치면 된다는 말입니다.
편집 기능
입력 모드로 변경
- a : 현재 커서가 위치한 문자의 뒤에서 입력 모드로 변경
취소하기/되돌리기
- u : 이전 명령 취소 (undo)
- . : 취소한 것을 다시 되돌리기 (redo)
들여쓰기/내어쓰기
- shift + >> : 현재 커서가 위치한 문장 들여쓰기
- {숫자} + shift + >> : 현재 커서 기준으로 {숫자}개의 행만큼 들여쓰기
- shift + >} : 현재 커서가 위치한 문장을 포함한 문단 전체 들여쓰기
- shift + << : 현재 커서가 위치한 문장 내어쓰기
- {숫자} + shift + << : 현재 커서 기준으로 {숫자}개의 행만큼 내어쓰기
- shift + <} : 현재 커서가 위치한 문장을 포함한 문단 전체 내어쓰기
삭제/잘라내기
- dd : 현재 커서가 위치한 줄 잘라내기
- {숫자} + dd : 현재 커서 기준으로 {숫자}개의 행만큼 줄 잘라내기
복사/붙여넣기
- yy : 현재 커서가 위치한 줄 복사하기
- {숫자} + yy : 현재 커서 기준으로 {숫자}개의 행만큼 줄 복사하기
- p : 현재 커서가 위치한 줄 바로 아랫줄에 복사하거나 잘라낸 문장 붙여넣기
검색/대체 기능
- /{검색할 문자열} : 문서에서 찾고자 하는 문자열을 오른쪽 아래 방향으로 검색
- n : 다음 찾기
- N : 이전 찾기
- :%/{기존 문자열}/{대체할 문자열}/g : 문서 전체에서 기존 문자열을 대체할 문자열로 전부 대체
이동 기능
- ^ : 현재 커서가 위치한 문장에서 맨 앞으로 커서 이동
- $ : 현재 커서가 위치한 문장에서 맨 뒤로 커서 이동
- :{이동하고자 하는 라인 번호} : 문서 내 해당 라인으로 이동
- gg : 문서 최상단으로 이동
- G : 문서 최하단으로 이동
기타
- :set nu : 라인 번호 표시 (라인 번호 표시 해제는 :set nonu)
- gg=G : 문서 전체 자동 정렬
- :vs : 현재 문서를 세로로 분할하여 탭 하나 더 열기
- ctrl+w 2번 : 탭 간 이동
- v를 눌러 visual 모드로 전환 -> 방향키나 hjkl을 이용하여 블록 설정 후 : 입력 -> norm i# : 해당 블록 주석 처리
- v를 눌러 visual 모드로 전환 -> 방향키나 hjkl을 이용하여 블록 설정 후 : 입력 -> norm 1x : 해당 블록 주석 해제
참고 자료
반응형
'Dev > 기타' 카테고리의 다른 글
[iTerm2] iTerm2 한글 깨짐 현상 (자음/모음 분리 현상) 해결 방법 (0) | 2022.07.15 |
---|---|
[Nginx] Nginx 환경 설정 - (1) 배경 지식 (0) | 2022.07.03 |