[VIM] VIM 명령어

VIM 명령어 정리

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 손상된 파일 회복

입력모드 전환

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

커서 이동

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

삭제

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

복사와 붙여넣기

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

문자열 찾기

명령어 동작
# /name name 문자열 찾기
# n 다음 name으로 이동
# N n과 같으며 역방향으로 이동

문자열 대체

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

파일 저장 및 불러오기

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

기타

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

References

Linux 문서편집기 vi, vim 명령어 정리

updated_at 06-12-2019