[Linux] 리눅스 vi 명령어 정리 | Vim 3가지 모드 및 비주얼 모드

공정위 광고 문구 Ver 3.1
공정위 광고 문구 Ver 3.2(모바일 전용)
테스트 환경RHEL 계열AlmaLinux 9.8root 계정2026-10-07 확인

vi 를 열었다가 글자가 입력되지 않거나, 빠져나오는 법을 몰라 창을 닫아 버리는 일은 서버를 처음 만지는 사람이 한 번은 겪습니다. 리눅스 vi 명령어는 명령 모드와 입력 모드가 나뉘어 있어, 지금 어느 모드에 있는지만 알면 그 뒤는 키 몇 개로 끝납니다. 이 글에서는 세 가지 모드와 모드별 명령어를 표로 정리하고, 브라우저 안의 가상 서버에서 vi 를 직접 쳐 볼 수 있게 했습니다.

AlmaLinux 9.8 에서 vi 와 vim 은 모두 vim 8.2 패키지이며, 이 글의 화면과 문구는 vim 으로 연 것입니다. 설치되어 있지 않다면 [dnf -y install vim-enhanced]로 설치합니다.

리눅스 vi 명령어 세 가지 모드 전환 도식 Linux vi command: three modes diagram

✅ vi 세 가지 모드

vi 는 모드에 따라 같은 키가 다른 일을 합니다. 파일을 열면 명령 모드로 시작하고, i 로 입력 모드에 들어가 글자를 치고, Esc 로 돌아오며, 콜론[:]으로 마지막 행 모드에 들어가 저장하고 나옵니다.

모드들어가는 키하는 일
명령 모드vi 를 열면 이 모드 · 다른 모드에서 Esc커서 이동, 삭제, 복사, 붙여넣기, 되돌리기
입력 모드i a I A o O글자 입력. 화면 아래에 [-- INSERT --]
마지막 행 모드:저장·종료·치환·행 번호 설정. 화면 아래에 : 이 뜸
비주얼 모드v V Ctrl-v범위를 고른 뒤 삭제·복사·일괄 입력

콘솔에서 여는 방법은 세 가지입니다.

명령설명
vi 파일명파일을 열어 명령 모드로 시작. 없는 파일이면 새로 만들고 [New] 표시
vi +20 파일명20행에 커서를 두고 열기
view 파일명= vi -R읽기 전용으로 열기. 고치면 [W10] 경고, 저장하면 [E45]

아래 가상 서버에서 [vi httpd.conf]를 치면 vi 가 열리고, 왼쪽 메뉴가 vi 안의 명령으로 바뀝니다. 칩을 누르면 그 키가 화면에 들어가며, 키보드로 직접 쳐도 됩니다.

vi 명령어 시뮬레이터vim 8.2
[root@server work]#
브라우저 안에서만 동작하며 실제 파일은 건드리지 않습니다. 먼저 vi httpd.conf 로 파일을 열면 왼쪽 메뉴가 vi 안의 명령으로 바뀝니다. 칩을 누르면 그 키가 화면에 입력되고, 키보드로 직접 쳐도 됩니다. :wq 로 저장하고 나오면 cat 으로 결과를 확인할 수 있고, 꼬이면 [처음부터]를 누르세요. 표에 있는 나머지 키는 직접 쳐 보세요.

✅ 리눅스 vi 명령어 정리

🔲 커서 이동

키설명
h j k l← ↓ ↑ →한 칸씩 이동. 방향키도 됨
0 · ^행 처음(0) · 행에서 공백이 아닌 첫 글자(^)
$행 끝
w · b · e다음 단어 처음 · 앞 단어 처음 · 다음 단어 끝
gg · G파일 첫 행 · 마지막 행
20G:20 과 같음20행으로. 숫자를 바꿔 원하는 행으로
H · M · L화면의 맨 위 · 가운데 · 맨 아래 행
Ctrl-f · Ctrl-b한 화면 아래 · 위
Ctrl-d · Ctrl-u반 화면 아래 · 위

🔲 입력 모드 진입

어느 키로 들어가든 입력이 끝나면 Esc 를 누릅니다. cw·cc·C·s 는 지우면서 바로 입력 모드로 들어가므로, 단어나 행을 고칠 때 x 와 i 를 따로 누르는 것보다 빠릅니다.

키설명
i · a커서 앞(i) · 커서 뒤(a)에 입력 시작
I · A행 처음(I) · 행 끝(A)에 입력 시작
o · O아래(o) · 위(O)에 빈 행을 만들고 입력 시작
cw커서부터 단어 끝까지 지우고 입력 시작
cc행 전체를 지우고 입력 시작
C커서부터 행 끝까지 지우고 입력 시작
s글자 하나를 지우고 입력 시작
Esc입력을 끝내고 명령 모드로

🔲 삭제·수정

d 뒤에 이동 키를 붙이면 그 범위가 지워집니다. dw 는 단어, dd 는 행, dG 는 파일 끝까지이고, 앞에 숫자를 붙이면 그만큼 반복됩니다.

키설명
x · X커서 글자(x) · 커서 앞 글자(X) 삭제. 3x 는 세 글자
dw커서부터 단어 끝까지 삭제
dd행 삭제. 3dd 는 세 행
D= d$커서부터 행 끝까지 삭제
d0행 처음부터 커서 앞까지 삭제
dG현재 행부터 파일 끝까지 삭제
:6d · :6,10d6행 삭제 · 6~10행 삭제
J아래 행을 현재 행 끝에 붙임
r커서 글자를 다음에 치는 글자로 바꿈
~대소문자 바꿈
>> · <<행 들여쓰기 · 내어쓰기

🔲 복사·붙여넣기·되돌리기

삭제한 것도 복사한 것처럼 p 로 붙여넣을 수 있어, dd 와 p 를 이어 누르면 행이 아래로 옮겨집니다. u 는 여러 단계를 거슬러 올라가며, Ctrl-r 로 되돌린 것을 다시 실행합니다.

키설명
yy행 복사. 3yy 는 세 행
yw커서부터 단어 끝까지 복사
p · P복사한 것을 아래(p) · 위(P)에 붙여넣기. 글자 단위 복사였으면 커서 뒤 · 앞
:1 co 7:1 t 7 과 같음1행을 복사해 7행 아래에
:1,7 co 81~7행을 복사해 8행 아래에
:1 m 81행을 8행 아래로 이동
u되돌리기. 여러 번 누르면 계속 되돌아감
Ctrl-r되돌린 것을 다시 실행
.마지막 변경을 반복

🔲 검색·치환

치환은 마지막 행 모드에서 합니다. 범위를 주지 않으면 현재 행만, [%]를 붙이면 파일 전체이며, 끝에 g 가 없으면 행마다 첫 번째 것만 바뀝니다.

키설명
/문자열커서 아래쪽으로 검색. 끝에 닿으면 처음부터 이어서 [search hit BOTTOM, continuing at TOP]
?문자열커서 위쪽으로 검색
n · N같은 방향으로 다음 결과(n) · 반대 방향(N)
*커서가 있는 단어를 아래쪽으로 검색
:s/old/new/현재 행의 첫 old 를 new 로
:s/old/new/g현재 행의 모든 old 를 new 로
:%s/old/new/g파일 전체의 모든 old 를 new 로
:10,20s/old/new/g10~20행의 모든 old 를 new 로
:%s/old/new/gc하나씩 물어보며 바꿈(y 바꿈 · n 건너뜀 · a 전부 · q 그만)

🔲 저장·종료·행 번호

키설명
:w저장. 끝나면 [36L, 1094B written]
:w 파일명다른 이름으로 저장. 원래 파일은 그대로
:wq= :⁠x = ZZ저장하고 종료
:q종료. 고친 것이 있으면 [E37: No write since last change]
:q!저장하지 않고 종료
:set nu · :set nonu행 번호 표시 · 숨김

✅ Vim 비주얼 블록 모드로 열 일괄 주석

여러 행 앞에 같은 글자를 넣을 때는 행마다 i 를 누르는 대신 비주얼 블록 모드를 씁니다. 명령 모드에서 v 는 글자 단위, Shift-v 는 행 단위, Ctrl-v 는 열 단위로 범위를 고릅니다.

vim 비주얼 모드 세 종류 도식 vim visual mode: three kinds diagram

설정 파일의 한 덩어리를 통째로 주석 처리하는 순서입니다. 첫 행 첫 글자에 커서를 두고 Ctrl-v 를 누른 뒤 j 로 내려가며 행을 고르고, I 를 누르고 # 을 친 다음 Esc 를 누릅니다.

vim 비주얼 블록 실행
1. 첫 행 첫 글자에서 Ctrl-v 를 누르면 [– VISUAL BLOCK –]이 뜹니다.
vim 비주얼 블록 모드에서 커서로 줄 선택
2. j 로 내려가며 주석을 붙일 행을 모두 고릅니다.
vim 비주얼 블록 편집모드에서 입력
3. I 를 누르고 # 을 치면 첫 행에만 보입니다.
vim 비주얼 블록모드 열치환 완료
4. Esc 를 누르면 고른 행 전부에 # 이 붙습니다.

주석을 다시 풀 때도 같습니다. 첫 행의 # 위에서 Ctrl-v 로 아래까지 고른 뒤 x 를 누르면 고른 열이 한 번에 지워집니다. 위 시뮬레이터의 vhost.conf 에서 그대로 해 볼 수 있습니다.

  • vi, vim 명령어
  • 텍스트 처리 명령어
  • vi 편집기 구조: 명령모드, 입력모드, 마지막행 모드로 구분

ℹ️ 제휴 안내
본 사이트의 콘텐츠에는 제휴 링크가 포함되어 있습니다. 방문자가 이 링크를 통해 상품 또는 서비스를 구매하면 본 사이트는 판매처로부터 수수료를 지급받습니다. 이 과정에서 구매자가 지불하는 금액(이벤트 할인 시 금액이 내려갑니다↓)은 오르지 않습니다. 게시된 가격·할인·재고 정보는 작성 시점 기준이며 실제와 다를 수 있으므로, 구매 전 판매처에서 최종 확인하시기 바랍니다. 상품 선정과 평가는 자체 기준에 따라 작성되며, 수수료 지급 여부가 소개 순서나 평가 내용에 영향을 주지 않습니다.

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

인간임을 증명하세요: 5   +   7   =