IT/Linux

[vi 명령어] vi 편집기 명령어 모음

Terriermon 2021. 1. 21. 10:38

vi 편집기 구조

https://coding-factory.tistory.com/505

명령 모드 (Command)

  • 커서의 이동, 수정, 삭제, 복사, 붙이기, 탐색 등

  • [Esc] 키를 통해 명령모드로 전환 가능

     

입력 모드 (Insert)

  • 명령 모드에서 입력 명령어를 통해 문서 입력

     

마지막 행 모드 (Last Line)

  • 명령모드에서 : 키 입력을 통해 명령 수행
  • 화면 맨 아랫줄에서 저장, 종료, 탐색, 치환, vi 환경설정 등

 

 

vi 파일 저장 및 종료

모드      명령키 설명
Last Line :q 작업한 내용이 없을 때 vi 종료
  :q! 작업한 내용을 저장하지 않고 종료
  :w[파일명] 작업한 내용 저장. 파일명 지정 시 새 파일로 저장
  :wq, :wq! 작업한 내용 저장 후 vi 종료
Command ZZ 작업한 내용 저장 후 vi 종료

 

입력 명령어

모드 명령키 설명
Insert i 현재 커서 앞에 입력
  a 현재 커서 뒤에 입력
  o 커서가 위치한 다음 행에 입력
  I (대문자 i) 커서가 위치한 행의 첫 컬럼으로 이동하여 입력
  A 커서가 위치한 행의 마지막 컬럼으로 이동하여 입력
  O 커서가 위치한 행의 이전 행에 입력

 

vi 커서 이동

모드 명령키 설명
Command G 파일의 마지막 행으로 커서 이동
  gg 파일의 첫번째 행으로 커서 이동
  행번호G 지정한 행 번호로 커서 이동
Insert :행번호 지정한 행 번호로 커서 이동
Command H 커서를 화면의 맨 윗행으로 이동
  L 커서를 화면의 맨 아랫행으로 이동
  w 커서를 다음 단어의 첫 글자로 이동
  b 커서를 앞 단어의 첫 글자로 이동
  e 커서를 다음 단어의 마지막 글자로 이동
  l 커서 오른쪽 이동
  k 커서 위로 이동
  h 커서 왼쪽 이동
  j 커서 아래 이동

 

vi 범위 지정

모드 명령키 설명
Command v 현재 커서를 시작으로 블록 범위 지정 - Visual모드
  V 현재 커서가 위치한 라인부터 블록 범위 지정
  ctrl v 열 단위 블록 지정
  1 $ % 1행부터 마지막 행까지 범위 지정
  1 . 1행부터 커서가 있는 행까지 지정
  . $ 커서가 있는 행부터 마지막 행까지 지정
  . . 2 현재 행과 두번째 아랫 행까지 지정
  10 20 10행부터 20행까지 지정

 

텍스트 복사, 잘라내기, 붙이기, 삭제

모드 명령키 설명
Visual y 블록 복사
  p 붙여넣기
Command yy, [복사할 행 수]yy 커서가 위치한 행 복사
  dd, [잘라내기할 행 수]dd 커서가 위치한 행 잘라내기 || 삭제
  p 커서가 위치한 행의 아래쪽에 붙여넣기
  P 커서가 위치한 행의 위쪽에 붙여넣기
  x, [삭제할 글자 수]x 커서가 위치한 글자 삭제
  dw, [삭제할 단어 수]dw 커서가 위치한 다어 삭제
  D 커서 위치로부터 행의 끝까지 삭제

 

내용 검색

모드 명령키 설명
Command /문자열 문자열을 커서 아래 방향으로 검색
  ?문자열 문자열을 커서 위 방향으로 검색
  n 원래 방향으로 다음 문자열 검색
  N 반대 방향으로 다음 문자열 검색

 

내용 치환

모드 명령키 설명
Command :s/[대상문자열]/[바꿀문자열] 커서가 위치한 행에서 첫번째로 나오는 대상 문자열을 바꿀 문자열로 바꿈
  :%s[대상문자열]/[바꿀문자열] 파일 전체에서 모든 대상문자열을 바꿀문자열로 바꿈

 

실행취소

모드 명령키 설명
Command u 명령 취소
  U 해당 행에서 한 명령 취소
  !e! 마지막으로 저장한 내용 이후의 것을 모두 취소
 

자주 쓰는 키 조합

 

문서 전체 복사, 붙여넣기

1 $ % 전체 블록 설정

🔽

y 복사

🔽

p 붙여넣기

 

필요한 부분 복사, 붙여넣기

v, V 블록 지정

🔽

y 복사

🔽

p 붙여넣기

 

단축키 한눈에 보기