Linux

리눅스 vi 에디터 사용법 (vim 단축키 정리)

빌노트 2017. 9. 24. 12:21
반응형

리눅스에서 가장 많이 사용하는 텍스트 에디터는 vi 에디터(정확하게 말하면 vim 에디터)입니다. 처음 배울 때는 어려워도 조금씩 알고나면 그만한 가치가 있는 프로그램이라 생각합니다. vi 에디터는 기능이 너무 많아서 한번에 다 공부하기는 어렵고 쓰면서 편리한 것 중심으로 익혀나가면 될 것 같습니다. 이 글은 자주 사용하는 것을 중심으로 정리하며 꾸준히 업데이트됩니다.


리눅스 vi 에디터 사용법 정리

vi 에디터를 사용하기 위해서는 명령모드와 입력모드의 차이를 알아야합니다. 입력모드는 메모장처럼 텍스트를 자유롭게 편집하는 모드이고, 명령모드는 말 그대로 다양한 명령을 내리는 모드를 말합니다. 처음 vi 에디터를 실행하면 명령모드로 시작을 합니다. vi 에디터 명령모드에서는 커서이동, 복사, 붙여넣기, 문자열 검색 등을 수행할 수 있습니다.


명령모드에서 입력모드로 전환

a : 커서 다음(오른쪽)에 입력

A : 행 마지막 부분에 입력

i : 커서 앞(왼쪽)에 입력

I : 행 처음 부분에 입력

o : 커서 밑에 빈 행을 추가하여 입력

O : 커서 위에 빈 행을 추가하여 입력

s : 커서에 있는 글자를 지우고 입력


입력모드에서 명령모드로 전환

ESC 키를 누른다.


저장, 종료하기

명령모드에서 : (콜론)을 이용하여 다양한 작업을 할 수 있다.

:q

종료한다.

:q! 

저장하지 않고 그냥 강제로 종료한다.

:w

저장한다.

:wq

저장하고 종료한다.

ZZ

저장하고 종료한다. (:wq와 동일)

:wq 파일이름

저장할 때 파일이름을 지정할 수 있다.

(vi 에디터에서는 비정상 종료시 .swp 파일이 생성된다. 필요가 없으면 삭제)


커서 이동

h, j, k, l : 좌, 하, 상, 우 커서 이동 (방향 키가 없는 키보드에서 사용)

w : 다음 단어의 첫 글자로 이동

b : 이전 단어의 첫 글자로 이동

G : 마지막 행으로 가기

:숫자 :  지정한 숫자 행으로 이동. ex) :5


삭제

x : 커서에 있는 글자 삭제

X : 커서 앞에 있는 글자 삭제

dw : 커서를 기준으로 뒤에 있는 단어 글자 삭제 (커서 포함)

db : 커서를 기준으로 앞에 있는 단어 글자 삭제

dd : 커서가 있는 라인(줄) 삭제

dw, db, dd 명령 앞에 삭제할 숫자를 지정할 수 있다. ex) 3dw, 2db, 4dd

삭제 된 내용은 버퍼에 저장되어 붙여넣기가 가능하다.


복사

yw : 커서를 기준으로 뒤에 있는 단어 글자 복사 (커서 포함)

yb : 커서를 기준으로 앞에 있는 단어 글자 복사

yy : 커서가 있는 라인(줄) 복사

yw, yb, yy 명령 앞에 복사할 숫자를 지정할 수 있다. ex) 3yw, 2yb, 4yy


붙여넣기 (복사, 삭제된 내용을 붙여넣는다.)

p : 커서 다음에 붙여넣기

P : 커서 이전에 붙여넣기


찾기

/문자열 : 앞에서 부터 문자열을 찾는다.

?문자열 : 뒤에서 부터 문자열을 찾는다.

n : 뒤로 검색

N : 앞으로 검색


바꾸기

:%s/old/new

각 행의 처음 나오는 old를 찾아 new로 바꾼다.

:%s/old/new/g

모든 old를 찾아 new로 바꾼다.

:%s/old/new/gc

모든 old를 찾아 new로 바꾸기 전에 물어본다.


되돌리기(Undo), 다시실행(Redo)

u : 이전으로  되돌리기 (Undo)

Ctrl + r : 되돌리한 것은 다시 실행하기 (Redo)


자주 사용하는 기능들

:set number 

행번호를 출력한다. (간단하게 :set nu)

:set nonumber 

행번호를 숨긴다. (간단하게 :set nonu)

:cd

현재 디렉토리를 출력한다.



반응형