반응형

안녕하세요.

리눅스와 유닉스에서 많이 사용하는 편집기 vi, vim의 명령어를 정리해 보았습니다.

vi, vim 명령어를 익히시고 자주 사용하시다 보면 마우스 없이 키보드로만 편집기를 사용하며

생산성도 많이 높아지실 겁니다.

 

 

리눅스 vi, vim 명령어

1. vi 실행

명령어  동작 
vi file file을 연다
vi file1 file2 file1 과 file2 를 차례로 연다
view file file을 읽기 모드로 연다
vi -R file file을 읽기 모드로 연다
vi + file file을 열때 커서가 file 본문의 마지막 행에 위치한다.
vi +n file file을 열어 n행에 위치한다.
vi -r file 손상된 파일 회복

2. 입력모드 전환 명령어

명령어  동작 
i 커서 있는데서 입력모드 전환
I 커서 왼쪽, 행의 처음에 몬자 삽입
a 커서 있는 줄 끝에서 입력모드 전환
A 커서 오른쪽, 행의 끝에 문자 삽입
o 커서 있는 줄 아래에 빈 줄 삽입
O 커서 있는 줄 위에 빈 줄을 삽입
R 덮어쓰기 모드로 전환

3. 커서의 이동

명령어  동작 
^, 0 줄의 처음으로 이동
$ 줄의 끝으로 이동
H 화면 맨 위로 이동
M 화면의 중간으로 이동
L 화면 맨 아래로 이동
w 다음 단어 끝으로 커서 이동
e 다음 단어 앞으로 커서 이동
b 이전 단어로 이동
shift + ↑ 한 페이지 앞으로 이동
shift + ↓ 한 페이지 뒤로 이동
2l , 2G
현재 커서 위치한 행에서 2번째 행으로 이동
Ctrl + i 한 화면 위로 이동
Ctrl + b 한 화면 아래로 이동
Ctrl + d 반 화면 위로 이동
Ctrl + u 반 화면 아래로 이동
Ctrl + e 한 줄씩 위로 이동
Ctrl + y 한 줄씩 아래로 이동

4. 삭제

명령어  동작 
x 한 문자 삭제
3x 커서가 있는 위치부터 3개의 문자를 삭제
d + ↑ 커서있는 줄, 윗줄 2줄 삭제
d + ↓ 커서잇는 줄, 아래줄 2줄 삭제
dw 한 단어 삭제
dd 한 줄 삭제
3dd 커서가 있는 라인부터 3개의 라인 삭제
db 커서의 위치에서 거꾸로 한 단어 삭제
D 한줄 내에서 커서있는 뒤 모두 삭제
u 바로 전에 수행한 명령을 취소
:3,7d 3~7번째 행 삭제

5. 복사와 붙여넣기

명령어  동작 
yy 현재 줄을 버퍼로 복사
p 버퍼에 있는 내용을 커서 뒤에 삽입
P 버퍼에 있는 내용을 커서 앞에 삽입
3y 현재 줄에서부터 아래로 3줄 복사
:5, 10y 5~10줄을 버퍼로 복사 
:20pu 20행에 버퍼 내용을 삽입
d 현재 커서가 위치해 있는 단어 복사
3yy 현재 행을 기준으로 3번째 행까지 n행 복사 

6. 문자열 찾기

명령어  동작 
/name name 문자열 찾기
n 다음 name으로 이동
N n과 같으며 역방향으로 이동
3yy 현재 행을 기준으로 3번째 행까지 n행 복사 

7. 문자열 대체

명령어  동작 
:s/str/rep 현재 행의 str을 rep로 대체
:l,.s/str/rep/ 1부터 현재 행의 str을 rep로 대체
:%s/str/rep/g 파일 전체 str을 rep로 전부 대체
:.$/aaa/bbb 커서의 위치로부터 파일의 끝까지 있는 모든 aaa를 bbb로 대체

8. 파일 저장 및 불러오기

명령어  동작 
:w 지정된 파일에 저장
:wq, :x, ZZ 지정된 파일에 저장하고 vi를 종료
:w test.txt test.txt 파일에 저장
:q 저장하지 않고 종료
:q! 저장하지 않고 강제 종료
:wq test.txt test.txt에 저장하고 vi를 종료
:r test.txt test.txt의 내용을 현재 커서가 있는데로 불러온다.
:e test.txt 현재의 화면을 지우고 새로운 파일 test.txt를 불러온다.
:5,10 w test.txt 5~10 줄까지의 내용을 test.txt에 저장

9. Other (기타)

명령어  동작 
:set nu 행 번호 보여주기
:set nonu 행 번호 보여주기 취소
 . 바로 전에 실행한 명령어 재 실행
 Ctrl + l 불필요한 화면 정리후 다시 표시

 

이상으로 vi, vim 에서 사용하는 명령어를 정리해 보았습니다.

 

감사합니다.

반응형
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기