포스트

VI Command Sheet

VI Command Sheet

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


Invoking vi & Modes

명령어 형식설명
vi filename지정된 파일을 열어 vi 에디터를 시작합니다.
[count][command]count는 명령어의 효과를 반복합니다.
Command modeVi가 시작되는 모드이며, 위치 지정 명령이 작동합니다.
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).
nGn번째 줄로 이동 (Go to line n).

Change & Deletion Commands

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

File & Session Management

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

Rearrangement, Copy & Paste

명령어설명
yy 또는 Y한 줄을 일반 버퍼로 Yank(복사)합니다.
"a10yy10줄을 버퍼 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 라이센스를 따릅니다.