vi 편집기INFRA/Linux2024. 6. 27. 23:16
Table of Contents
== vi 편집기 ==
- 리눅스 대표 문서 편집기
- H,J,K,L 로 방향키 이동
- :set number se nu : vi 편집기 진입시 행넘버 주기
vi 편집기 3가지 모드
- 명령모드
- 기본모드이며, 검색, 커서 이동, 복사/붙여넣기 등의 편집 수행
- 입력모드
- 문서의 텍스트를 입력, 수정, 삭제할 수 있는 모드
- 내용 작성 시 사용
- 실행(ex)모드
- vi 편집기를 제어하는 명령어를 실행
- 치환, 저장 시 사용
모드 이동
- 명령모드 --> 입력모드
- i, a, o, s, r
- 명령모드 --> 실행모드
- : --> 명령어 실행모드
- / --> 검색모드(아래로)
- ? --> 검색모드(위로)
입력모드 명령어
- 내용 입력
- i --> 현재 커서 왼쪽부터 입력
- a --> 현재 커서 오른쪽부터 입력
- o --> 현재 커서 아래부터 입력(단, 새롭게 빈 행을 추가하면서 입력 됨)
- 내용 수정
- r --> 현 커서 위치의 문자 변경
- R --> 현 커서부터 입력되지만 기존 내용을 덮어씌우면서 입력 됨
명령 모드 명령어
- 0 , ^ : 선택된 라인 맨 앞으로 이동
- $ : 선택된 라인 맨 뒤로 이동
- [[ : 문서 맨앞
- ]] :문서 맨뒤
- yy : 복사
- dd : 잘라내기 3dd → 3행 삭제
- p :붙여넣기
- x : 한문자 삭제
- R : 문자열 바꿔짐
- r : 한글자만 바꿔짐
- u : 되돌리기
- crtl + r : 되돌리기 취소
실행모드 명령어
- w 저장, q 종료, ! 강제
- wq! --> 저장하고 종료
- q! --> 저장하지 않고 종료
- :set number(:se nu) --> 행번호 추가
- / -->전체문자열 검색후
- n --> 페이지 넘기면서 다음 문자열 검색
- :20 --> line 20으로 이동 (명령모드에서 20치면 20줄 앞으로 이동)
- :%s /문자열1/문자열2 /g (찾아 바꾸기, 문자열1을 찾아 문자열2로 변경해라)
vi 편집기 실습 문제
1. # cp /root/anaconda-ks.cfg /test로 복사 후 vi로 /test/anaconda-ks.cfg 파일 열기
# cd /test
# cp /root/anaconda-ks.cfg .
# vi anaconda-ks.cfg
2. 프롬프트를 20번 라인으로 이동
:20
3. 20번 라인부터 5라인을 복사한 후 문서의 제일 마지막 라인에 붙여넣기
5yy / G / p
4. 현재 문서에서 라인 번호를 표시
:se nu
5. 30번 라인으로 이동
:30
6. 수정모드로 edit 문자열 입력
R / edit
7. 6번에서 작업했던 내용 취소
ESC(명령모드 전환) / u
8. 8번 라인으로 이동
:8
9. 현재프롬프트를 기준으로 오른쪽으로 3개의 문자 삭제
3x
10. 현재 프롬프트를 기준으로 위쪽으로 Generated 문자열 검색
? Generated
11. 현재문서에서 Generated로 되어있는 모든 문자열을 made로 변경
:%s/Generated/made/g
12. 문서의 마지막으로 이동
G
13. /etc/passwd 파일의 내용을 현재 문서로 불러들이기
:r!cat /etc/passwd
14. 30번 라인부터 5라인을 잘라내서 35번 라인 밑으로 붙여넣기
:30 / 5dd / :35 / p
15. 저장하고 종료
:wq!
'INFRA > Linux' 카테고리의 다른 글
RAID 구성+복구 실습 -> Window+Linux (1) | 2024.06.27 |
---|---|
Linux 소유권, 허가권, 특수 권한 (0) | 2024.06.27 |
Linux 계정 관리 (0) | 2024.06.27 |
Linux Software 관리 (0) | 2024.06.27 |
디렉터리&파일 / 경로 / Linux 기본 명령어 (0) | 2024.06.27 |