상세 컨텐츠

본문 제목

[Linux] Vi (편집기)

Operating System (OS) & Network & VCS/Linux

by 찌니씨 2022. 10. 13. 16:33

본문

linux_vi

 

vi 실행

 

$ vi file_name.file_extension (파일명.확장자)

 

 

vi 모드

 

명령 모드 (Command mode)

  명령어를 입력, 다양한 기능을 사용할 수 있는 모드

 

명령 라인 모드 (Command-line mode), ex모드 (ex mode)

  : 뒤에 명령어를 입력하여 특수 기능을 사용할 수 있는 모드

 

입력 모드, 편집 모드 (Insert mode)

  텍스트를 자유롭게 편집할 수 있는 모드

 

비주얼 모드 (Visual mode)

  문자를 다중 선택할 수 있는 모드

 

 

✔ vi 명령어와 단축키

 


저장 및 종료 (명령 라인 모드)
:q 종료
:q! 저장하지 않고 강제종료
:w 저장
:w file_name.txt file_name.txt로 저장
:wq 저장 후 종료
:wq! 저장 후 강제  종료
:e  현재 파일을 불러옴
:e file_name.txt file_name.txt를 불러옴
:e# 바로 이전에 열었던 파일을 불러옴
:e! 마지막 저장내용으로 되돌림
:prev 이전 파일 편집
:n 다음 파일 편집
:숫자 숫자행으로 이동
:cd 현재 디렉터리 출력
:set nu
:set number 
행 번호 출력
:set nonu
:set nonumber 
행번호 출력 숨김

이동
" 이전 커서 위치로 이동
h, ← 
l, →
k, ↑
 j, ↓
CTRL + d 반 페이지 위로 이동
CTRL + u 반 페이지 아래로 이동
CTRL + b 한 페이지 위로 이동 (영문자판의 글자입력 중간 왼손 검지)
CTRL + f 한 페이지 아래로 이동 (영문자판의 글자입력 하단 왼손 검지)
[[ 맨 윗줄로 이동
]] 맨 아랫줄로 이동
$ 커서가 위치한 줄의 맨 처음으로 이동
0, ^ 커서가 위치한 줄의 맨 끝으로 이동
gg 파일의 제일 윗줄로 이동
G 파일의 제일 아랫줄로 이동
2G 2번째 행으로 이동
Ctril + G 현재 파일명과 행의 정보
{ 이전 문단의 시작점으로 이동
} 다음 문단의 끝지점으로 이동
H (high) 현재 보이는 화면의 맨 위로 이동
M (middle) 현재 보이는 화면의 중간으로 이동
L (low) 현재 보이는 화면의 맨 아래로 이동
b 이전 단어의 첫 글자로 이동
w 다음 단어의 첫 글자로 이동

삭제
dd (delete) 커서가 위치한 줄 삭제
3dd 커서가 위치한 줄과 아래 2줄 삭제
d0, d^ 커서의 위치에서 줄 맨 앞까지 삭제
d$, D 커서의 위치에서 줄 맨 끝까지 삭제
:3 d (delete) 파일의 3번째 줄 삭제
:3, 10d (delete) 파일의 3번째 줄 부터 10번쨰 줄 까지 삭제

복사 및 이동
yy (yank) 커서가 위치한 줄 복사
3yy 커서가 위치한 줄과 아래 2줄 복사
yb 커서 앞에 있는 단어 복사
yw 커서 뒤에 있는 단어 복사
P (paste) 복사한 내용을 커서 앞에 붙여넣음
p (paste) 복사한 내용을 커서 뒤에 붙여넣음
:3 co 10 (copy) 3번째 줄을 복사하여 10번째 줄 아래에 붙여넣음
:1,3 co 10 (copy) 1~3번째 줄을 복사하여 10번째 줄 아래에 붙여넣음
:3 m 10 (move) 3번째 줄을 10번째 줄 아래로 이동
:1,3 m 10 (move) 1~3번째 줄을 10번째 줄 아래로 이동

선택 모드
v 커서를 이동해 글자 단위로 블럭선택 가능
V 커서를 이동해 줄 전체를 블럭 선택 가능
CTRL + v 마우스 드래그와 같은 형식으로 블럭선택 가능

대소문자 전환
u 선택한 블럭안의 대문자를 소문자로 바꿈 (일반적인 대소문자 전환 단축키 CTRL + SHIFT + u)
U 선택한 블럭안의 소문자를 대문자로 바꿈
~ 선택한 블럭안의 대소문자를 전환

 


탐색 및 대체

 

/search_string
:/search_string

:/test
오른쪽 아래 방향으로 "search_string" 검색

"test" 라는 문자를 정방향으로 검색
?search_string
:?search_string

:?test
왼쪽 위 방향으로 "search_string" 검색

"test" 라는 문자를 역방향으로 검색
n (next) 다음 "search_string" 계속 검색
N 이전 "search_string" 계속 검색
:g/search_string/replace_string 검색 후 확인하고 대체
:s/search_string/replace_string 현재 행의 search_stringreplace_string로 대체
:1,.s/search_string/replace_string 1행부터 현재 행의 search_stringreplace_string으로 대체
:%s/search_string/replace_string 모든 search_string replace_string으로 대체
:/$/search_string/replace_string 현재 커서의 위치에서 부터 파일 끝까지 있는 search_string replace_string으로 대체

 


기타
SHIFT + INSERT 붙여넣기
u (Undo)  이전으로
Ctrl + r (Redo)  다시실행
. 현재 행, 이전 최종 명령 반복
$ 현재 ~ 파일 끝
% 전체
1,3 1~3 행

 

 

참고

https://www.devkuma.com/docs/linux/vi-editor/

 

Linux 명령어 | 쉘 스크립트 (Shell Script) | Vi Editor 명령어

Vi, VIM(Vi IMproved=향상된 VI) 빠른 편집 속도가 특징인 리눅스의 대표적인 에디터이다. vi는 Visual의 약자이다 vi 시작 명령어 명령어 설명 예제 vi {파일명} 파일열기, 작성 vi test.txt vi +{행번호} {파일

www.devkuma.com

http://ivis.kr/images/e/e9/2018_Unix_command_vi.pdf

 

'Operating System (OS) & Network & VCS > Linux' 카테고리의 다른 글

[Ubunt 20.04] Linux 우분투에서 YUM사용  (0) 2022.11.07
[Linux] Linux Ubuntu 설치  (2) 2022.10.18
[Linux] 리눅스와 리눅스 배포판  (0) 2022.10.18
[Linux] tree  (0) 2022.10.12
[Linux] yum과 RPM  (0) 2022.10.12

관련글 더보기

댓글 영역