반응형
Linux의 vi는 대표적인 CLI(Command-Line Interface) 기반의 텍스트 편집기로, 유닉스 환경에서 개발된 ed 편집기를 바탕으로 만들어졌다. 매우 빠르고 다양한 편리한 기능을 제공하여 많은 사용자들에게 널리 사용되고 있다. vi 편집기의 기능과 사용방법 명령어등을 정리 하였다.
[목차]
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 : 각 줄에서 모든 문자열을 변경