포스트

VI Command Sheet

VI Command Sheet

자주 사용하는 vi/vim 명령어들을 정리한 치트 시트입니다. 각 명령어의 기본 사용법을 빠르게 찾아볼 수 있습니다.


Invoking vi & Modes

명령어 형식 설명
vi filename 지정된 파일을 열어 vi 에디터를 시작합니다.
[count][command] count는 명령어의 효과를 반복합니다.
Command mode Vi가 시작되는 모드이며, 위치 지정 명령이 작동합니다.
Input mode 텍스트를 입력하는 모드이며, Esc 키를 눌러 명령 모드로 돌아갑니다.

Input Commands (입력 모드 전환)

이 명령들은 Esc를 누를 때까지 vi를 입력 모드로 둡니다.

명령어 설명
a 커서 뒤에 덧붙입니다 (Append after cursor).
i 커서 앞에 삽입합니다 (Insert before cursor).
o 현재 줄 아래에 새 줄을 엽니다.
O 현재 줄 위에 새 줄을 엽니다.
R 교체 (Replace - 덮어쓰기 모드, Esc로 종료).
s 한 문자를 문자열로 대체합니다 (Esc로 종료).
S 줄의 나머지를 문자열로 대체합니다 (Esc로 종료).

Cursor Motions (명령 모드)

명령어 설명
h 문자 하나 뒤로 이동 (Back a character).
j 한 줄 아래로 이동 (Down a line).
k 한 줄 위로 이동 (Up a line).
l 문자 하나 앞으로 이동 (Forward a character).
0 줄의 시작으로 이동 (Beginning of line).
$ 줄의 끝으로 이동 (End of line).
W 한 단어 앞으로 이동 (One word forward).
b 한 단어 뒤로 이동 (Back one word).
fc 문자 c를 찾습니다 (Find c).
G 마지막 줄로 이동 (Go to last line).
nG n번째 줄로 이동 (Go to line n).

Change & Deletion Commands

명령어 설명
cW 한 단어를 변경합니다 (Esc로 종료).
cC 한 줄을 변경합니다 (Esc로 종료) - 줄을 공백으로 만듭니다.
c$ 줄의 끝까지 변경합니다.
dw 한 단어를 일반 버퍼로 삭제합니다.
dd 또는 ndd n줄을 일반 버퍼로 삭제합니다.
D 줄의 끝까지 삭제합니다.
X 문자를 삭제합니다.

File & Session Management

명령어 설명
:wq 파일에 저장하고 종료합니다.
ZZ :wq와 동일합니다.
:q! 변경사항을 저장하지 않고 종료합니다.
:r file 현재 줄 뒤에 파일을 삽입합니다.
:sh 셸 명령을 실행합니다 (<ctrl>d로 복귀).

Rearrangement, Copy & Paste

명령어 설명
yy 또는 Y 한 줄을 일반 버퍼로 Yank(복사)합니다.
"a10yy 10줄을 버퍼 a에 Yank(복사)합니다.
p 일반 버퍼의 텍스트를 커서 뒤에 붙여넣습니다 (Put after cursor).
P 일반 버퍼의 텍스트를 커서 앞에 붙여넣습니다 (Put before cursor).
u 마지막 변경을 실행 취소합니다.
U 해당 줄의 모든 변경을 실행 취소합니다.

Search and Replace Commands

명령어 설명
/string 앞으로 검색합니다.
?string 뒤로 검색합니다.
n 검색을 반복합니다.
N 검색을 반대 방향으로 반복합니다.
:%s/old_text/new_text/g 파일 전체(%)에서 old_textnew_text로 모두(g) 교체합니다.

Parameters (설정)

명령어 설명
:set number 줄 번호를 표시합니다.
:set nonumber 줄 번호를 표시하지 않습니다.
:set autoindent 캐리지 리턴(줄 바꿈) 후 자동 들여쓰기를 합니다.
:set showmatch 입력될 때 일치하는 괄호 쌍을 보여줍니다.
:set showmode 화면의 마지막 줄에 모드를 표시합니다.
이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.