VI 에디터 단축키

By | 5월 13, 2009

- 출처 : http://blog.naver.com/kkson50/120108900722 -

* 명령어 정리 

vi 시작 명령어

vi 파일명

파일 열기작성

vi +18 파일명

18행으로 파일 열기

vi +/"문자열" fn

"문자열"의 처음발생 단어부터 열기

vi -r 파일명

손상된 파일 회복

view 파일명

읽기 전용으로 파일 열기

vi 커서 이동 명령어

h(←)

좌측으로

l(→)

우측으로

j(↓)

아래로

k(↑)

위로

w

오른쪽 한 단어의 끝 부분으로, word

e

오른쪽 한 단어의 앞 부분으로

b

왼쪽 한 단어의 앞 부분으로, back

Enter

한 행 아래로

Back space

한 문자 왼쪽으로

Space Bar

한 문자 오른쪽으로

^

행의 맨 왼쪽으로

$

행의 맨 오른쪽으로

H

화면의 맨 위로, Home

M

화면의 중간으로, Middle

L

화면의 맨 아래로, Last

숫자G

'숫자'만큼 지정한 줄로

Ctrl + f

한 화면 위로

Ctrl + b

한 화면 아래로, bottom

Ctrl + d

반 화면 위로, down

Ctrl + u

반 화면 아래로, up

Ctrl + e

한 줄씩 위로

Ctrl + y

한 줄씩 아래로

문자,행 삽입 명령어

a (종료:ESC)

커서 오른쪽에 문자 삽입 , append

A (종료:ESC)

커서 오른쪽행의 끝에 문자 삽입 , Append

i (종료:ESC)

커서 왼쪽에 문자 삽입, insert

I (종료:ESC)

커서 왼쪽행의 처음에 문자 삽입

o (종료:ESC)

커서 아래에 행 삽입,

O (종료:ESC)

커서 위에 행 삽입

텍스트 변경 명령어

cw (종료:ESC)

단어 변경

cc (종료:ESC)

행 변경

C (종료:ESC)

커서 오른쪽의 행 변경

s (종료:ESC)

커서가 위치한 문자열 대체

S (종료:ESC)

커서가 위치한 라인의 문자열 대체

r

커서 위치 문자를 다른 문자로 대체 , replace

r-Enter

행 분리

J

현재 행과 아래 행 결합

xp

커서 위치 문자와 오른쪽 문자 교환

~

자형(,소문자변경

u

이전 명령 취소 , undo

U

행 변경 사항 취소

:u

이전의 최종 행 취소

.

이전 최종 명령 반복

텍스트 삭제 명령어

x

커서가 있는 문자 삭제

5x

커서가 있는 위치부터 5개의 문자를 삭제

dw

현재 커서가 있는 한단어 삭제

dd

커서가 있는 라인 삭제

5dd

커서가 있는 라인부터 5개의 라인 삭제

dG

커서가 있는 라인부터 문서의 끝까지 모두 삭제

db

커서의 위치에서 꺼꾸로 한단어 삭제

D

커서 오른쪽 행 삭제

:5,10d

5-10번째 행 삭제

복사 및 이동 명령어

yy

 yank 또는 복사

Y

 yank 또는 복사

P

yank되거나 삭제된 행 현재 행 위에 삽입 , Paste

p

yank되거나 삭제된 행 현재 행 아래에 삽입 ,paste

:1,2 co 3

1-2행을 3행 다음으로 복사, copy

:4,5 m 6

4-5행을 6행 위로 이동, move

행 번호 설정 명령어

:set nu

행 번호 표시 , number

:set nonu

행 번호 숨기기 , nonumber

행 찾기 명령어

G

파일의 마지막 행으로 가기

1G

파일의 1번째 행으로 가기

Ctrl + G

현재의 filename line수를 알려줌

탐색 및 대체 명령어

/검색할 문자열/

오른쪽 아래 방향으로 문자열 검색

?검색할 문자열?

왼쪽 위 방향으로 문자열 검색

n

문자열의 다음으로 계속 검색

N

문자열의 이전으로 계속 검색

:g/search-string/s//replace-string/gc

각 발생 탐색 후 확인하고 대체

:s/str/rep/

현재 행의 str rep로 대체

:1,.s/str/rep/

1부터 현재 행의 str rep로 대체

:%s/str/rep/g

파일 전체 str rep로 전부 대체

:.$/aaa/bbb/

커서의 위치로부터 화일의 끝까지 있는 모든 aaabbb로 대체

화면정리 명령어

Ctrl + l

불필요한 화면정리 후 다시 표시

파일 명령어

:r filename

커서 다음에 파일 삽입

:34 r filename

파일을 34번째 행 다음에 삽입

보관 및 종료 명령어

:w

변경사항 보관

:w filename

버퍼를 파일로 보관

:wq

변경사항 보관 후 vi 종료

ZZ

변경사항 보관 후 vi 종료

:q!

변경사항 보관하지 않고 종료

q

수정한 파일을 저장하지 않고 vi 종료

e!

수정한 것을 무시하고 다시 편집상태로

* 기타 명령어

:!date - 유닉스 명령을 vi에디터 상에서 실행할 수 있다.
:r aaa.txt - 현재 문서의 상단에 aaa.txt 의 내용을 삽입한다.
:sh - vi를 놔 두고 새로운 쉘로 이동 (exit로 복귀)

* vi 환경설정

- 환경설정 파일은 각 계정 폴더 (/root, /home/bruce ...)의 .vimrc 파일이다. 없으면 생성하자.

- .vimrc 파일 예제
set nu tabstop=4 autoindent

- 옵션 설명 (에디터 별로 적용되지 않는 옵션들도 있음에 주의)

nu : 행번호를 보여준다.
nonu : 행번호를 보여주지 않는다.
autoindent : 자동으로 들여쓰기를 한다 (이전 행의 시작위치에서 커서 시작)
tabstop=4 : 탭 간격을 4로 한다.

Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments