[Linux] vi 내부 명령어 알아보기 [이동 / 복붙 / 삭제 / 찾기 / 치환]

2021-09-29


Photo by Marek Piwnicki on Unsplash

vi는 문서 편집기로 활용된다. 명령어로는 vi [파일명]으로 동작하며, 현재 유저가 해당 파일에 write 즉 w 권한이 있을 때 해당 파일을 편집할 수 있다. windows에서 비슷한 예로 들면 메모장 파일인 txt를 열어서 수정하는 것이라고 생각하면 이해하기 쉬울 것이다. 그러면 이러한 vi 내부에서의 명령어들을 알아보도록 하자.


- 입력명령어

 

입력 명령어는 크게 i / a / o / s 이렇게 네 가지로 나누어지며, 각각의 입력하는 시작점이 조금씩 다르다. 그중에서 i를 가장 많이 사용하게 되는데, 우리는 이 4가지 모두 알아보자.

 

예제이미지

 

i : i는 현재 커서가 위치부터 입력을 시작한다. 일반적인 입력이며, 가장 많이 사용된다.

 

a : 현재 커서의 다음 위치부터 입력을 시작한다. 

현재 l에 커서가 올라가 있는데, a를 눌러 입력을 시작하면 d부터 입력하게 된다.

 

o : 현재의 커서 다음 줄에 입력한다. 

 

s : 현재 커서가 위치의 한 글자를 지우고 입력한다.

현재 l에 커서가 올라가 있는데, s를 눌러 입력을 시작하면 l 문자를 지우고 그 자리에 입력하게 된다.


- 커서 이동 명령어

 

기본적인 좌우 위아래는 방향키로 이동이 가능하다.(/ 기호는 구분자이다.)

 

pagedown / ctrl + f : 현재 보이고 있는 콘솔에 다음화면(내용)으로 이동한다.

 

pageup / ctrl + b : 현재보여지고 있는 콘솔에 이전 화면(내용)으로 이동한다.

 

home / shift + 6 : 현재행의 처음으로 이동한다.

 

end / shift + 4 : 현재행의 끝으로 이동한다.

 

gg : 제일 첫 행으로 이동하다.

 

G : 제일 끝 행으로 이동한다.

 

숫자 + G / : + 숫자 : 숫자 행으로 이동한다.

 


- 복붙 / 삭제 / 문자열 찾기 / 치환 명령어

 

x : 현재 커서가 위치한 글자 삭제

 

dd : 현재 커서가 있는 행을 삭제

 

yy : 현재 커서가 있는 행을 복사

 

p : 복사된 내용을 현재 행 이후에 붙여 넣기

 

/문자열 : 해당 문자열을 찾음 (n 키를 누르면서 다음 문자열로 이동)

 

:%s/기존문자열/새문자열 : 기존 문자열을 새로운 문자열로 모두 변경한다. 


대표 이미지 출처 : Photo by Marek Piwnicki on Unsplash