기계는 거짓말하지 않는다

Linux VI Editor 편집, 저장, 이동 명령어 본문

Linux

Linux VI Editor 편집, 저장, 이동 명령어

KillinTime 2021. 6. 30. 18:12

VI Editor

유닉스 시스템에서 주로 사용하는 텍스트 편집기이며, 간단한 편집부터 프로그래밍까지 가능하다.

아래는 VIM(VI Imporved)을 사용했고, VIM은 VI의 대부분의 명령을 지원한다. 또 많은 새로운 명령어가 더 있다.

vi (file_name)

vi 에디터를 시작한다.

vi
vi file_name

명령 모드 -> 입력 모드(Insert mode)

입력키 설명
i 커서 앞에 삽입
a 커서 뒤에 삽입
o 현재 줄 다음에 삽입
I (shift + i) 현재 줄 첫 칸 앞에 텍스트 입력
A 현재 줄 끝에 텍스트 입력
O 현재 줄 앞에 삽입

 

마지막 행 모드(Last line mode)

- 입력 모드에서 명령 모드로 변환 시 esc

입력키 설명
:w 현재의 파일명으로 파일 저장
:w file_name 지정한 파일명(file_name)으로 파일 저장
:q 작업 내용을 저장하였으면 vi 종료
:q! 작업 내용을 저장하지 않고 vi 종료
:wq 작업 내용을 저장한 후 vi 종료
:wq file_name 작업 내용을 지정한 파일명(file_name)으로 저장한 후 vi 종료
ZZ(shift + zz) 작업 내용을 저장한 후 vi 종료

 

명령 모드(Command mode)

1. 커서 이동 명령

입력키 설명
H 키 화면 맨 위로
M 키 화면 중간으로
L 키 화면 맨 아래로
w 다음 단어의 첫 문자로
b 이전 단어의 첫 문자로
e 다음 단어의 끝 글자로
n, nG 줄 번호 n 위치로
:$, G 파일의 끝 줄로 이동
n+ Number줄 만큼 앞으로 이동
n- Number줄 만큼 뒤로
( 현재 문장의 처음으로
) 다음 문장의 처음으로
{ 현재 문단의 처음으로
} 다음 문단의 처음으로

 

2. 명령 모드 내용 삭제 및 취소

입력키 설명
x 커서 위치의 문자 삭제 (ex: 3x)
dw, #dw 커서 위치의 단어 삭제, #만큼 삭제
dd, #dd 커서 위치의 줄 삭제, #만큼 삭제
D 커서 위치부터 커서 줄 끝까지 삭제
u 방금 수행한 명령 취소
U 해당 줄의 모든 편집 취소
:e! 마지막 저장 이후 모든 편집 취소

 

3. 내용 수정

입력키 설명
r 현재 커서위치의 한 문자 변경
R 현재 커서부터 ESC 입력까지 변경
cw 커서 위치부터 현재 단어의 끝까지 내용 변경
cc 커서가 위치한 줄의 내용 변경
s, #s 현재 커서위치의 문자를 ESC 입력까지 내용 변경, #만큼 변경
C 커서 위치에서 줄 끝까지 내용 변경

 

4. 편집

입력키 설명
yy, #yy 현재 행을 버퍼로 복사, #만큼 복사 (ex: 4yy)
p 현재 행 다음에 버퍼 내용을 삽입
P 현재 행 위쪽에 버퍼 내용을 삽입
dd, #dd 현재 행 잘라내기, #만큼 잘라내기 (행 삭제와 동일)

 

5. 범위 지정 편집

- “: 범위 편집명령형태로 사용

명령 설명
:1,$ 첫 줄에서 마지막 줄까지
:% 모든 줄
:1,. 첫 줄에서 현재 줄까지
:.,$ 현재 줄에서 마지막 줄까지
:.-Number 현재 줄에서 앞쪽으로 Number번째 줄까지
:start,end start번째 줄에서 end번째 줄까지
:#y #으로 지정한 행 복사 (ex: 2y = 2행 복사)
:N1,N2y 범위로 지정한 행 복사 (ex: 2,5y = 2~5행 복사)
:#d #으로 지정한 행을 삭제 (ex: 5d = 5행 삭제)
:N1,N2d 범위로 지정한 행 삭제 (ex: 2,5d = 2~5행 삭제)
:pu 현재 행 다음에 버퍼내용 붙임
:#pu #으로 지정한 행 다음에 버퍼내용 붙임
Comments