728x90
728x90
1. 모드
1.1 명령 모드
- vi 실행
" vi 파일명 "을 하면 새로운 문서를 편집할 수 있는 환경이 만들어진다.
ex) vi khb.txt
- vi 시작
위와 같이 vi를 실행했다면, vi가 시작되는 첫 모드가 명령 모드이다.
1.2. 입력 모드
1.2.1 명령 모드에서 i or a 키를 눌러 입력 모드로 들어가게 된다.
1.2.2. 입력 모드에서는 자유롭게 코드나 글을 작성할 수 있다.
- ESC : 명령 모드로 돌아감
- i : 커서가 현재 위치한 부분에서부터 시작
- a : 커서 바로 다음 부분부터 시작
- shift+spacebar : 영/한 변환
1.3. 콜론 모드
- 명령 모드에서 : (콜론) 을 입력하면 콜론 모드로 들어가게 된다.
- 콜론 모드 맨 아랫줄에 입력 가능한 공간이 있는데, 여기에 명령어를 입력함으로써 vi를 저장 및 종료할 수 있다.
2. vi 명령어
2.1 입력 모드로 전환
i : 커서 앞(왼쪽)부터 입력
a : 커서 다음(오른쪽)부터 입력
2.2 명령 모드로 전환
ESC : 입력 모드 -> 명령모드 / 콜론 모드 -> 명령 모드
2.3. 저장/종료
:q : 종료 (저장할 것이 있으면 확인 문구가 나옴)
:q! : 저장하지 않고 강제로 종료
:w : 저장
:wq : 저장 후 종료
ZZ : 저장 후 종료(:wq와 동일)
:wq 파일 이름 : 저장 후 파일 이름 지정
=> vi 편집기에서는 비정상 종료를 하면 .swp 파일이 생기는데, 필요하지 않을 경우 따로 삭제작업 필요.
2.4. 삭제
x : 커서에 있는 글자 삭제
X : 커서 앞에 있는 글자 삭제
dw : 커서를 기준으로 뒤에 있는 단어 글자 삭제 (커서 포함)
db : 커서를 기준으로 앞에 있는 단어 글자 삭제
dd : 커서가 있는 라인(줄) 삭제
D : 커서 위치로부터 행의 끝까지 삭제
:5,10d : 5~10번째 행 삭제
=> dw, db, dd 명령 앞에 삭제할 숫자를 지정
ex)
+ 3dw : 커서 뒤에 있는 단어 글자 3개 삭제
+ 2db : 커서 앞에 있는 단어 글자 2개 삭제
+ 5dd : 커서가 있는 줄부터 5줄 삭제
=> 삭제 된 내용은 버퍼에 저장되어 붙여넣기가 가능
2.5. 커서 이동
h, j, k, l : 좌,하,상,우 커서 이동 (방향 키가 없는 키보드에서 사용)
w : 다음 단어의 첫 글자로 이동
b : 이전 단어의 첫 글자로 이동
G : 마지막 행으로 가기
:숫자 : 지정한 숫자 행으로 이동 ex) :5
2.6. 복사/붙여넣기
/* 복사 */
yw : 커서를 기준으로 뒤에 있는 단어 글자 복사 (커서 포함)
yb : 커서를 기준으로 앞에 있는 단어 글자 복사
yy : 커서가 있는 라인(줄) 복사
=> yw, yb, yy 명령 앞에 복사할 숫자를 지정 가능
ex)
+ 3yw : 커서 기준으로 현재 단어부터 뒤로 3개의 단어 복사
+ 2yb : 커서 기준으로 앞에 있는 2개의 단어 복사
+ 4yy : 현재 커서가 위치한 행으로부터 4행을 복사
/* 붙여넣기 : 복사한 내용, 삭제한 내용을 붙여넣음 */
p(소문자) : 커서 다음에 붙여넣기
P(대문자) : 커서 이전에 붙여넣기
2.7. 찾기
/문자열 : 앞에서 부터 문자열을 찾음
?문자열 : 뒤에서 부터 문자열을 찾음
n : 뒤로 검색
N : 앞으로 검색
2.8. 바꾸기
:%s/exist/new: 각 행의 처음 나오는 exist를 찾아 new로 바꿈
:%s/exist/new/g: 모든 exist를 찾아 new로 바꿈
:%s/exist/new/gc: 모든 exist를 찾아 new로 바꾸기 전에 물어봄
2.9. 되돌리기/재실행
u : 이전으로 되돌리기 (Undo)
Ctrl + r : 되돌리기한 것을 다시 실행 (Redo)
2.10. 행번호
:set number: 행번호를 출력 (간단하게 :se nu)
:set nonumber: 행번호를 숨김 (간단하게 :se nonu)
2.11. 경로
:cd: 현재 디렉토리를 출력
2.12. 줄 맞춤 확인
:se list : 줄 맞춤 확인 출력
:se nolist : 줄 맞춤 확인 숨김
출처 : https://velog.io/@gayeong39/Linux-Vi-%ED%8E%B8%EC%A7%91%EA%B8%B0-%EB%AA%85%EB%A0%B9%EC%96%B4
728x90
'Linux' 카테고리의 다른 글
CentOS7,8 SoftWare Selection (0) | 2024.04.24 |
---|---|
리눅스 커널(Kernel), 쉘(Shell) (0) | 2024.03.27 |
Untangle + CentOS7(apache,php) + CentOS7(MySQL5.7) (0) | 2023.10.31 |
Linux Rocky9 Loadbalancer, Loadbalancer를 이용한 wordpress, mysql 구축 (0) | 2023.09.18 |
Linux Rocky9 Wordpress, mysql (0) | 2023.09.18 |