리눅스에서 vim을 쓸 때 키보드 방향키만 쓰면 커서 이동하다가 속이 터져버리고 말기 때문에 몇 가지 단축키를 알아두는 게 좋다.
초보자면 일단 이 글에 있는 단축키 정도만 익숙해져도 효율이 많이 올라갈거라고 생각한다.
vim 커서 이동
좌 우 위 아래 이동
이건 솔직히 나도 적극적으로 쓰고 있지 않기 때문에 넣을지 말지 고민 했지만 언급할 가치가 있어서 소개한다.
h | 왼쪽으로 한 칸 이동 (왼쪽 방향키) |
j | 아래로 한 칸 이동 (아래쪽 방향키) |
k | 위로 한 칸 이동 (위쪽 방향키) |
l | 오른쪽으로 한 칸 이동 (오른쪽 방향키) |
방향키 대신 키보드의 알파벳을 사용하는 패턴인데 이렇게 쓰면 손의 이동을 최소화할 수 있는 장점이 있다. 비슷한 예로 해피해킹 키보드처럼 방향키가 없는 키보드를 쓰는 것을 떠올리면 되는데 익숙해지면 분명 더 효율적일 거 같긴 하다.
하지만 지금 나는 리눅스에서 편집하는 비중이 크지 않기 때문에 그냥 방향키를 쓰고 있다.
단어 단위 이동
수정해야할 단어가 지금 커서보다 멀리 있을 때 단어 단위로 이동할 수 있는 w, b를 쓰면 더 빠르다.
w | 다음 단어의 시작으로 이동 |
b | 이전 단어의 시작으로 이동 |
w랑 b만 연타해도 라인 안에서는 금방 이동 한다.
라인 맨 앞과 맨 끝으로 이동
이거는 리눅스 뿐만이 아니라 텍스트 편집을 자주 하는 사람이면 무조건 있어야 되는 기능 중 하나인데 윈도우로 치면 home과 end와 같은 기능이다.
라인도 긴데 맨 앞에서 방향키로 처음부터 끝까지 이동하는 것만큼 답답해보이는 것도 없다. 그냥 $ 버튼 누르면 바로 맨 뒤로 이동하고 0 누르면 맨 앞으로 이동한다.
0 | 현재 줄의 시작으로 이동 |
$ | 현재 줄의 끝으로 이동 |
무조건 외우고 쓰는 게 이득이다.
페이지 단위로 위 아래 이동
이것도 가뭄의 단비 같은 기능인데 텍스트 내용이 길어질수록 방향키만으로 스크롤을 내리는 게 매우 비효율적이기 때문이다.
Ctrl+f | 화면을 한 페이지 아래로 스크롤 |
Ctrl+b | 화면을 한 페이지 위로 스크롤 |
이렇게 ctrl f, b를 쓰면 pageup, pagedown 키를 쓰는 것처럼 빠르게 위 아래로 이동할 수 있다.
문서의 시작과 끝으로 이동
이것도 습관적으로 무진장 많이 쓰는 단축키인데 문서의 시작과 끝으로 이동하는 거다.
gg | 문서의 시작으로 이동 |
G | 문서의 끝으로 이동 |
[숫자]G | 입력한 숫자의 라인으로 이동 |
[숫자]G 같은 경우는 매번 쓴다기 보다는 “몇 번째 줄에서 에러가 발생했다” 같은 정보를 확인했을 때 유용하다. 그럴 때 숫자를 입력하고 G를 누르면 바로 그 라인으로 이동한다.