본문 바로가기
운영체제/Linux

[Linux] vi(vim)에디터 사용방법

리눅스를 이용한 개발 혹은 리눅스서버를 운영하는 개발자라면 반드시 알아야 하는 것중에 한가지가 바로 텍스트 에디터를 사용하는 방법입니다. 윈도우의 경우 메모장이나 혹은 Edit Plus와 같은 툴을 이용하여 텍스트 파일을 보지만 리눅스에서는 vim에디터를 이용하여 텍스트 파일을 확인하거나 수정합니다. 물론 vim에디터 외에도 리눅스에는 여러가지 텍스트편집기가 있지만 가장 많이 사용하는 vim에디터만 다루어보도록 하겠습니다.

 

참고로 vim에디터는 vi에디터에서 발전된 형태의 에디터로 리눅스에서는 vi에디터로 실행한다 하더라도 vim으로 실행됩니다.

 

 

 

 

 

vim 에디터 실행

커맨드 라인에 vi 혹은 vim 이라는 키워드를 입력하면 vim에디터가 실행됩니다.

 

 

 

 

 

 

 

기존의 텍스트 파일을 vim에디터로 실행

실행하고자 하는 파일의 경로로 이동하여 vi + 파일이름을 입력하면 vim에디터로 텍스트파일이 실행됩니다.
여기서 저는 .txt파일이 아닌 .log파일을 실행했습니다.

 

 

실행된 vim 에디터 모습입니다.

 

# 조회시 자주 사용되는 단축키

 

Ctrl + f : 다음 페이지로

Ctrl + b : 이전 페이지로

gg : 첫 문장으로

G : 파일의 마지막 문장으로

:5 : 5번째 줄 문장으로 이동

 

 

 

 

 

내용수정

윈도우의 메모장과는 다르게 내용을 수정할려고 입력을 하면 아무런 반응이 없어서 당황하실 수 있습니다. vim에디터에서 내용을 수정하기 위해서는 수정모드로 전환을 해야하는데 키보드의 a키 혹은 i키를 누르면 커서가 깜빡이면서 입력모드로 전환이 됩니다.

 

 

위의 이미지처럼 i 또는 a키를 누르면 화면 하단에 INSERT라는 문구와 함께 커서가 깜빡이면서 내용입력이 가능해집니다.

 

 

이제 작성한 내용을 수정하기 위해서는 :qa라는 명령어를 입력후 엔터를 누르면 됩니다. 명령어는 수정모드에서는 입력이 안되기 때문에 ESC키를 눌러 명령모드로 전환후 :qa를 입력하고 엔터를 누르면 정상적으로 저장이 됩니다. 참고로 저장없이 종료는 :q 입니다.

 

 

 

 

 

 

내용검색

원하는 내용을 검색시에는 '/검색어'를 입력하여 검색이 가능합니다. 검색은 입력모드, 명령모드에서는 동작하지 않기 때문에 최초 실행했을 당시의 조회모드 상태에서 '/검색어'를 입력해야 동작하며 입력모드상태라면 esc키를 눌러서 빠져나온다음 실행하면 됩니다.

참고로 검색후 n으로 다음단어를, N으로 이전단어로 이동할 수 있습니다.

 

 

 

 

 

vim에디터에서 자주 사용되는 단축키

(1) 저장 / 종료
:w                                  - 저장
:w file.txt                       - file.txt 파일로 저장
:q                                   - vi 종료
:wq!                               - 강제 저장 후 종료
:e file.txt                        - file.txt 파일을 불러옴

 

 

(2) 입력

a                                    - 커서 위치 다음 칸부터 입력

i                                     - 커서의 위치에서 삽입모드로 입력

o                                    - 커서의 다음 행에 입력

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

cc                                  - 커서 위치의 한 행을 지우고 입력

R                                    - 커서 위치에서 수정모드로 입력

 

 

(3) 이동

h                                    - 왼쪽으로 이동

 j                                     - 아래로 이동

k                                    - 위로 이동

l                                     - 오른쪽으로 이동

ctrl + b                          - 이전 페이지로 이동

ctrl + f                           - 다음 페이지로 이동

w                                   - 다음 단어이동

b                                    - 이전 단어로 이동

^                                    - 현재 행의 처음으로 이동

$                                    - 현재 행의 끝으로 이동

gg                                  - 문서의 맨 첫 행으로 이동

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

:n                                   - n번째 행으로 이동

 

 

(4) 편집

- 삭제

 x                                   - 커서의 글자 삭제

dw                                 - 한 단어 삭제

D                                   - 커서 위치부터 행 끝까지 삭제 / 복사

dd                                  - 커서가 있는 행을 삭제 / 복사

 

- 복사/잘라내기와 붙이기

yy                                  - 커서가 있는 한 행 복사

10yy                               - 커서가 있는 행 부터 10행을 복사

p                                   - 커서가 있는 행 아래에 붙여넣기

 

- 블록잡기

v                                    - v키 후 커서를 이동하여 블록잡기

 

 

(5) 되돌리기와 되살리기

u                                    - 되돌리기

ctrl + r                             - 되살리기

 

 

(6) 문자열 탐색 / 이동

/찾을 문자열                    - 순방향 검색

?찾을 문자열                    - 역방향 검색

n                                    - 검색 후 순방향 해당 단어로 이동

N                                    - 검색 후 역방향 해당 단어로 이동

 

 

(7) 치환

[범위] / [매칭 문자열] / [치환 문자열] / [행 범위]

ex) %s/old/new/g          - %s(문서전체)에 old를 new로 g(행전체)에 대해 치환한다.

ex) 3, 5s/old/new/           - 3행부터 5행에 있는 old new 치환.(g 생략 경우 행에서 1번만 치환이 이루어진다.)

 

댓글