본문 바로가기
개발/Git

[개발/Git] Vi 에디터 사용하기

by 코코의 주인 2022. 9. 16.

vi 에디터란?

vi(브이아이, /ˈviːˈaɪ/)는 Emacs와 함께 유닉스 환경에서 가장 많이 쓰이는 문서 편집기이다. 1976년 빌 조이가 초기 BSD 릴리즈에 포함될 편집기로 만들었다. vi라는 이름은 한 줄씩 편집하는 줄단위 편집기가 아니라 한 화면을 편집하는 비주얼 에디터(visual editor)라는 뜻에서 유래했다. 간결하면서도, 강력한 기능으로 사용자가 많다.

출처 : https://ko.wikipedia.org/wiki/Vi

 

git을 쓰기 위해 vi 에디터 사용법을 알아야 하는 이유는 commit 메시지와 같은 것을 입력할 때 vi 에디터가 사용되기 때문이다.


vi 에디터 모드

1. Normal Mode (일반 모드)

vi 에디터를 실행하면 기본적으로 진입되는 모드, 다른 모드에 있는 경우 esc를 누르면 normal mode로 돌아옴.

사용할 수 있는 명령어

  • h - j - k - l : 왼쪽 - 아래 - 위 - 오른쪽
  • yy : 한 줄 복사
  • p : 붙여넣기
  • dd : 한 줄 삭제하기
  • u : 복구(Ctrl + z와 같은 역할)
  • gg : 첫번째 줄로 이동
  • G : 맨 끝 줄로 이동
  • dG : 현재 위치 이하 모두 삭제

2. Insert Mode (입력 모드)

 문자를 입력할 수 있는 모드. Normal mode에서 'i', 'a', 'o'를 눌러서 진입할 수 있다.

  • press 'i' :  현재 커서 위치에서 입력 시작
  • press 'a' : 현재 커서 위치 오른 쪽에서 입력 시작
  • preaa 'o' : 현재 커서가 위치한 줄의 아래 줄에서 입력 시작

3. Command Mode(명령 모드)

 파일의 저장, 종료, 탐색 등이 가능한 모드. Normal mode에서 ':', '?', '/'를 눌러서 진입할 수 있다.

사용할 수 있는 명령어

  • :w -> 파일을 저장
  • :q -> 파일을 탈출
  • :q! -> 파일의 수정 내용을 저장하지 않고 탈출
  • :wq -> 파일을 저장하고 탈출
  • :set number -> 줄번호 표시
  • :set nonu -> 줄번호 표시 끄기
  • :[숫자] -> 해당 줄로 이동
  • /[문자] -> 커서 이전에 해당 문자가 있는지 검색
  • ?[문자] -> 커서 이후에 해당 문자가 있는지 검색

cat 명령어

파일에 저장된 내용을 보여주는 명령어


꿀팁

 명령 모드에서 :set number 명령어를 입력하면 줄 번호를 보여준다. 하지만 이는 일회성이기 때문에 vi 에디터를 다시 실행하면 설정이 초기화되어 줄번호가 나오지 않는다.

 이를 해결하기 위해선 cd ~ 명령어로 홈 디렉터리로 온 뒤, vi 에디터의 초기 상태를 설정하는 파일인 .vimrc 파일을 만든다. 파일을 열고 set number 를 입력한 뒤 저장하고 나오면 다음부턴 자동으로 줄번호 표시가 실행된다.

댓글