본문 바로가기
Tech Notes/Linux

[Linux command] vi 편집기 사용법 및 활용

by gbmin 2023. 4. 28.
반응형

Linux의 vi는 대표적인 CLI(Command-Line Interface) 기반의 텍스트 편집기로, 유닉스 환경에서 개발된 ed 편집기를 바탕으로 만들어졌다. 매우 빠르고 다양한 편리한 기능을 제공하여 많은 사용자들에게 널리 사용되고 있다. vi 편집기의 기능과 사용방법 명령어등을 정리 하였다.


[목차]

1. 기본 사용법

2. 입력 모드(Insert Mode)

3. 명령 모드(Command Mode)

1) 주요 명령어

2) 치환(substitute)명령어


1. 기본 사용법

vi [파일이름]
vi [새로 만들 파일이름]

입력 모드와 명령 모드로 사용된다.

입력 모드는 키보드로 타이핑하여 문자를 입력하는 모드이고

명령 모드는 문서를 명령어로 조작 및 편집하는 모드이다.

 

 

2. 입력 모드(Insert Mode)

  • vi 편집기를 실행하면 명령모드로 시작된다. 이때는 텍스트를 편집할 수 없다.
  • 입력 모드로 전환을 하려면 i, a, o 키 중 하나를 입력하면 된다.
입력키 설명
i 현재 위치에서 Insert 모드로 전환
a 현재 위치에서 다음 글자부터 Insert 모드로 전환
o 현재 줄 다음에 새로운 줄을 추가하고, Insert 모드로 전환

 

 

3. 명령 모드(Command Mode)

  • vi 편집기를 실행하면 명령모드로 시작된다.
  • 입력 모드 상태에서 명령모드로 진입하려면 esc 키를 누르면 된다.

1) 주요 명령어

명령어 설명
dd 현재 줄을 삭제
yy 현재 줄을 복사
p 복사한 줄을 현재 위치에 붙여넣기
u 이전 명령 취소
Ctrl-r 이전 명령 재실행
:w 현재 파일 저장
:q 편집기 종료
:wq 현재 파일 저장하고 편집기 종료
:set nu 라인 번호 출력
:set nonu 라인 번호 출력제거
/검색어 검색어를 찾음, 다음 검색으로 이동 하려면 n 입력
?검색어 검색어를 현재 위치에서 역방방으로 찾음, 이전 검색으로 이동 하려면 n 입력
:set ignorecase 검색어를 대소문자를 구분하지 않고 찾음
]] 문서 섹션의 마지막 줄로 이동
[[ 문서 섹션의 첫번째 줄로 이동
h (←) 왼쪽이동
j (↓) 아래이동
j (↑) 위로이동
l (→) 오른쪽이동
0 현재 줄 맨 앞으로 이동
$ 현재 줄 맨 뒤로 이동
gg 파일 첫 번째 줄로 이동
G 파일 마지막 줄로 이동
v Visual 모드로 전환
V 현재 줄을 모두 선택
Ctrl-v 블록 모드로 전환
yy 선택한 줄을 복사
dd 선택한 줄을 삭제
p 복사한 줄을 현재 위치에 붙여넣기
:set paste 복사한 텍스트를 붙여넣을 때 자동 들여쓰기 방지
:set nopaste 자동 들여쓰기 기능 다시 켜기

 

2) 치환(substitute) 명령어

단어의 치환

:%s/oldword/newword/g
  • % : 파일 전체
  • s : 치환 명령어
  • /oldword/newword/ : oldword를 newword로 변경
  • g : 각 줄에서 모든 문자열을 변경

선택한 블록 치환

:'<,'>s/oldword/newword/g
  • '<, '> : 선택한 블록을 나타내는 표시
  • s : 치환 명령어
  • /oldword/newword/ : oldword를 newword로 변경
  • g : 각 줄에서 모든 문자열을 변경

특정 줄에서 치환

:5s/oldword/newword/g
  • 5 : 5번째 줄
  • s : 치환 명령어
  • /oldword/newword/ : oldword를 newword로 변경
  • g : 각 줄에서 모든 문자열을 변경