카테고리 없음
[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 |
모든 환경설정을 보여줌 |