개요
vi editor 명령어 는 Unix / Linux 시스템 관리자가 반드시 숙지해야 하는 기본 텍스트 편집기 조작법입니다. vi는 모든 Linux/Unix 배포판에 기본 포함되어 있어 GUI가 없는 서버 환경에서도 파일 편집이 가능하며, Command Mode / Insert Mode / Last Line Mode 세 가지 모드로 동작합니다. 각 모드의 전환 방법과 커서 이동, 삭제, 복사, 검색·치환 명령어를 정리합니다.
What is vi?
Unix 계열에서 사용되는 text 편집기
최근의 Redhat 계열 Linux에서는 vim을 vi로 alias 처리(vim 패키지 미설치시 미적용)
UNIX와 Linux의 Terminal CLI 환경에서는 가장 기본적인 편집기이기 때문에 기본적인 사용키 정도는 익혀두는 것이 좋습니다.
3 modes of vi
Command Mode(명령) : esc 입력 상태, 기본값
Insert Mode(입력) : 편집 상태
Last Line Mode(명령) : Command Mode상 : “shift + ;” 입력 상태, 파일 또는 vi 상태 제어
Commande Mode Control
Input
Function
h
왼쪽 이동
j
위로 이동
k
아래로 이동
l
오른쪽 이동
^ or 0
행의 가장 처음으로 이동
$
행의 가장 끝으로 이동
gg
제일 첫 행으로 이동
G
제일 끝 행으로 이동
b
왼쪽 특수문자 혹은 한단어의 처음으로 이동
B
왼쪽 한단어의 처음으로 이동
x
현재 커서 위치 삭제
X
현재 커서가 위치한 앞 글자 삭제
dw
현재 커서 위치 한단어 삭제
d$
현재 커서 위치 행 삭제
dd
현재 커서부터 마지막 행까지 삭제
CTRL+b
한페이지 위로 이동
CTRL+f
한 페이지 아래로 이동
숫자+G
해당 숫자의 행으로 이동
w
오른쪽 특수문자 혹은 한단어의 처음으로 이동
W
오른쪽 한단어의 처음으로 이동
i
현재 커서 앞쪽에 입력
I
현재 커서 행의 맨 앞에서 입력
a
현재 커서 뒤쪽에 입력
A
현재 커서 행의 마지막에 입력
o
현재 커서 행의 아래 줄에 입력
O
현재 커서 행의 위쪽 줄에 입력현재 커서 행의 위쪽 줄에 입력
s
현재 커서의 한 글자를 지우고 입력
S
현재 커서의 행을 지우고 입력
r
현재 커서의 한 글자를 교체
cw
현재 커서의 한 단어 교체
u
Undo(입력시 마다 이전 작업으로 이동)
숫자+yy
현재 커서부터 숫자만큼의 행을 복사(1은 생략 가능)
yw
현재 커서의 한 단어 복사
Y$
현재 커서부터 마지막 행까지 복사
숫자+p
복사한 내용을 현재 커서 다음에 붙여넣기(숫자 횟수 만큼)
숫자+P
복사한 내용을 현재 커서 전에 붙여넣기(숫자 횟수 만큼)
/
커서의 위치에서 아래로 검색
?
커서의 위치에서 위로 검색
n
검색 결과에서 아래 행 이동
N
검색 결과에서 위 행 이동
모든 제어는 커서의 위치 기준
Insert Mode Control
i, a등의 Command Mode 제어키를 통해 입력 모드로 전환
문서의 작성 또는 편집이 가능한 상태
Last Line Mode Control
Input
Function
:s/찾는문자열/치환문자열
현재 커서 행에서 검색, 치환
:1,10s/찾는문자열/치환문자열
1행에서 10행까지 검색, 치환
:%s/찾는문자열/치환문자열
전체 행에서 검색, 치환
\+/
특수문자를 검색하려면 해석방지를 위해 그 앞에 \를입력
:nohl
검색등을 통해 하이라이트(Highlight)처리된 블럭을 해제
:set number
행 번호 표시
:set nonumber
행 번호 표시 취소
:set autoindent
들여쓰기 설정
:set noautoindent
들여쓰기 제거
:set list
문단,조판부호 보기
:set nolist
문단,조판부호 안보이게
:set ignorecase
검색시 대소문자 구별 제거
:set noignorecase
검색시 대소문자 구별
:set window=30
한 화면당 행의 갯수 30개로 지정
:set all
현재 설정된 vi 모든 설정값 보기
:q
저장하지 않고 vi 종료
:q!
읽기전용인 파일을 수정후 강제로 저장할때
:w
현재내용을 저장
:w!
읽기전용인 파일을 수정후 강제로 저장할때
:wq
저장하고 종료
:wq!
읽기전용인 파일을 수정후 강제로 저장하고 종료하기
:w “filename”
새로운 파일명으로 저장
모든 제어는 커서의 위치 기준
참고
참고 문서: Vim 공식 사용자 매뉴얼 — 처음 파일 편집하기 · vi(1) POSIX man page
글 네비게이션
IT Infomation, Ultima Online