본문 바로가기
서버/리눅스

리눅스 vi 명령어

by 서율97 2019. 11. 28.

리눅스 기반에 사용되는 vi 명령어에 대한 자료 정리글입니다.






1. 기본 실행 명령 


vi

vi편집기를 호출

vi filename

기존에 있는 파일이면 그 파일을 열고 없는 파일이면 새로 만든다.

vi + 10filename

지정화일의 10번째 행부터 화일열기

vi +/"school" filename

지정화일내의 school이란 단어가 처음나오는 시점부터 열기

vi -r filename

손상된 파일을 복구

view filename

수정없이 읽기전용으로 열기


2. 커서 이동 명령


h

왼쪽으로 이동

j

아래로 이동

k

위로 이동

l

오른쪽으로 이동

w

한단어 오른쪽으로이동

b

한단어 왼쪽으로 이동

Return

한행아래로 이동

Backspace

한문자 왼쪽으로 이동

Spacebar

한문자 오른쪽으로 이동

H

화면의 맨위로 이동

M

화면의 중간으로 이동

L

화면의 맨 아래로 이동

^F

한화면 앞으로 이동

^D

반화면 앞으로 이동

^B

한화면 뒤로 이동

^U

반화면 뒤로 이동


3. 삽입 명령


a

커서 오른쪽에 문자삽입

A

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

i

커서 왼쪽에 문자삽입

I

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

o

커서 아래에 행 삽입

O

커서 위에 행 삽입

<Esc>

작업완료후 반드시 입력


4. 텍스트 변경


cw

단어 변경

cc

행 변경

C

커서 오른쪽의 행 변경

s

커서가 위치한 문자열 대체

r

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

r-Return

행 분리

J

현재 행과 아래 행 결합

xp

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

-

문자형(대,소문자) 변경

u

이진 명령 취소

U

행 변경 사항 취소

:u

이전의 최종행 취소


5.텍스트 삭제


x

문자삭제

dw

단어삭제

dd

행 삭제

D

커서 오른쪽 행 삭제

:5,10 d

5-10째 행 삭제


6. 행번호 설정


set nu

행번호 표시

:set nonu

행번호 숨기기


7.행 찾기


G

파일의 마지막 행으로 가기

12G

파일의 12번째 행으로 가기


8. 텍스트 복사 및 이동


yy

행 yank 또는 복사

Y

행 yank 또는 복사

P

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

p

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

:1,2 co 3

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

:4,5 m 6

4-5행을 6행 다음으로 이동


9. 찾기&바꾸기


/string/

string탐색

?string?

string 역 방향 탐색

n(N)

string의 다음(이전) 계속 탐색

: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로 전부 대체


10. 화면정리


^L

불필요 화면내용 제거


11. 다른파일을 파일내로 삽입


:r filename

커서 다음에 파일 삽입

:20 r filename

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


12. 파일 저장&종료


:w

변경사항 저장

:w filename

지정한 파일로 저장

:wq

변경사항 저장후 vi종료

ZZ

변경사항 저장후 vi종료

:q!

변경사항을 저장하지 않고 vi종료