본문 바로가기

IT 서비스 바라보기/Programming

vi 명령어 사용법

출처 : 순수비행


< VI 명령어 모음>

문서의 처음으로 : 1gg

한페이지 뒤로 : ctrl + b

한라인의 처음으로 : shift + 6 (혹은 0)

한줄 위로 : k

한칸 뒤로 : h                        

한칸 앞으로 : l (소문자 L)

한줄 아래로 : j

한페이지 앞으로 : ctrl + f

한라인의 끝으로 : shift + 4

문서의 끝으로 : shift + g

매치되는 괄호찾기 : shift + 5

 

단어 삭제 : dw

한줄 삭제 : dd

빈줄삭제 : J

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

 

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

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

 

작업 취소 : u

한줄 복사 : yy, Y

붙여 넣기 : p

 

블럭지정

라인단위 Visual Mode : shift + v

블럭단위 Visual Mode : ctrl + v

화면분할

수평 분할 : ctrl + w + n

수직 분할 : ctrl + w + v

 

창 삭제

CTRL+w q : 커서가 있는 창을 닫음

CTRL+w o : 현재 커서가 있는 창을 제외한 모든 창을 닫음 (, 수정이 안된 창들만 닫힘)

 

창 이동

CTRL+ww : 창 간에 이동

CTRL+wh : 왼쪽(h) 창으로 이동

CTRL+wl : 오른쪽(l) 창으로 이동

CTRL+wj : 상단(j) 창으로 이동

CTRL+wk : 하단(k) 창으로 이동

 

창 크기 조절

CTRL+w = : 모든 창의 크기를 균등하게함

CTRL+w [N]+ : 창의 크기를 N행만큼 증가

CTRL+w [N]- : 창의 크기를 N행만큼 감소

CTRL+w [N]> : 창의 크기를 오른쪽으로 N칸만큼 증가

CTRL+w [N]< : 창의 크기를 왼쪽으로 N칸만큼 증가



저장 및 종료

명령어

설명

:w

저장

:w file.txt

file.txt 파일로 저장

:w >> file.txt

file.txt파일에 덧붙여서 저장

:q

vi종료(저장이 안됐을시 경고)

:q!

vi강제 종료(경고 무시)

:wq!

강제 저장 후 종료

:e file.txt

file.txt파일을 불러옴

:e

현재 파일을 불러옴

 입력모드 전환

명령어

설명

a

커서위치 다음 칸부터 입력

i

커서의 위치에 입력

o

커서의 다음 행에 입력

s

커서 위치의 한 글자를 지우고 입력

 이동

명령어

설명

h

왼쪽으로 이동

l

오른쪽으로 이동

j

아래 행으로 이동

k

위 행으로 이동

w

다음 단어의 첫 글자로 이동

b

이전 단어의 첫 글자로 이동

^

그 행의 첫 글자로 이동 Home키와 동일

$

그 행의 마지막 글자로 이동 End키와 동일

gg

문서의 맨 첫 행으로 이동

G

문서의 맨 마지막 행으로 이동

:n

n행으로 이동 (여기서 n은 숫자임)


삭제

명령어

설명

x

커서 위치의 글자 삭제

dw

한 단어를 삭제

dd

커서가 있는 행을 삭제

 복사 & 붙이기

명령어

설명

yy

커서가 위치한 한 행 복사

p

붙여넣기

Nyy

N행만큼 복사 (N은 숫자임)

Np

N번만큼 붙여넣기 (N은 숫지임)

  블록 지정 관련

명령어

설명

v

블록 지정 (v를 누른후 h j k l을 통해 블록 지정)

y

복사

d

잘라내기

U

대문자로 만듬

u

소문자로 만듬

문자열 탐색 및 치환

명령어

설명

/문자열

문자열을 탐색

:%s/old/new/g

문서 전체에서 old를 new로 교체


파일 버퍼 관련 명령 요약

명령어

설명

:ls

버퍼의 내용을 나열

:bN

N번 버퍼로 이동(N은 숫자임)

:bwN

N번 버퍼를 완전 삭제(N은 숫자며, 없으면 현재의 버퍼삭제)

*여러 파일을 편집하는 방법

$vi file1.c file2.c file.3c 또는 vi *.c

버퍼 1에 file1.c가 들어가고 버퍼 2,3에 각각 file2.c file3.c가 들어가며

vim 명령어 모드에서 :b2를 입력하면 file2.c가 열리게 된다.

마킹 및 마킹한 위치로 이동

명령어

설명

ma

a로 마킹, mb는 b로 마킹

‘a

a로 마킹된 위치로 돌아감 ‘c는 c로 마킹된 위치로 돌아감