티스토리 뷰

vi 에디터는 유닉스 계열 시스템의 90% 이상 설치되어 있는 기본 에디터로 처음 접하는 경우는 매우 불편하지만
사용을 해보면 상당히 간편하고 편하게 쓸 수 있는 에디터 중 하나라고 생각합니다.
처음 사용하면서는 굳이 이걸 왜 쓰지, 이걸 꼭 써야 되나 했지만
서버에 접속해서 파일을 확인하기 위해서는 꼭 써야 되었기 때문에 조금씩 사용을 해보다가
지금은 50:50 정도로 사용을 하고 있습니다.
vi 에디터는 기본적으로 일반모드, 입력모드, 명령모드가 존재합니다.
일반모드는 파일 내에서 이동을 하거나 검색을 할 수 있는 모드
입력모드는 일반모드에서 i, a, o 등 키를 입력하여 문서를 입력을 할 수 있는 모드
명령모드는 : 를 이용해서 명령을 실행해서 변경내용을 저장하거나 문자를 변환할 수 있는 모드
1. 새로운 파일을 만들거나 기존 파일 열기
vi 파일명
파일명이 존재하지 않으면 일반모드로 새로운 파일을 열어 줌

파일명이 존재하면 일반모드로 열어서 보여줌

2. 파일을 입력모드로 변경
일반모드에서 i , a , o 키를 누르면 입력모드로 변경됨
입력모드시 좌측 하단에 -- INSERT -- 문구가 생기면서 입력모드로 변경됨

입력모드 명령어
명령어 | 설명 |
i | 현재 커서가 위치한 칸에 입력 |
I (Shift + i) | 현재 커서가 위치한 줄의 제일 앞에서부터 입력 |
a | 현재 커서가 위치한 다음칸부터 입력 |
A (Shift + a) | 현재 커서가 위치한 줄의 제일 마지막칸부터 입력 |
o | 현재 커서가 위치한 다음줄에 입력 |
O (Shift + o) | 현재 커서가 위치한 이전줄에 입력 |
s | 현재 커서가 위치한 한 글자를 지우고 입력 |
S (Shift + s) | 현재 커서가 위치한 한 줄을 지우고 입력 |
3. 파일을 일반모드로 변경
ESC
일반모드시 좌측 하단에 표시되던 -- INSERT -- 문구가 사라지면서 일반 모드로 변경됨

4. 파일 저장
:w
:(콜론)을 입력하여 w 명령어를 실행하면 내용이 저장이 됨

5. vi 종료 (파일닫기)
:q
:(콜론)을 입력하여 q 명령어를 실행하면 파일을 닫고 에디터가 종료됨

같이 사용되는 명령
:q! 변경된 내용 저장하지 않고 강제 종료
:wq 변경된 내용을 저장하고 종료
6. 커서이동(방향이동) 방법 및 명령어
커서를 이동하는 방법은 기본적으로 화살표 방향기 4개와(←↓↑→) PageUp, PageDown을 이용해서도 가능합니다.
하지만 vi에디터에서는 커서를 이동할 수 있는 명령어가 따로 존재합니다.
방향키가 없는 키보드에서는 유용한 기능이니 기본적인 몇 가지만 알아둬도 편할 거예요
커서이동 명령어(제가 자주 사용하는 명령어)
명령어 | 설명 |
h | 커서를 왼쪽으로 한칸씩 이동 |
j | 커서를 아래쪽으로 한칸씩 이동 |
k | 커서를 위쪽으로 한칸씩 이동 |
l | 커서를 오른쪽으로 한칸씩 이동 |
w | 다음 단어의 첫글자로 이동(단어단위 이동) |
^ | 커서가 있는 줄의 첫 문자로 이동 |
$ | 커서가 있는 줄의 제일 끝으로 이동 |
0 | 커서가 있는 줄의 제일 앞으로 이동 |
gg | 문서의 제일 첫번째 줄로 이동 |
G | 문서의 제일 마지막 줄로 이동 |
:50 | 입력한 숫자의 줄로 이동(50번째 줄로 이동) |
Ctrl + b | 이전 화면으로 이동 |
Ctrl + f | 다음 화면으로 이동 |
50% | 입력한 %(퍼센트)에 해당하는 줄로 이동(50%에 해당하는 줄로 이동) |
7. 삭제, 복사, 붙여넣기 명령어
삭제 및 복사/붙여넣기도 사용하면서 손에 익숙해지면 의외로 편하고 쉽습니다.
삭제 및 복사/붙여넣기 명령어
명령어 | 설명 |
x | 현재 커서가 위치한 문자를 삭제 |
dw | 현재 커서가 위치에서 문자 단위로 삭제(문자나 특수문자 공백등을 기준이 됨) |
dd | 현재 커서가 위치한 한 줄을 삭제 |
10dd | 현재 커서가 위치한 줄에서 숫자만큼 삭제(10줄이 삭제됨) |
yy | 현재 커서가 위치한 줄을 복사 |
10yy | 현재 커서가 위치한 줄에서 숫자만큼 복사(10줄이 복사됨) |
p | 복사한 내용을 커서가 위치한 다음줄에 붙여 넣기 |
P (Shift + p) | 복사한 내용을 커서가 위치한 이전줄에 붙여 넣기 |
8. 되돌리기 명령어
작업 도중 이전으로 되돌리거나 다시 이후로 되돌리는 기능은 필수죠
윈도우에서 사용하는 실행취소(Ctrl+z) 및 다시실행(Ctrl+y)와 같은 명령어입니다.
되돌리기 명령어
명령어 | 설명 |
u | 이전 상태로 되돌림(윈도우 Ctrl + z 기능과 동일) |
Ctrl + r | 이후 상태로 되돌림(윈도우 Ctrl + y 기능과 동일) |
9. 검색 명령어
단어를 검색하고자 할 때 사용하는 명령어
검색 명령어
명령어 | 설명 |
/test | "test" 와 일치하는 문자를 현재 커서 위치부터 아래쪽 방향으로 검색 |
?test | "test" 와 일치하는 문자를 현재 커서 위치부터 위쪽 방향으로 검색 |
n | 위 명령어로 찾은 문자중 다음 문자로 이동 |
N (Shift + n) | 위 명령어로 찾은 문자중 이전 문자로 이동 |
10. 검색어 치환 명령어
:%s/찾을문자/바꿀문자/g
검색을 하는 경우가 그냥 검색을 하는 경우도 있지만 검색한 문자를 변경하기 위한 경우도 있는데요
이때 검색한 문자를 다른 문자로 변경하고자 할 때 쓰는 명령어입니다.
파일 내 특정 단어를 일괄로 변경하고자 할 때 사용하면 편리하니 알아두시면 좋을 거 같습니다.
vi 에디터의 가장 기본적인 명령어를 정리해 봤습니다.
'개발 n > linux' 카테고리의 다른 글
tar 파일 압축 및 해제 (0) | 2020.11.02 |
---|---|
파일 링크 ln 사용법 (0) | 2020.11.01 |
- Total
- Today
- Yesterday
- 작심삼일X
- mysql컨트롤함수
- 필드유형
- removeItem
- mysql데이터타입
- 자동차방전
- unix타임
- mysql내장함수
- mysql문자열함수
- 콤마넣기
- 자동차배터리교체
- 기본쿼리
- 두아이아빠
- mysql타입변환함수
- mysql내부연산
- 배터리교체방법
- 필드타입
- mysql필드유형
- select기본구문
- setItem
- 비교연산
- 논리연산
- 레이어정렬
- MYSQL
- mysql날짜함수
- 날짜형
- 브라우저크기
- HDD도킹스테이션
- 텍스트줄바꿈
- javascript콤마
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |