반응형

안녕하세요.

리눅스에서 가장 많이 사용하는 에디터 중 하나인 vi 에디터의 명령어에 대해서 알아보겠습니다.

 

터미널 명령어


터미널 상에서 vi 에디터를 실행할 때 사용할 수 있는 명령어 입니다.

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을 연다.

 

 

VI 명령어

VI 에디터 내부에서 사용할 수 있는 명령어 입니다.


이동 관련

기본 이동 명령어

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를 포함하고 있는 행의 처음으로 이동

' '

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

  

편집 명령어

삽입 관련 명령어

i, a

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

I, A

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

o, O

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

 

변경 관련 명령어

r

문자 변경

cw

단어 변경

cc

현재 행 변경

C

한 행 전체를 변경

R

문자를 덮어쓰면서 변경

s

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

S

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

 

삭제 관련 명령어

x

커서 다음 문자를 삭제

X

커서 이전 문자를 삭제

dw

단어 삭제

dd

현재 행 삭제

D

한 행 전체를 삭제

p, P

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

 

복사 관련 명령어

yw

단어 복사

yy

현재 행 복사


종료 관련 명령어

ZZ

파일 저장 후 종료

:x

파일 저장 후 종료

:wq

파일 저장 후 종료

:w

파일 저장

:w!

무조건 파일을 저장

q

파일 종료

q!

무조건 파일 종료


-2015. 03. 19 추가-

창분할 관련 명령어

#sp file

#(숫자) 줄 만큼 수평으로 새 창을 분할하여 만들고, file을 불러옴 (숫자 생략 시 기본값은 1, file명 생략 시 새 창을 띄움)

#vs file

#(숫자) 줄 만큼 수직으로 새 창을 분할하여 만들고, file을 불러옴 (숫자 생략 시 기본값은 1, file명 생략 시 새 창을 띄움)

new/vnew

상하/좌우 로 새 창을 생성

[Ctrl+w] + 방향키

활성화 창 이동

[Ctrl+w] + =/+/-

창 크기를 동일하게/크게/작게



파일 내용 비교

$ vim -d 비교할파일들

diff 명령어, vi 실행 시 -d 옵션 사용


Vi/Vim 명령어/단축키 요약



반응형
Posted by 해리팍
BLOG main image

Chanhyun Park (해리팍)
Software Engineer @ SK hynix

Contact Info.
parkch0708@hanmail.net
chanhyun0708@gmail.com
chanhyun.park@sk.com

카테고리

All (1501)
Profile (2)
Park's Life (599)
Computer System (165)
Computer Programming (39)
Computer Study (54)
Computer Etc. (189)
Scuba Diving (137)
Golf (8)
Traveling (245)
생활 정보 (12)
Pokemon GO (50)