Chapter 3. VI Editor
1. VI Editor란
- Unix와 Linux 환경에서 많이 쓰이는 문서 편집기
- 줄 단위 편집기가 아니며 한 화면을 편집하기 때문에 Visual Editor의 약자
- VI Editor Mode
‧ 명령 Mode
‧ 실행 Mode
‧ 입력 Mode
2. VI Editor의 Mode
- 명령 Mode
‧ VI Editor의 기본 Mode
‧ VI가 처음 실행되거나, 입력 Mode에서 'ESC'를 입력한 상태
‧ Cursor 이동, 문자열 수정, 복사, 붙여넣기 등
‧ 'Enter'를 입력할 필요 없이 각각의 목적에 따른 명령을 입력하면 바로 실행
‧ 명령 Mode의 단축키
◦ Cursor 이동
▹ h
▸ Cursor 왼쪽으로 한 칸 이동
▹ j
▸ Cursor 아래쪽으로 한 줄 이동
▹ k
▸ Cursor 위쪽으로 한 줄 이동
▹ l
▸ Cursor 오른쪽으로 한 칸 이동
▹ W
▸ 공백(space)를 기준으로 다음 단어의 처음으로 이동(Forward)
▹ w
▸ 특수문자 또한 하나의 단어로 판단하며 단어 단위로 다음 단어의 처음으로 이동
▹ E
▸ 공백(space)를 기준으로 다음 단어의 마지막으로 이동(End)
▹ e
▸ 특수문자 또한 하나의 단어로 판단하며 단어 단위로 다음 단어의 처음으로 이동
▹ B
▸ 공백(space)를 기준으로 앞 단어의 처음으로 이동(Backward)
▹ b
▸ 특수문자 또한 하나의 단어로 판단하며 단어 단위로 앞 단어의 처음으로 이동
▹ 0
▸ 행의 처음으로 이동
▹ $
▸ 행의 마지막으로 이동
▹ G
▸ 문서의 마지막으로 이동
▹ gg
▸ 문서의 처음으로 이동
▹ H
▸ 현재 화면의 가장 상단으로 이동
▹ M
▸ 현재 화면의 정중앙으로 이동
▹ L
▸ 현재 화면의 가장 하단으로 이동
◦ 명령 Mode에서의 삭제, 복사, 붙여넣기
▹ x
▸ Cursor가 있는 문자 삭제
▹ X
▸ Cursor가 있는 앞 문자 삭제
▹ dd
▸ 현재 Cursor의 행 삭제
▹ 숫자 + dd
▸ 현재 Cursor의 위치로부터 숫자만큼 아래 행까지 삭제
▹ yy
▸ 현재 Cursor의 행 복사
▹ 숫자 + yy
▸ 현재 Cursor의 위치로부터 숫자만큼 아래 행까지 복사
▹ P
▸ 복사한 내용을 현재 Cursor 위치 이전에 붙여넣기
▹ p
▸ 복사한 내용을 현재 Cursor 위치 이후에 붙여넣기
◦ 책갈피(Book Mark) 기능
▹ VI는 책갈피 기능이 있으며 이 책갈피 기능은 VI를 종료하기 전까지만 유지된다.
▹ 같은 문자에 다른 위치의 책갈피를 지정할 경우 덮어쓰기가 되며 이전에 지정한 위치는 사라진다.
▹ 책갈피 설정
▸ 책갈피를 설정할 위치에서 키보드의 m을 누른 후 지정할 Key를 a~z, A~Z를 골라 누른다.
▸ a~z, A~Z 즉, 52개의 책갈피를 지정할 수 있다.
▹ 책갈피 이동 방법
▸ Back quote(`) + ?(a~z, A~Z) : 책갈피한 위치로 이동
▸ quote(‘) + ?(a~z, A~Z) : 책갈피한 줄의 처음으로 이동
▸ quote(‘) quote(‘) : 원래 위치로 돌아감(quote 2회)
◦ 명령 Mode에서 입력 Mode 전환
▹ i
▸ 현재 Cursor 위치에서 입력 Mode로 전환
▹ I
▸ 현재 Cursor 위치의 행 제일 처음에서 입력 Mode로 전환
▹ a
▸ 현재 Cursor 위치에서 우측으로 한 칸 이동 후 입력 Mode로 전환
▹ A
▸ 현재 Cursor 위치의 행 가장 마지막 위치에서 입력 Mode로 전환
▹ o
▸ Cursor 아래에 새로운 행을 추가하고 입력 Mode로 전환
▹ s
▸ 현재 Cursor 위치의 문자를 지우고 입력 Mode로 전환
▹ S
▸ 현재 Cursor 위치 행의 모든 문자를 지우고 입력 Mode로 전환
- 입력 Mode
‧ 일반 문서를 작성하는 것과 같은 Mode이다
‧ 입력 Mode에서 명령 Mode로 전환하려면 'Esc'를 입력하면 된다.
- 실행 Mode
‧ 검색, 치환 등 Vi에 실행, 종료 또는 설정을 하기위한 Mode이다.
‧ 실행 Mode의 단축키
◦ 검색
▹ / Pattern
▸ Pattern을 검색
▸ n : 아래 방향으로 동일 Pattern 찾기
▸ N : 위 방향으로 동일 Pattern 찾기
▹ ? Pattern
▸ Pattern을 검색
▸ N : 아래 방향으로 동일 Pattern 찾기
▸ n : 위 방향으로 동일 Pattern 찾기
◦ 치환
▹ [범위] s / [Old] / [New] / [Option]
▸ 범위
▫ 범위를 지정하지 않을 경우 : 현재 위치의 내용 치환
▫ 숫자 하나만 적을 경우 : 숫자에 해당하는 줄의 위치의 내용 치환
▫ 숫자1 , 숫자2 : 숫자1과 숫자2로 범위를 지정해 내용 치환
▫ % : 전체 범위에서 내용 치환
▸ [Old] : 치환 전 내용
▸ [New] : 치환 후 내용
▸ [Option]
▫ g : 한 줄의 내용에서 치환을 할 때는 하나하나씩 바뀌는데 g를 이용하면 한 번에 다 바꿀 수 있다.
◦ Shell 명령어
▹ :! [명령어]
▸ vi에서 잠시 빠져나와 명령어를 수행 후 다시 vi로 돌아간다.
▹ :.! [명령어]
▸ 수행한 명령어를 vi에 출력한다.
▸ 현재 Cursor 위치의 내용이 삭제되므로 한 줄을 추가하고 사용해야한다.
◦ 화면 나누기
▹ [n]split[filename]
▸ n은 화면의 크기를 말한다.
▸ 수평으로 화면을 나누며 기존 File 또는 새로 만든 File과 화면을 수평으로 분할해 사용한다.
▸ 새로 File을 만들 때 명령 Mode에서 Ctrl + wn으로 나누는 방법도 있다.
▸ Ctrl + ww로 창간에 이동한다.
▹ [n]vs[filename]
▸ n은 화면의 크기를 말한다.
▸ 수직으로 화면을 나누며 기존 File 또는 새로 만든 File과 화면을 수직으로 분할해 사용한다.
▸ 새로 File을 만들 때 명령 Mode에서 Ctrl + wv으로 나누는 방법도 있다.
▸ Ctrl + ww로 창간에 이동한다.
‧ File 관련
◦ :e [filename]
▹ 현재 File에서 다른 File 열기
▹ 현재 File을 강제로 닫고 열려면 e!로 열어야한다.
◦ :enew
▹ 현재 창을 닫고 빈 문서를 연다.
▹ 현재 File을 강제로 닫고 열려면 enew!로 열어야한다.
◦ :q
▹ 현재 창을 종료
▹ 현재 창을 저장하지 않고 강제로 닫으려면 q!로 닫아야한다.
◦ :w
▹ 현재 File을 저장
▹ 현재 화면을 다른 File로 저장하려면 :w [filename]으로 한다.
▹ 현재 File을 저장하고 닫으려면 :wq을 사용한다.
‧ File 및 실행 관련
◦ :w >> [filename]
▹ 해당 File에 내용추가
◦ f
▹ 현재 작업 중인 File의 정보(File의 이름과 Line 수)
◦ [n]r[filename]
▹ 해당 File의 내용을 현재 편집중인 파일의 n 번째 줄 아래부터 삽입
◦ [n]r![command]
▹ 명령어 결과를 현재 File의 n 번째 줄 아래부터 삽입
‧ 그 외의 명령어
◦ :set ts=?
▹ Tab 크기 ?만큼으로 조정
◦ :set nu
▹ Line Number 활성화
◦ :set nonu
▹ Line Number 비활성화
◦ :nohl
▹ High light 비활성화
3. Vi 설정 File
- /usr/share/vim
‧ vim 설정 File이 위치한 Directory
- /etc/vimrc
‧ 시스템에 접속하는 모든 사용자가 공통적으로 적용받는 vim 설정 File
- 사용자 개별 설정 File
‧ /usr/share/vim/vim70/vimrc_example.vim을 사용자의 Home Directory에 .vimrc로 복사한 후 수정
'Linux > CentOS Linux 6.5' 카테고리의 다른 글
Chapter 6. Package (0) | 2015.08.07 |
---|---|
Chapter 5. 허가권(Permissions) & 소유권(Ownership) (0) | 2015.08.07 |
Chapter 4. 사용자(Users) & 그룹(Group) (0) | 2015.08.07 |
Chapter 2. Linux의 기초 (0) | 2015.08.07 |
Chapter 1. VMware로 CentOS 6.5 설치하기 (0) | 2015.08.07 |