본문 바로가기
IT/Tips

VI 에디터 사용법

by Joe! 2018. 10. 9.
반응형

VI Editor 

 

1. 시작하기

 # vi filename [Enter]

# view filename [Enter]

# vi -R filename [Enter]  읽기 전영으로 vi시작

 

옵션 :

+[n]

  파일내용을 버퍼로 불러들일 때 파일 내용의 마지막 부분만 화면에 출력하게 하는 옵션으로 n은 줄의 수를 의미함

-r 

 파일 편집 도중 정전이나 시스템 장애로 버퍼내의 파일 손상시 복구시킴 

-wn 

한 화면에 나타내는 줄 수는 평균 23줄인데 많은 라인의 경우 사용자가 임의대로 출력 줄 수를 조정함 

-c

 # vi -c /hahaha/ filename [Enter]

 vi 편집기 버퍼로 불러들이고 'hahaha' 이라는 단어를 검색하여 그곳에 커서를 위치시킴

 

Example >

 # vi 화일명.확장자 

 # vi use.c [Enter]

  "use.c" 라는 퐈일을 새로 작성하거나 수정하고자 할 때

# vi + use.c [Enter]

  "use.c" 화일 마지막 라인으로 커서를 이동시켜 놓고 수정하고자 할 때.

 # vi +50 use.c [Enter]

  "use.c" 화일의 50번쨰 라인으로 커서를 이동시켜 놓고 수정하고자 할 때.

 

2. 명령모드와 삽입모드

 vi 에디터에는 명령모드와 삽입모드가 존재하는데 처음 vi에디터를 실행하면 명령모드로 실행되게 된다.

 

삽입모드 -> 명령모드로 전환

 [esc] 키를 누름

 

명령모드 -> 삽입모드로 전환

 "4. 삽입 명령어" 참조

 

3. 종료하기

ZZ

 명령어 모드에서 저장하고 끝내기

 

:q [Enter] 

 명령어 모드에서 수정된 내용이 없을 때 그냥 끝내기 

 

:q! [Enter] 

 명령어 모드에서 저장하지 않고 강제로 끝내기

 

:w [Enter]

 명령어 모드에서 vi를 종료하지 않고 저장만 함

 

:wq [Enter]

 명령어 모드에서 저장하고 vi를 종료함

 

:e! [Enter]

 현재까지 수정한 파일을 원래의 상태로 복구함

 

:e 파일명 [Enter]

 현재 버퍼 내에 있는 파일을 무시하고 지정한 파일 내용을 버퍼로 읽어 옴

 

:sh

 vi내에서 :sh를 수행시키면 일시적으로 vi를 벗어나고 시스템 프롬프트가 나옴 

 여기서 필요한 쉘 명령어들을 수행

다시 exit키를 치면 원래의 vi상태로 돌아옴 

 

4. 삽입 명령어

명령모드 -> 삽입모드로 전환

a

append text

텍스트를 현재의 커서 우치 뒤에 추가

이 커맨드를 입력시 먼저 커서가 1컬럼 오른쪽으로 이동한 다음 텍스트가 그 앞에 삽입

 

i

 insert text

 텍스트를 현재의 커서 위치 앞에 삽입

 

o

 커서가 위치한 현재 줄의 아래 줄을 새로 만들고 삽입모드로 전환됨

 

O

 커서가 위치한 현재 줄의 위로 줄을 새로 만들고

삽입모드 -> 명령모드로 전환

[esc] 키를 누름

 

5. 삭제 명령어

x

 커서가 위치한 부분의 한 문자를 삭제하는 명령어 

 

X

 커서가 위치한 앞 부분의 문자를 삭제하는 명령어

 

dw

 현재 커서의 위치에서 오른쪽 방향으로 한 단어를 삭제

 

db

 현재 커서의 위치에서 왼쪽 뱡향으로 한 단어를 삭제

 

dd

 커서가 위치한 현재 줄을 삭제하는 명령어

 

D

 현재 줄의 커서 위치 뒤부터 그 줄의 끝까지를 삭제하는 명령어

 

3x, 4dw, 5dd

 위 각 명령어 앞에 숫자를 입력한 후 명령어를 입력하면 해당 삭제할 무자, 단어, 줄 수를 의미

 

6. 찾기, 바꾸기 명령어

/찾을 문자열 [Enter]

 앞으로 문자열 찾기 

 

?찾을문자열 [Enter]

 뒤로 문자열 찾기 

 

n

 다음 문자열 찾기

 

N

 이전 문자열 찾기

 

7. Copy & Paste, 취소 명령어

copy

yl

 현재 커서가 위치한 문자를 임시 버퍼에 복사

 

yw 

  현재 커서가 위치한 단어를 임시 버퍼에 복사

 

yy 또는 Y

 현재 커서가 위치한 줄을 임시 버퍼에 복사

 

각 명령어 앞에 숫자를 입력하면 복사할 문자, 단어, 줄 수를 의미

 

paste

p

 현재 커서의 뒤(오른쪽 또는 아래 줄 위치)에 임시 버퍼에 복사된 내용 붙이기

 

P

 현재 커서의 앞(왼쪽 또는 위 줄 위치)에 임시 버퍼에 복사된 내용을 붙이기

 

명령취소

u 

바로 전에 행한 한번의 명령을 취소하는 명령 

 

U

 이전에 행한 명령이 몇 번이든지 그 줄에서 이루어졌던 모든 수정들을 복원

 

 

8. 기타 명령어

. 

 바로 전에 수행한 명령을 반복 수행시키는 명령어 

 

J 

현재 커서가 위치한 줄과 다음 줄을 한 줄로 결합하고자 하는 명령 

 

:set nu 

 파일 내용에 줄 번호 부여시 사용

 

:set nonu 

 줄 번호 해제시

 

:set all 

 set 설정의 모든 옵션을 보여줌

 

:set tabstop=4 

 tab의 크기를 설정

 

:set autoindent 

 자동 들여쓰기 설정

 

:set noautoindent 

 자동 들여쓰기 해제

 

:r 화일이름

 현재 편집중인 문서에 다른 화일을 삽입

 

:숫자 

 지정한 숫자 라인으로 커서 이동 nG와 동일

 

9. 커서 및 화면 이동

h

 커서를 한 컬럼 왼쪽으로 이동

 

i

 커서를 한 컬럼 오른쪽으로 이동

 

j

 커서를 한 라인 아래로 이동

 

k

  커서를 한 라인 위로 이동

 

H

 커서를 화면의 첫 라인으로 이동

 

M

  커서를 화면의 중간 라인으로 이동

 

L

 커서를 화면의 마지막 라인으로 이동

 

0

 커서가 라인의 제일 왼쪽으로 이동

 

^

 커서가 라인의 스페이스가 아닌 제일 처음 문자로 이동

 

$

 커서가 라인의 제일 오른쪽으로 이동

 

[Ctrl] + b

 화면단위로 이동하는데, 한 화면 위로 올라감

 

[Ctrl] + f

 화면 단위로 이동하는데, 한 화면 아래로 내려감

 

[Ctrl] + d

 반 화면 아래로 내려감

 

[Ctrl] + u

  반 화면 위로 올라감

 

반응형

댓글