vi editor

개요

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

답글 남기기

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

이 사이트는 Akismet을 사용하여 스팸을 줄입니다. 댓글 데이터가 어떻게 처리되는지 알아보세요.