SNOWFLAKES DRAWING PAPER

[Linux] vi editor(리눅스 편집기) 단축키 모음 & 사용법 본문

참고/정보/ubuntu(우분투)/Linux

[Linux] vi editor(리눅스 편집기) 단축키 모음 & 사용법

눈송2 2009. 2. 8. 08:19


http://kin.naver.com/knowhow/entry.php?d1id=8&dir_id=8&eid=yKrg/GRxvgRvGO7RT1Bg1F1NLwIHmoqk&qb=dmkgw+u80g==&pid=fhGT7woi5TwsscCA7Ulsss--230930&sid=SY4WL9QSjkkAAHkiKrY

vi editor(리눅스 편집기) 단축키 모음

1.1        커서의 위치를 움직이는 명령(Move commands)

N*가 있는 경우 숫자를 사용할 수 있고, -의 경우 사용할 수 없다.

N

명령어

기능

*

h or ^H or

커서를 한칸(N) 왼쪽으로 이동시킨다.

*

j

커서를 한행(N) 아래로 이동시킨다.

*

l or

커서를 한칸(N) 오른쪽으로 이동시킨다.

*

k or ^P

커서를 한행(N) 위로 이동시킨다.

*

$

커서가 위치한 행(N번째 행)의 끝으로 이동한다.

-

^

커서가 위치한 행의 처음으로 이동한다.

*

+ or

다음행(N행 아래)의 처음으로 이동한다.

-

0

커서가 위치한 행의 처음으로 이동한다.

*

|

N번째 column으로 이동한다.

*

f

오른쪽으로 N번째 char를 찾는다.

*

F

왼쪽으로 N번째 char를 찾는다.

*

w

커서부터 오른쪽 N번째 단어의 첫부분.

*

W

커서부터 오른쪽 N번째 WORD(tab,space,linefeed 뒤에 있는 단어)의 첫부분.

*

{

N개의 paragraphs 앞으로.

-

n

가장 최근의 `/'|`?' 를 반복한다.

-

N

n을 반대방향으로의 수행.

-

%

Braket( { } or [ ] or ( ) )을 찾고 그것의 match(괄호가 닫힌 쌍)찾는다.

 

1.2        찾기(Searching)

/<</SPAN>문자열>

다음으로 <</SPAN>문자열>이 나오는 위치로.

?<</SPAN>문자열>

/를 반대방향으로 수행.

:[x,y]g/<</SPAN>문자열>/<</SPAN>명령어>

x에서 y까지 <</SPAN>문자열>을 찾고(globally) <</SPAN>명령어>를 실행한다.

:[x,y]v/<</SPAN>문자열>/<</SPAN>명령어>

x에서 y까지 문자열과 match되지 않는 라인에 <</SPAN>명령어>를 실행한다.

 

1.3        취소(Undoing changes)

u

가장 최근에 한 작업을 취소한다.

U

만약 작업을 한 라인에서 벗어나지 않았다면, 그 라인에서 한 작업들을 모두 취소한다.

:q!

Save하지 않고 vi를 끝낸다.

:e!

현재 편집중인 화일을 버리고 다시 편집한다.

 

1.4        문자열 삽입(Appending text)

1. 를 누르면 삽입 작업이 끝난다.
2. N
*가 있는 경우 숫자를 사용할 수 있고, -의 경우 사용할 수 없다.

*

a

커서의 오른쪽에 쓰기 시작한다.

*

A

커서가 위치한 라인의 맨 끝에 쓰기 시작한다.

*

i

커서의 위치부터 쓰기 시작한다.

*

I

커서가 위치한 라인의 맨 처음부터 쓰기 시작한다.

*

o

커서가 위치한 라인 밑에 새로운 라인을 만들고 거기에 쓰기 시작한다.

*

O

커서가 위치한 라인 위에 새로운 라인을 만들고 거기에 쓰기 시작한다.

*

.

앞에 실행했던 명령을 N번 반복한다.

 

1.5        문자열 삭제(Deleting text)

지운 것은 모두 buffer에 저장할 수 있다. 일단 지우는 명령을 실행하기 전에 "를 치고 a-z 중간의 한 문자를 치면 지운 것이 그 문자에 해당하는 buffer에 저장되게 된다. 참고로 Undo buffer는 가장 최근에 바꾼 것만 저장하게 되고, 1-9에 해당하는 buffer는 가장 최근의 9라인을 지운 것을 저장하게 된다.

*

x

커서 오른쪽의 N개의 문자를 지운다.

*

X

커서 왼쪽의 N개의 문자를 지운다.

*

d

커서가 위치한 곳에서부터 로 인해 움직인 위치까지 지운다.

*

dd

커서의 위치로부터 밑으로 N개의 라인을 지운다.

-

D

커서의 위치로부터 오른쪽의 문자를 모두 지운다.

*

.

최근에 실행했던 명령을 N번 반복한다.

 

1.6        문자열 수정(Changing text)

를 누르면 바꾸는 작업이 끝난다.

*

r

커서의 위치로부터 N개의 문자를 로 바꾼다.

*

R

라인의 나머지를 덮어쓴다.

*

s

N개의 문자를 교체한다.

*

S

N개의 라인을 교체한다.

*

c

커서의 위치로부터 의 위치까지 바꾼다. 예를 들어 cw는 한 단어를 바꾸는 명령이다.

*

cc

N개의 라인을 바꾼다.

*

C

라인의 나머지 부분을 바꾼다.

-

~

대문자와 소문자를 각각 소문자와 대문자로 바꾼다.

*

J

N개의 라인을 연결한다.

*

.

가장 최근의 명령을 N번 반복한다.

-

&

가장 최근의 `ex'의 교체명령을 반복한다.

-

:[x,y]s/

//

x번째 라인에서 y번째 라인까지

의 문자열을 이라는 문자열로 교체한다. 는 여러가지 옵션인데, c는 확인을 요하는 옵션이고 g는 무조건 교체하라는 옵션이다.

 

 

1.7        저장, 다른 화일의 편집, vi를 끝내기

:q

Buffer가 변하지 않은 경우 vi를 끝낸다.

:q!

강제로 vi를 종료한다.

^Z

vi를 종료한다.

:w

화일에 저장한다.

:w <</SPAN>화일명>

<</SPAN>화일명>으로 저장한다.

 

1.8        다른 명령계통으로의 전환 및 shell 명령어의 사용.
(Switch and shell commands)

Q

vi에서 ex 명령으로 전환한다.

:

ex명령어를 vi상에서 사용할 수 있게 한다.

:vi

ex 에서 vi로 전환한다.

:sh

잠시 shell환경으로 나간다. 다시 vi로 돌아오려면 exit를 치면 된다.

 

 

Vi 명령어 일람

 

텍스트 삭제 명령어

작업설명


x

5x

dw

dd

5dd

db

D

:5,10d

커서가 있는 문자 삭제

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

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

커서가 있는 라인 삭제

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

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

커서 오른쪽 행 삭제

5~10번째 행 삭제


복사 및 이동 명령어

작업설명


yy

Y

p

P

:1,2 co 3

:4,5 m 6

yank 또는 복사

yank 또는 복사

yank 되거나 삭제된 행 현재 행 위로 삽입

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

1~2행을 3행 다음으로 복사

4~5행을 6행 위로 이동


행 번호 설정 명령어

작업설명


:set nu

:set nonu

행 번호 표시

행 번호 숨기기


행 찾기 명령어

작업설명


G

21G

Ctrl + G

파일의 마지막 행으로 가기

파일의 21번째 행으로 가기

현재 File name과 커서의 라인 정보


탐색 및 대체 명령어

작업설명


/검색할 문자열/

?검색할 문자열?

n

N

:g/search-string/s/

/replace-string/gc

:s/str/rep

:1,.s/str/rep/

:%s/str/rep/g

:.$/aaa/bbb

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

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

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

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

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

 

현재 행의 strrep로 대체

1부터 현재 행의 strrep로 대체

파일 전체 strrep로 전부대체

커서의 위치로부터 파일의 끝까지 있는

모든 aaabbb로 대체



화면 정리 명령어

작업설명


Ctrl + l

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


파일 명령어

작업설명


:r filename

:34 r filename

커서 다음에 파일 삽입

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



vi 시작 명령어

작업설명


vi filename

vi +18 filename

vi +/문자열 fn

vi r filename

view filename

파일열기, 작성

18행으로 파일 열기

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

손상된 파일 회복

읽기 전용


vi 커서 이동

 


h(¬)

j(¯)

k(­)

l(?)

왼쪽으로 커서 이동

아래로 커서 이동

위로 커서 이동

오른쪽으로 커서 이동


w

e

b

Enter

Back space

Space Bar

^

$

H

M

L

숫자G

오른쪽 한 단어의 끝 부분으로 커서 이동

오른쪽 한 단어의 앞 부분으로 커서 이동

왼쪽 한 단어의 앞 부분으로 커서 이동

한 행 아래로 커서 이동

한 문자 왼쪽으로 커서 이동

한 문자 오른쪽으로 커서 이동

행의 맨 왼쪽으로 커서 이동

행의 맨 오른쪽으로 커서 이동

화면의 맨 위로 이동

화면의 중간으로 이동

화면의 맨 아래로 이동

숫자 만큼 지정한 줄로 커서 이동







Ctrl + i

Ctrl + b

Ctrl + d

Ctrl + u

Ctrl + e

Ctrl + y

한 화면 위로 이동

한 화면 아래로 이동

반 화면 위로 이동

반 화면 아래로 이동

한 줄씩 위로 이동

한 줄씩 아래로 이동


문자,, 삽입 명령어

작업설명


a   (종료 : ESC)

A 

i

I

o

O

커서 오른쪽에 문자 삽입

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

커서 왼쪽에 문자 삽입

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

커서 아래에 행 삽입

커서 위에 행 삽입




텍스트 변경 명령어

작업설명


cw  (종료 : ESC)

cc

C

s

S

r

r-Enter

J

xp

~

u

U

 

.

단어 변경

행 변경

커서 오른쪽의 행 변경

커서가 위치한 문자열 대체

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

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

행 분리

현재 행과 아래 행 결합

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

자형(, 소문자) 변경

이전 명령 취소

행 변경 사항 취소

이전의 최종 행 취소

이전 최종 명령 반복





보관 및 종료 명령어

작업설명


:w

:w filename

:wp

ZZ

:q!

q

e!

변경사항 보관

버퍼를 파일로 보관

변경사항 보관 후 vi 종료

변경사항 보관 후 vi 종료

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

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

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


출처 : [직접 서술] 블로그 집필 - 일상의로의 초대


Comments