엔지니어 은성의 성장록

[VI Editor] Linux 문서 편집기 VI Editor 명령어 정리 본문

카테고리 없음

[VI Editor] Linux 문서 편집기 VI Editor 명령어 정리

엔지니어 은성 2021. 9. 15. 11:49

▶ 편집할 문서 열기 

입력 설명 
vi [파일이름] 파일 이있으면 에디터를 사용하여 파일을 열거나 수정
파일이 없으면 vi 에디터를 이용해 편집
vi -R [파일이름] 읽기전용으로 열기
vi [+n] [파일이름] 프롬프트를 n번째 라인으로 이동후 열기 
vi [+/문자열] [파일이름] 문서의 내용에서 문자열 검색하여 해당 문자열로 프롬프트 이동후 열기 
vi [파일이름] [파일이름] 다중 파일 열기

 

▶ 열린 문서 간 이동하기

입력 설명
:n 다음 파일로 이동
:N 이전 파일로 이동
:args 현재 파일명 표시

 

▶ 문서 복구하기

# vi -r [파일명]

recovery , 예기치 못한 상황에서 비 종료 시 작업 중이던 문서로 복구 파일명. swp으로 저장되어있어 복구가 가능하다.

 

 

▶ 문서 종료하기

입력 설명
:w 저장
:w! 문서 저장 [강제]
:q 문서 종료
저장하지 않으면 종료X, 종료를 하려면 저장을 하거나
강제조료 q! 
:q! 문서 종료 [강제]
:wq 문서 저장후 종료
:wq! 문저 저장후 종료 [강제]
:x  문서 저장후 종료
:w [파일이름] 새로운 파일 이름으로 문서 저장

 

▶ 대기모드 -> 입력 모드

입력 설명
i 현재 프롬프트가 위치한곳에서 입력모드로 전환 / 현재 커서 위치에 삽입 
I 현재 프롬프트가 위치한 라인의 맨 처음으로 이동후 입력모드로 전환
a 현재 프롬프트가 오른쪽으로 한칸 이동 후 입력모드로 전환  / 현재 커서 바로 다음위치에 삽입
A 현재 프롬프트가 위치한 라인의 맨 끝으로 이동 후 입력모드로 전환
o 현재 프롬프트가 위치한 다음 라인에 줄 삽입 후 입력모드로 전환
O 현재 프롬프트가 위치한 이전 라인에 줄 삽입 후 입력모드로 전환
s 현재 프롬프트의 한글자 삭제후 입력모드로 전환
S 현재 프롬프트의 행 삭제후 입력 모드로 전환
R 수정모드로 입력모드 전환

 

▶ 작업 내용 취소

입력 설명
u 작업했던 내용 취소 Ctrl +z 

 

▶ 파일 다시 열기 

입력 설명
:e! 편집한 내용을 저장하지 않고 최종 저장된 상태로 파일 다시 열기

 

▶ 프롬프트 이동하기 (환경에 따라 방향키가 입력되지 않는 경우가 있음)

입력 설명
h <- 왼쪽으로 이동
-> 오른쪽으로 이ㅗㄷㅇ
j 아래로 이동
k 위로 이동

 

▶ 단어 단위로 이동

입력 설명
w 현재 기준 오른쪽 다음 단어로 이동
[n] w 현재 기준 n개 뒤의 단어로 이동
b 이전 단어로 이동
[n] b n개 이전 단어로 이동 

 

▶ 열 이동

입력 설명
0 해당 라인의 맨 앞으로 프롬프트를 이동
$ 해당 라인의 맨 뒤로 프롬프트를 이동

 

▶ 행 이동 (ex set nu 해서 :7번째 행으로 이동) 

입력 설명
G 문서의 마지막 행으로 이동
[n] G n번에 해당하는 행으로 이동
:n n번에 해당하는 행으로 이동

 

▶ 문서 편집하기 (삭제, 복사, 붙여 넣기)

입력 설명
dd 한 라인 삭제하기
[n] dd 현재 프롬프트 기준으로 아래로 n라인 삭제
y 문자 1개 복사
[n] y 오른쪽으로 n개의 문자열 복사
yy 현재 커서가 위치한 1라인 복사
[n] yy 현재 커서 기준 아래로 n라인 복사
p 현재 커서가 있는 바로 아래에 버퍼 내용 붙여넣기 
P 현재 커서의 위에 버퍼 내용 붙여넣기 
x 현재 커서가 위치한 한글자 삭제
[n] x 현재 커서 기준 n개 문자 삭제
d<- 현재 커서 왼쪽에 있는 한글자 삭제
d -> 현재 커서에 있는 한글자 삭제
d 아래 화살표 현재 라인 + 아래 라인 삭제
d 위 화살표 현재라인 + 위 라인 삭제

 

▶  대소문자 변환

입력 설명
~ 현재 커서가 윟치한 문자가 대/소문자로 변환
[n] ~ 현재 커서가 위치한 라인에서 해당 범위만큼 대/소문자 변환

 

▶  마지막 명령 실행하기

입력 설명
. 마지막 실행했던 명령어를 다시 실행

 

▶ 문자열 검색하기

입력 설명
:set ic 검색시 대/소문자 구문 안하게 설정
:set noic 검색시 대 소문자 구분하게 설정
/문자열 (아래로) 문자열과 일치하는 단어 검색(아래로)
?문자열(위로) 문자열과 일치하는 단어 검색(위로)
n 다음으로 일치하는 단어 검색
N 이전으로 일치하는 단어 검색

 

문자열 검색하면서 치환

입력 설명
:%s/old/new/g 전체 파일에서 old 문자열을 new 문자열로 교체 

 

▶ os 명령어 사용

입력 설명
:!bash vi 편집기에서 쉘 환경으로 전환
! [cmd] cmd에 해당하는 명령어를 사용
r ![cmd] cmd에 해당하는 명령어의 출력결과를 vi편집기:로 읽어들임

 

▶ 사용자 정의 옵션 

입력 설명
:set nu 라인번호 표시
:set nonu 라인번호 미표시
:set ts=n tab키의 칸수를 설정 기본값 8
:set list tab이나 개행문자 보이기
:set nolist tab이나 개행문자 숨기기 
:ab [약어] [문자열] 약어를 입력하면 지정한 문자열로 대체 
:una [약어] 지정했던 약어를 취소
:ab 현재 설정되어있는 약어 확인
:map [매크로] [명령어] 매크로를 입력하면 명령어가 실행되게 설정
:unmap [매크로] 지정된 매크로 해제
:set 현재 환경설정 보여줌
:set all 모든 환경설정을 보여줌

 

Comments