✔ 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_string을 replace_string로 대체 |
:1,.s/search_string/replace_string | 1행부터 현재 행의 search_string을 replace_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
[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 |
댓글 영역