vi 에디터 사용법
vi 에디터 사용법입니다. 명령/입력/실행 모드, 저장 종료, 이동, 삭제, 복사, 검색, 치환, 줄 번호와 실습 파일을 정리했습니다.
vi 에디터 사용법
vi는 Linux 서버에서 거의 항상 사용할 수 있는 기본 편집기다. 처음에는 모드가 낯설지만, 명령 모드, 입력 모드, 실행 모드만 구분하면 설정 파일 수정 정도는 안정적으로 처리할 수 있다.
파일 열기
vi memo.txt
vi /etc/hosts
sudo vi /etc/ssh/sshd_config운영 설정 파일을 수정할 때는 먼저 백업을 만들어 둔다. 특히 SSH, network, sudo 설정처럼 접속에 영향을 주는 파일은 백업과 검증 명령을 같이 준비해야 한다.
sudo cp -a /etc/ssh/sshd_config /etc/ssh/sshd_config.bak.$(date +%Y%m%d-%H%M%S)
sudo vi /etc/ssh/sshd_config
sudo sshd -t세 가지 모드
- 명령 모드: 이동, 삭제, 복사, 붙여넣기 같은 편집 명령을 실행한다.
- 입력 모드: 실제 텍스트를 입력한다.
- 실행 모드: 저장, 종료, 검색 치환 같은
:명령을 실행한다.
ESC : 명령 모드로 돌아가기
i : 커서 위치 앞에서 입력 시작
a : 커서 다음 위치에서 입력 시작
o : 아래 줄을 새로 만들고 입력 시작
I : 현재 줄 맨 앞에서 입력 시작
A : 현재 줄 맨 뒤에서 입력 시작
: : 실행 모드 명령 입력저장과 종료
:w 저장
:q 종료
:wq 저장 후 종료
:x 저장 후 종료
:q! 저장하지 않고 종료
:w new.txt 현재 내용을 new.txt로 저장이동 명령
h 왼쪽
j 아래
k 위
l 오른쪽
0 줄의 맨 앞
$ 줄의 맨 끝
gg 문서 첫 줄
G 문서 마지막 줄
15G 15번째 줄로 이동삭제, 복사, 붙여넣기
x 커서 위치 한 글자 삭제
dd 현재 줄 삭제
5dd 현재 줄부터 5줄 삭제
yy 현재 줄 복사
3yy 현재 줄부터 3줄 복사
p 커서 아래 또는 뒤에 붙여넣기
u 되돌리기
Ctrl+r 되돌리기 취소검색과 치환
/PermitRootLogin 아래 방향 검색
?PermitRootLogin 위 방향 검색
n 다음 검색 결과
N 이전 검색 결과
:%s/old/new/g 문서 전체 old를 new로 변경
:10,20s/foo/bar/g 10~20번째 줄에서만 변경줄 번호와 붙여넣기 모드
:set number
:set nonumber
:set paste
:set nopaste터미널에서 여러 줄을 붙여넣을 때 자동 들여쓰기 때문에 내용이 밀리면 :set paste를 켠 뒤 붙여넣고, 끝나면 :set nopaste로 돌린다.
최소 실습
cat > vi-practice.txt <<'EOF'
line one
line two
line three
EOF
vi vi-practice.txt실습 파일에서 i로 입력, ESC로 명령 모드 복귀, dd로 줄 삭제, u로 되돌리기, :wq로 저장 종료까지 반복하면 서버에서 설정 파일을 수정할 때 당황하지 않는다.