Linux

Vi 명령어

gokimkh 2022. 6. 11. 16:39

입력 명령: 

* 입력이 끝나면 입력모드에서 명령 모드로 돌아가야한다(Esc)

명령키 수행 작업
i 커서 앞에 삽입
a 커서 뒤에 삽입
l 현재 줄 첫 칸 옆에 텍스트 입력
A 현재 줄 끝에 텍스트 입력
o 현재 줄 다음에 삽입
O 현재 줄 앞에 삽입

 

저장 명령:

명령 모드에서 사용한다.

명령키 수행 작업
:w 현재의 파일명으로 파일 저장
:w 파일명 지정한 파일명으로 파일 저장
:q 작업 내용을 저장하였으면 vi 종료
:q! 작업 내용을 저장한 후 vi 종료
:wq 작업 내용을 지정한 파일명으로 저장한 후 vi 종료
:wq 파일명 작업 내용을 지정한 파일명으로 저장한 후 vi 종료
zz 작업 내용을 저장한 후 vi 종료

 

커서 이동하기:

명령 모드에서 사용한다.

 

화면 이동하기:

명령 모드에서 사용한다.

기존 명령 키 기능
^u 반 화면 위로 이동한다.
^d 반 화면 아래로 이동한다.
^b 한 화면 위로 이동한다.
^f 한 화면 아래로 이동한다.
^y 화면을 한 행만 위로 이동한다.
^e 화면을 한 행만 아래로 이동한다.

 

특정 행으로 바로 이동:

명령 모드에서 사용한다.

명령 키 기능
G 파일의 마지막 행으로 커서가 이동
행 번호G 지정한 행 번호로 커서가 이동
:행 번호 지정한 행 번호로 커서가 이동
:$ 파일의 마지막 행으로 커서가 이동

 

내용 수정하기:

명령 모드에서 사용한다.

명령 키 기능
r 커서가 위치한 글자를 다른 글자로 수정한다.
cw, #cw 커서 위치부터 현재 단어의 끝까지 수정한다.
#에는 수정할 단어의 수를 지정한다.
예를 들어 3cw는 커서 위치부터 세 단어를 수정한다.
s, #s 커서 위치부터 Esc 키를 입력할 때까지 수정한다.
#에는 수정할 글자의 수를 지정한다.
예를 들어 5s는 커서 위치부터 다섯 글자를 수정한다.
cc 커서가 위치한 행의 내용을 모두 수정한다.
C 커서 위치부터 행의 끝까지 수정한다.

 

내용 삭제하기:

명령 모드에서 사용한다.

명령 키 기능
x, #x 커서 위치의 글자를 삭제한다. #에는 삭제할 글자 수 지정
dw, #dw 커서 위치의 단어를 삭제한다. #에는 삭제할 단어 수를 지정한다.
dd, #dd 커서 위치의 행을 삭제한다. #에는 삭제할 행의 수를 지정한다.
D 커서 위치부터 행의 끝까지 삭제한다.

 

명령 취소하기:

명령 모드에서 사용한다.

명령 키 기능
u 명령을 취소한다.
U 해당 행에서 한 모든 명령을 취소한다.
:e! 마지막으로 저장한 내용 이후의 것을 버리고 새로 작업한다.

 

복사하기:

명령 모드에서 사용한다.

명령 키 기능
yy, #yy 커서가 위치한 행을 복사한다. #에는 복사할 행의 수 지정
p 커서가 위치한 행의 아래쪽에 붙인다.
P 커서가 위치한 행의 위쪽에 붙인다.

 

검색하기:

명령 모드에서 사용한다.

명령 키 기능
/문자열 문자열을 아래 방향으로 검색한다.
?문자열 문자열을 위 방향으로 검색한다.

 

바꾸기:

명령 모드에서 사용한다.

명령 키 기능
:s/문자열1/문자열2/ 커서가 위치한 행에서 첫 번째로 나오는 문자열1을 문자열2로 바꾼다.
:<범위>s/문자열1/문자열2/ 범위 내 모든 각 행에서 첫 번째로 나오는 문자열1을 문자열2로 바꾼다.