본문 바로가기

os/linux

[ Linux ] vi 편집기 사용법 (기본 조작)

[ Linux ] vi 편집기 사용법 (기본 조작)

 

안녕하세요. 심심한 코딩쟁이입니다.

 

이번 포스팅에서는 리눅스의 vi 편집기 사용법에 대해 알아보겠습니다.

 

처음 vi 편집기 사용하다 보면 원하는 대로 조작을 하기 어려운 상황이 생기기 마련입니다.

 

vi 편집기 사용법 지금부터 함께 알아보시죠.

 

virtualbox에 설치된 우분투와 putty를 연결한 상태에서 글을 진행하겠습니다.

 

putty 연결에 대한 정보가 필요하시다면 아래글을 참고해 주세요.

 

[ Linux ] Ubuntu에 SSH와 PuTTY로 원격 접속


vi 편집기의 세 가지 모드

 

1. command 모드

2. insert 모드

3. last line 모드

 

터미널에 vi 라고 입력해보면 아래와 같은 화면이 나타납니다.

 

vim이 실행된 것인데 vi를 업그레이드시킨 것이 vim이라고 생각하시면 편합니다.

 

vi를 실행해도 vim이 실행됩니다. 통상 vi로 불리기 때문에 vi라고 계속 지칭하겠습니다.

 

vi
vi 실행 화면

 

vi가 처음 실행되었을 때의 모드가 command 모드입니다.

 

command 모드에서 insert 모드 또는 last line 모드로 전환이 가능합니다.

 

모드에 대해서는 따라오시면서 자연스럽게 알 수 있으니 천천히 살펴보시죠.

 

편집기의 기본 동작인 파일 생성 및 저장 방법에 대해 알아보겠습니다.


파일 생성 및 저장

 

터미널에서 vi 만 입력하고 실행했을 경우 파일의 이름이 정해져 있지 않은 상태로 작업을 진행하게 되며

 

vi
vi 실행

 

 vi file명  으로 vi 편집기를 실행했을 경우 파일이 존재하면 파일 내용을 수정하고

 

파일이 존재하지 않으면 앞서 입력해준 파일명으로 파일을 생성하고 내용을 작성하게 됩니다.

 

vi-filename
vi에 파일명 입력 후 실행

 

이제 내용을 입력해야 하는데 command 모드에서는 파일에 내용을 입력할 수 없습니다.

 

insert 모드로 전환을 해야 내용을 입력할 수 있는데 방법은 아래와 같습니다.


insert 모드 전환 방법

 

i 커서 위치에 입력 I 커서 줄 맨 앞에 입력
a 커서 위치 다음 칸에 입력 A 커서 줄 맨 뒤에 입력
o 커서 다음 줄에 입력 O 커서 이전 줄에 입력
s 커서 위치 한 글자 지우고 입력 S 커서 위치 한 줄 지우고 입력

 

 

vi 편집기를 command 모드에서 insert 모드로 전환한 후에 내용을 입력하고

 

다시 command 모드로 전환하고 싶을 때 ESC 키를 누르시면 됩니다.

 

try-insert
입력을 해보세요.

 

다양한 상황에 적합한 단축키를 사용하면 작업 효율을 상승시킬 수 있으니

 

익숙해지실 때까지 자주 사용해보시는 걸 추천드립니다.

 

이제 파일을 저장해 보겠습니다.

 

앞에서 파일명을 입력하셨을 경우 command 모드인 상태에서 :w 를 입력하시면 파일이 저장됩니다.

 

파일명을 입력 안 하셨다면 :w 파일명 을 입력하시면 파일명으로 파일이 생성되고 내용이 저장됩니다.

 

save-file
내용 변경 후 파일 저장하기

 

원하는 이름으로 파일이 저장되었습니다.

 

save-complete
저장 완료

 

cat 을 사용해 파일의 내용을 출력해 봅니다.

 

cat
파일 내용 출력


last line 모드 전환 방법

 

마지막 줄에 명령어를 입력하는 것을 last line 모드라고 합니다.

 

command 모드에서 : 를 입력하고 원하는 명령어를 사용하시면 됩니다.

 

아래는 저장과 종료에 관련된 명령어입니다.

 

:w 파일 내용 저장
:w! 파일 내용 강제 저장 (읽기 전용일 경우)
:q 편집기 종료
:q! 저장하지 않은 내용이 있어도 편집기 강제 종료
:wq 파일 내용 저장 후 편집기 종료
:w filename 새로운 파일 이름으로 저장

 

last line 모드 명령어는 다 설명드리기 어려울 만큼 다양한 조합을 가지고 있습니다.

 

https://vimhelp.org/usr_toc.txt.html

 

여기서 필요하신 명령어의 대한 내용을 찾아서 사용하시면 좋을 것 같습니다.


커서 이동

 

커서를 이동할 때 보통 방향키를 많이 사용하시는데 그것 말고도 vi 편집기의 이동방법이 존재합니다.

 

물론 command 모드에서 동작합니다.

 

h 왼쪽으로 커서 한 칸 이동
j 아래로 커서 한 칸 이동
k 위로 커서 한 칸 이동
l 오른쪽으로 커서 한 칸 이동
:숫자 입력한 숫자 행으로 이동
gg 첫 행으로 이동
G 끝 행으로 이동
Ctrl + b 이전 화면으로 이동
Ctrl + f 다음 화면으로 이동

 

이 정도만 알고 계셔도 효율적인 작업이 가능하실 겁니다.

 


삭제 및 복사

보통 백스페이스나 delete 를 사용해 문자를 지우곤 하는데 vi에서는 아래와 같은 방법을 사용합니다.

 

x를 습관적으로 사용하시다 보면 금방 익숙해지실 겁니다.

 

x 커서에 위치한 문자 삭제
dd 커서가 위치한 한 줄 삭제
숫자 dd 커서가 위치한 줄 부터 숫자 줄 만큼 삭제
yy 커서가 위치한 줄 복사
숫자 yy 커서가 위치한 줄 부터 숫자 줄 만큼 복사
p (소문자) 복사한 내용 커서 다음 줄에 붙여넣기
P (대문자) 복사한 내용 커서 이전 줄에 붙여넣기

 


되돌리기

 

작업을 하다 보면 이전으로 되돌려야 하는 상황이 종종 생기는데 그럴 때 vi 편집기에서는

 

 u 를 사용합니다. Un do 의 앞글자 u를 사용합니다.

 


검색

 

특정 문자열을 검색하고 싶을 때 사용하는 방법입니다.

 

command 모드에서 작동

 

/찾을문자열 커서 위치에서 아래방향으로 검색
?찾을문자열 커서 위치에서 윗방향으로 검색
n 검색 명령어 실행 후 다음 검색된 위치로 커서 이동
N 검색 명령어 실행 후 이전 검색된 위치로 커서 이동

오늘은 vi 편집기의 기본적인 사용법에 대해 알아보았습니다.

 

3가지 모드를 전환해가며 여러 가지 명령어를 통해 원하는 동작을 실행시키다 보면

 

금세 vi 편집기에 익숙해진 자신을 볼 수 있을 겁니다.

 

리눅스 운영체제를 처음 접하시는 분들에게는 익숙하지 않기 때문에

 

손에 익을 때까지 계속 사용해주시는 게 중요하다고 생각합니다.

 

다음 포스팅에서는 vi 편집기를 더 효율적으로 사용할 수 있는 방법을 다루도록 하겠습니다.

 

감사합니다.

반응형