VIEditor
Linux

VI Editor 사용법, 명령어 정리

Jan. 13, 2023, 2:42 p.m.

안녕하세요?

오늘은 리눅스 환경에서 자주 접하게 되는 vi 에디터의 사용법을 알아보겠습니다.

 

 

vi 에디터 모드

-명령 모드 (command mode)

vi 명령어를 통해 vi를 시작할 경우 실행되는 모드. 방향키를 통해 커서를 이동할 수 있다.

 

-입력 모드 (insert mode)

명령 모드에서 i 또는 a 키를 눌러 입력 모드로 넘어갈 수 있다. 입력 모드에서는 자유롭게 코드나 글을 작성할 수 있으며, 명령 모드로 돌아갈 때에는 ESC를 누르면 된다.

   i : 커서가 현재 위치한 부분에서부터 시작

   a : 커서 바로 다음 부분부터 시작

   shift+spacebar : 영/한 변환

 

-콜론 모드

명령 모드에서 : (콜론)을 입력하면 화면 맨 아랫줄에 입력 가능한 공간이 출력된다. 여기서 vi를 종료할 수 있다.

 

 

vi 명령어

vi 에디터는 리눅스 환경에서 아래와 같이 vi [파일명] 을 입력하면 사용이 가능합니다.

ex) vi filename

 

- 명령 모드에서 입력 모드로 전환

  i: 커서 앞(왼쪽)에 입력

  a: 커서 다음(오른쪽)에 입력

 

- 입력 모드에서 명령 모드로 전환

  ESC 키

 

- 저장, 종료하기(명령 모드에서 콜론:을 이용하여 다양한 작업이 가능하다. (콜론 모드))

  :q 종료

  :q! 저장하지 않고 강제로 종료

  :w 저장

  :wq 저장 후 종료

  ZZ 저장 후 종료 (:wq와 동일)

  :wq 파일 이름: 저장 후 파일 이름 지정
  ** vi 에디터에서는 비정상 종료 시 .swp 파일이 생성된다. 필요하지 않은 경우 삭제한다.

 

- 커서 이동

  h, j, k, l: 좌,하,상,우 커서 이동 (방향 키가 없는 키보드에서 사용)

  w: 다음 단어의 첫 글자로 이동

  b: 이전 단어의 첫 글자로 이동

  G: 마지막 행으로 가기

  :숫자: 지정한 숫자 행으로 이동 ex) :5

 

- 삭제

  x: 커서에 있는 글자 삭제

  X : 커서 앞에 있는 글자 삭제

  dw : 커서를 기준으로 뒤에 있는 단어 글자 삭제 (커서 포함)

  db : 커서를 기준으로 앞에 있는 단어 글자 삭제

  dd : 커서가 있는 라인(줄) 삭제
   ** dw, db, dd 명령 앞에 삭제할 숫자를 지정 가능 ex) 3dw, 2db, 4dd

 

- 복사

  yw : 커서를 기준으로 뒤에 있는 단어 글자 복사 (커서 포함)

  yb : 커서를 기준으로 앞에 있는 단어 글자 복사

  yy : 커서가 있는 라인(줄) 복사
   ** yw, yb, yy 명령 앞에 복사할 숫자를 지정 가능 ex) 3yw, 2yb, 4yy

 

- 붙여넣기 (복사, 삭제된 내용을 붙여넣는다.)

  p : 커서 다음에 붙여넣기

  P : 커서 이전에 붙여넣기

 

- 찾기

  /문자열 : 앞에서 부터 문자열을 찾는다.

  ?문자열 : 뒤에서 부터 문자열을 찾는다.

  n : 뒤로 검색

  N : 앞으로 검색

 

- 바꾸기

  :%s/old/new: 각 행의 처음 나오는 old를 찾아 new로 바꾼다.

  :%s/old/new/g: 모든 old를 찾아 new로 바꾼다.

  :%s/old/new/gc: 모든 old를 찾아 new로 바꾸기 전에 물어본다.

 

- 되돌리기(Undo), 다시실행(Redo)

  u : 이전으로 되돌리기 (Undo)

  Ctrl + r : 되돌리기한 것을 다시 실행 (Redo)

 

-자주 사용하는 기능들

  :set number: 행번호를 출력 (간단하게 :set nu)

  :set nonumber: 행번호를 숨긴다. (간단하게 :set nonu)

  :cd: 현재 디렉토리를 출력

 

Reference

https://velog.io/@zeesoo/Linux-vi-%ED%8E%B8%EC%A7%91%EA%B8%B0-%EC%82%AC%EC%9A%A9%EB%B2%95-%EB%B0%8F-%EB%AA%85%EB%A0%B9%EC%96%B4


Comments


Related Posts