Vi 명령어

2012. 10. 22. 23:26Programming/Linux

출처: http://blog.naver.com/kdk3852/110145514045

1. 명령행 옵션 

명령어

동작

vi file

file을 연다.

vi file1 file2

file1과 file2를 차례로 연다.

view file

file을 읽기 모드로 연다.

vi -R file

file을 읽기 모드로 연다.

vi -r file

file을 복구하고 잘못된 동작 이후부터 file을 편집한다.

vi -t tag

태그를 검사하고 정의된 위치에서 편집을 시작한다.

vi + file

file을 열 때 커서가 본문의 마지막 행에 위치한다.

vi +n file

file을 열 때 커서가 n행에 위치한다.

vi -c command file

file을 열 때 검색 명령어나 행 번호에 관련된 일반적인 명령을 실행한다(POSIX).

vi +/pattern file

pattern 위치에서 file을 연다.

 

2. vi 명령어

 

(1) 이동 명령어 

 

명령어

의미

문자열

w, W, b, B

 

단어 앞으로, 단어 뒤로

e, E

단어 끝으로

), (

다음 문장의 시작, 이전 문장의 시작

}, {

다음 문단의 시작, 이전 문단의 시작

] ], [ [

다음 절의 시작, 이전 절의 시작

 

RETURN

 

다음 행에서 공백이 아닌 첫 번째 문자로 이동

0, $

현재 행에서 첫 번째 위치, 현재 행에서 마지막 위치

^

현재 행에서 공백이 아닌 첫 번째 문자

+, -

다음 행에서 공백이 아닌 첫 번째 문자, 이전 행에서 공백이 아닌 첫 번째 문자

n |

현재 행에서 n번째 열

H

화면 맨 위 행

M

화면 중간 행

L

화면 맨 마지막 행

nH

화면 맨 위에서부터 n번째 행

nL

화면 맨 끝에서부터 n번째 행

 

화면 스크롤

CTRL-F , CTRL-B

 

한 화면씩 앞으로 스크롤, 뒤로 스크롤

CTRL-D, CTRL-U

화면 반 만큼씩 아래로 스크롤, 위로 스크롤

CTRL-E, CTRL-Y

화면 아래에서 하나 이상의 행을 보여줌, 화면 위에서 하나 이상의 행을 보여줌

z RETURN

커서가 위치한 행이 화면 위로 올라간다

z .

커서가 위치한 행이 화면 중간으로 배치된다.

z -

커서가 위치한 행이 화면 아래로 내려간다.

CTRL-L

스크롤 없는 화면을 보여준다.

 

검색

/pattern

 

앞으로 진행하면서 pattern 검색

?pattern

뒤로 진행하면서 pattern 검색

n, N

마지막으로 검색한 내용을 앞으로 진행하면서 반복, 뒤로 진행하면서 반복

/, ?

이전에 검색한 내용을 앞으로 진행하면서 반복, 뒤로 진행하면서 반복

fx

현재 행에서 문자 x를 앞으로 진행하면서 검색

Fx

현재 행에서 문자 x를 뒤로 진행하면서 검색

tx

현재 행에서 문자 x이전의 문자를 앞으로 진행하면서 검색

Tx

현재 행에서 문자 x이후의 문자를 뒤로 진행하면서 검색

;

현재 행에서 이전에 검색한 것을 반복

,

현재 행에서 이전에 검색한 것을 반대 방향으로 검색

 

행 번호

CTRL-G

 

현재 행 번호를 보여준다.

nG

행 번호가 있을 때 n행으로 이동

G

제일 마지막 행으로 이동

:n

n번째 행으로 이동

gg

제일 첫 처음 행으로 이동

 

표시위치

mx

 

현재 위치를 x로 표시

`x

커서를 x로 이동

` `

이전 문자나 context로 되돌아간다.

'x

x를 포함하고 있는 행의 처음으로 이동

' '

이전 문자를 포함하는 행의 처음으로 되돌아간다.

(2)편집명령어

 

명령어

동작

삽입

i, a

 

문자열을 커서 이전에 삽입, 커서 이후에 삽입

I, A

문자열을 행의 처음에 삽입, 행의 마지막에 삽입

o, O

문자열에서 새로운 행을 커서 아래에 삽입, 커서 위에 삽입

 

변경

r

 

문자 변경

cw

단어 변경

cc

현재 행 변경

C

한 행 전체를 변경

R

문자를 덮어쓰면서 변경

s

치환 변경으로 문자를 삭제하고 새로운 문자열을 삽입

S

치환 변경으로 현재 행을 삭제하고 새로운 문자열을 삽입

 

삭제,이동

x

 

커서 다음 문자를 삭제

X

커서 이전 문자를 삭제

dw

단어 삭제

dd

현재 행 삭제

D

한 행 전체를 삭제

p, P

삭제한 문자열을 커서 뒤에 삽입, 커서 앞에 삽입

복사

yw

단어 복사

yy

현재 행 복사

 

그 외 명령어

.

 

마지막 편집 명령을 반복

u, U

마지막 편집을 되돌리고 현재 행을 저장

J

두 행을 합침

 

ex 편집 명령어

:d

 

행 삭제

:m

행 이동

:co 또는 :t

행 복사

:.,$d

현재 행부터 마지막 행까지 삭제

:30,60m0

30번째부터 60번째 행을 파일의 첫 행으로 이동

:.,/pattern/co$

pattern이 포함된 행을 기준으로 마지막 행까지 현재 행 복사

 

(3) 종료 명령어

 

명령어

의미

ZZ

파일 저장 후 종료

:x

파일 저장 후 종료

:wq

파일 저장 후 종료

:w

파일 저장

:w!

무조건 파일을 저장

q

파일 종료

q!

무조건 파일 종료


'Programming > Linux' 카테고리의 다른 글

[Ubuntu] Youtube 동영상 Download툴 (youtube-dl)사용법  (0) 2020.01.23
Vi Editor Tip  (0) 2012.10.27