Vim Editor 명령어와 단축키 활용

곽경훈·2024년 6월 29일
post-thumbnail

오늘은 지난주에 이어서 Vim Text Editor의 명령어와 단축키를 어떻게 활용하는지 알아보는 시간을 갖도록 하겠다.

vi / vim 편집기 명령어 정리

Vim Editor에서 사용할 수 있는 명령어들에 대해 정리해보았다.


시작 명령어

명령어설명예제
vi {파일명}파일을 편집을 위해 열기vi test.txt
vi +{행번호} {파일명}n번째 줄부터 열기vi +3 test.txt
vi +/"{검색 문자열}" {파일명}문자열이 있는 곳부터 열기vi +/test test.txt
view {파일명}읽기 전용으로 열기view test.txt

모드 전환 명령어

명령설명예제
명령(일반)모드Esc키를 눌러 진입Esc
입력(편집)모드명령모드에서 i, I, a, A, o, O, cw, cc, c$, c0, c+숫자키 등 사용i 또는 a
시각적 선택(비쥬얼) 모드명령모드에서 v, V, Ctrl+v를 사용v 또는 V
마크 지정 모드명령모드에서 m + 마크 키 사용m a
일시적 명령(Ex) 모드명령모드에서 :키를 사용:

종료 명령어

명령어설명
:wq (저장 및 종료)파일을 저장하고 종료
:w (저장)파일을 저장
:q (종료)편집기 종료
:q! (저장하지 않고 종료)파일을 저장하지 않고 종료

이동 명령어

설명
h왼쪽으로 한 칸 이동
j아래로 한 줄 이동
k위로 한 줄 이동
l오른쪽으로 한 칸 이동
w다음 단어의 처음으로 이동
e다음 단어의 끝으로 이동
b이전 단어의 처음으로 이동
0줄의 처음으로 이동
^줄의 처음으로 이동 (공백 무시)
$줄의 끝으로 이동
G파일의 마지막 줄로 이동
gg파일의 첫 번째 줄로 이동
zz커서가 가운데 오도록 스크롤
H화면의 맨 위로 이동
M화면의 중간으로 이동
L화면의 맨 아래로 이동
Ctrl + u화면을 반 페이지 위로 스크롤
Ctrl + d화면을 반 페이지 아래로 스크롤
Ctrl + b화면을 한 페이지 위로 스크롤
Ctrl + f화면을 한 페이지 아래로 스크롤

텍스트 편집 명령어

명령어설명
i현재 커서 위치에서 입력 시작
I커서가 있는 줄의 맨 처음에서 입력 시작
a현재 커서 다음 위치에서 입력 시작
A커서가 있는 줄의 맨 끝에서 입력 시작
o현재 커서 아래에 새로운 줄을 추가하고 입력 시작
O현재 커서 위에 새로운 줄을 추가하고 입력 시작
r커서 위치의 한 글자를 교체
R커서 위치에서 입력 모드로 변경하며, 기존 문자들을 덮어 씌우기
s커서 위치의 한 글자를 삭제하고 입력 모드로 변경
S커서가 있는 줄 전체를 삭제하고 입력 모드로 변경
x현재 커서 위치의 문자를 삭제
X현재 커서 왼쪽의 문자를 삭제
p현재 커서 위치 다음에 저장한 내용을 붙여넣기
P현재 커서 위치 전에 저장한 내용을 붙여넣기

텍스트 검색 명령어

명령어설명
/ (문자열 찾기)현재 파일에서 문자열 검색 (n: 아래방향, N: 위방향)
? (문자열 찾기)현재 파일에서 문자열 검색 (역방향 검색)
n다음 검색 결과로 이동
N이전 검색 결과로 이동

텍스트 치환 명령어

명령어설명
:s/찾을문자열/바꿀문자열현재 줄에서 처음 일치하는 문자열을 치환
:s/찾을문자열/바꿀문자열/g현재 줄에서 일치하는 모든 문자열을 치환
:%s/찾을문자열/바꿀문자열/g파일 전체에서 일치하는 모든 문자열을 치환
:%s/찾을문자열/바꿀문자열/gc파일 전체에서 일치하는 모든 문자열을 치환하며, 치환 여부를 묻기

파일 저장 명령어

명령어설명
:w (저장)파일 저장
:w filename (다른 이름으로 저장)다른 이름으로 저장
:wa (모든 파일 저장)열려 있는 모든 파일 저장
:x (저장 후 종료)저장 후 종료
:q (종료)종료
:q! (저장하지 않고 종료)저장하지 않고 종료
:wq (저장 후 종료)저장 후 종료
ZZ저장 후 종료

들여쓰기 명령어

명령어설명
>>현재 줄을 오른쪽으로 들여쓰기
<<현재 줄을 왼쪽으로 내어쓰기
=현재 줄의 들여쓰기를 자동으로 조정
gg=G파일 전체의 들여쓰기를 자동으로 조정

기타 명령어

명령어설명
u마지막 명령 취소 (undo)
Ctrl + r마지막 취소 명령 복구 (redo)
.마지막 명령 반복
:e!마지막 저장 시점으로 파일 복구
:e filename다른 파일 열기
:r filename현재 파일에 다른 파일 내용 삽입
:w !sudo tee %관리자 권한으로 파일 저장

행 번호 설정 명령어

명령어설명
:set number현재 편집 중인 파일에 행 번호 표시
:set nonumber현재 편집 중인 파일의 행 번호 표시 해제

줄 이동 명령어

명령어설명
:nn번째 줄로 이동
:1첫 번째 줄로 이동
:$마지막 줄로 이동
Ctrl + g현재 줄과 파일의 정보를 표시
:nGn번째 줄로 이동
:1G첫 번째 줄로 이동
:$G마지막 줄로 이동

profile
fullstack web developer

0개의 댓글