[Linux] 리눅스 vi 명령어 정리 | Vim 3가지 모드 및 비주얼 모드

리눅스 터미널에서 ‘.txt’, ‘.conf’ 등의 ASCII 파일을 편집하기 위해 vi 편집기 명령어를 사용합니다. vi 편집기는 명령모드 입력모드와 저장 및 종료 후 치환하는 리눅스 vi 명령어는 익숙해지면 매우 빠른 작업이 가능하기 때문에 효율적인 업무를 진행할 수 있습니다.

Ⅰ. vi vim 명령어 설명 및 3가지 모드

vi‘와 ‘vim‘은 둘 다 텍스트 편집기로서 리눅스 및 유닉스 기반 시스템에서 사용되는 명령어입니다.

Vi(Visual Editor)는 초기 버전의 텍스트 편집기이며, 유닉스 시스템에 기본으로 포함되어 있는 간단한 편집기입니다. 기본적인 기능만 제공한다고 할 수 있습니다.

Vim(Vi Improved)은 vi의 업그레이드 버전입니다. 기존 ‘vi’에서 향상된 기능을 가지고 있으며, 문법 강조, 자동 완성, 분할 창 등과 같은 다양한 고급 기능을 가지고 있습니다. 리눅스 터미널에서 vi를 입력했을 때 vim으로 자동 실행되는 경우는 보통 vim으로 심볼릭 링크가 설정되어 있기 때문이며, 많은 리눅스 배포판에 설정되어 있다고 볼 수 있습니다.

대부분의 리눅스 배포판에는 진짜 vi가 없으며, 대신 브람 무어나르(Bram Moolenaar)가 만든 Vim(Vi IMproved의 약자)이라고 하는 vi 확장판이 사용됩니다.

  • vi, vim 명령어
  • 텍스트 처리 명령어
  • vi 편집기 구조: 명령모드, 입력모드, 마지막행 모드로 구분
리눅스 vi 명령어 3가지 모드
  • vi 명령어 순서
  • vi 파일명(ex: httpd.conf)
  • 명령모드 진입
리눅스 vi 명령어-httpd.conf 파일 명령모드 진입
  • vi 명령어 순서
  • vi 파일명(ex: httpd.conf)
  • i 또는 Insert 키 입력 후 입력 모드 진입
리눅스 vi 명령어-httpd.conf 파일 입력 모드 진입
  • vi 명령어 마지막 행 모드
  • 콜론(:) 뒤에 set nu 명령어 입력 후 라인을 표시한 예시.
  • :wq 와 같은 명령어로 저장하고 나가기를 실행할 수 있음.
리눅스 vi 명령어-httpd.conf 마지막행 모드에서 set nu 명령어 입력

Ⅱ. 리눅스 vi 명령어 정리

1. vi 콘솔 명령어

콘솔 입력창에서 사용되는 기본 명령으로 vi [파일명]으로 많이 입력하며 옵션 사용이 가능합니다.

vi -옵션 [파일명]

2. vi 커서 이동

vim 커서 이동

3. vi 라인 이동 명령어

4. vi 편집 명령: 입력 모드 진입

5. vi 텍스트 삭제 명령어

6. vi 명령어 되돌리기(원복)

7. vi 복사 및 삽입 명령어

  • 한줄 복사 할 경우 ‘yy’ 명령어를 입력 후 ‘p’ 명령 실행해서 바로 아래에 삽입할 수 있습니다.

8. 행 번호 표시하기

# :set nu 또는 :set number 명령어로 행 번호를 표시할 수 있습니다.
 29 # ServerRoot at a non-local disk, be sure to specify a local disk on the
 30 # Mutex directive, if file-based mutexes are used.  If you wish to share the
 31 # same ServerRoot for multiple httpd daemons, you will need to change at
:set nu
## :set nonu로 행을 다시 숨길 수 있습니다. 
:set nonu

9. 검색 명령어

10. 저장 및 종료

11. 행모드 치환 명령어

Ⅲ. Vim 비주얼 블록 모드로 열(column) 일괄 치환

기존 명령라인 모드를 사용하면서 추가로 블록을 씌우고 싶을 때 사용하고 싶을 때 vim 비주얼 모드(Visual Mode)를 사용할 수 있습니다.

vim 비주얼 모드

비주얼 블록 모드

  • 비주얼 블록 모드 실행(Ctrl + v) 후
  • [Shit + i]를 눌러 Insert 상태 변경
  • 비활성화를 위해 # 입력 후
  • [Esc] 버튼을 두 번 누른 후 일괄 치환 완료

Similar Posts