[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 확장판이 사용됩니다.
![[Linux] 리눅스 vi 명령어 정리 | Vim 3가지 모드 및 비주얼 모드 1 리눅스 vi 명령어 3가지 모드](https://uknew.co/wp-content/uploads/2024/01/%EB%A6%AC%EB%88%85%EC%8A%A4-vi-%EB%AA%85%EB%A0%B9%EC%96%B4-%EB%AA%A8%EB%93%9C3%EA%B0%80%EC%A7%80-%EB%AA%A8%EB%93%9C.png)
![[Linux] 리눅스 vi 명령어 정리 | Vim 3가지 모드 및 비주얼 모드 2 리눅스 vi 명령어-httpd.conf 파일 명령모드 진입](https://uknew.co/wp-content/uploads/2024/01/%EB%A6%AC%EB%88%85%EC%8A%A4-vi-%EB%AA%85%EB%A0%B9%EC%96%B4-httpd.conf-%ED%8C%8C%EC%9D%BC-%EB%AA%85%EB%A0%B9%EB%AA%A8%EB%93%9C-%EC%A7%84%EC%9E%85.png)
![[Linux] 리눅스 vi 명령어 정리 | Vim 3가지 모드 및 비주얼 모드 3 리눅스 vi 명령어-httpd.conf 파일 입력 모드 진입](https://uknew.co/wp-content/uploads/2024/01/%EB%A6%AC%EB%88%85%EC%8A%A4-vi-%EB%AA%85%EB%A0%B9%EC%96%B4-httpd.conf-%ED%8C%8C%EC%9D%BC-%EC%9E%85%EB%A0%A5-%EB%AA%A8%EB%93%9C-%EC%A7%84%EC%9E%85.png)
![[Linux] 리눅스 vi 명령어 정리 | Vim 3가지 모드 및 비주얼 모드 4 리눅스 vi 명령어-httpd.conf 마지막행 모드에서 set nu 명령어 입력](https://uknew.co/wp-content/uploads/2024/01/%EB%A6%AC%EB%88%85%EC%8A%A4-vi-%EB%AA%85%EB%A0%B9%EC%96%B4-httpd.conf-%EB%A7%88%EC%A7%80%EB%A7%89%ED%96%89-%EB%AA%A8%EB%93%9C%EC%97%90%EC%84%9C-set-nu-%EB%AA%85%EB%A0%B9%EC%96%B4-%EC%9E%85%EB%A0%A5.png)
Ⅱ. 리눅스 vi 명령어 정리
![[Linux] 리눅스 vi 명령어 정리 | Vim 3가지 모드 및 비주얼 모드 5 vim 명령어 단축키](https://uknew.co/wp-content/uploads/2024/01/vim-%EB%AA%85%EB%A0%B9%EC%96%B4-%EB%8B%A8%EC%B6%95%ED%82%A4.png)
![[Linux] 리눅스 vi 명령어 정리 | Vim 3가지 모드 및 비주얼 모드 6 vi, vim 단축키 모음](https://uknew.co/wp-content/uploads/2024/01/vi-vim-%EB%8B%A8%EC%B6%95%ED%82%A4-%EB%AA%A8%EC%9D%8C.png)
1. vi 콘솔 명령어
콘솔 입력창에서 사용되는 기본 명령으로 vi [파일명]으로 많이 입력하며 옵션 사용이 가능합니다.
vi -옵션 [파일명]2. vi 커서 이동
![[Linux] 리눅스 vi 명령어 정리 | Vim 3가지 모드 및 비주얼 모드 7 vim 커서 이동](https://uknew.co/wp-content/uploads/2024/01/vim-%EC%BB%A4%EC%84%9C-%EC%9D%B4%EB%8F%99.png)
3. vi 라인 이동 명령어
4. vi 편집 명령: 입력 모드 진입
5. vi 텍스트 삭제 명령어
6. vi 명령어 되돌리기(원복)
7. vi 복사 및 삽입 명령어
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 nonu9. 검색 명령어
10. 저장 및 종료
11. 행모드 치환 명령어
Ⅲ. Vim 비주얼 블록 모드로 열(column) 일괄 치환
기존 명령라인 모드를 사용하면서 추가로 블록을 씌우고 싶을 때 사용하고 싶을 때 vim 비주얼 모드(Visual Mode)를 사용할 수 있습니다.
![[Linux] 리눅스 vi 명령어 정리 | Vim 3가지 모드 및 비주얼 모드 8 vim 비주얼 모드](https://uknew.co/wp-content/uploads/2024/01/vim-%EB%B9%84%EC%A3%BC%EC%96%BC-%EB%AA%A8%EB%93%9C.png)
비주얼 블록 모드
![[Linux] 리눅스 vi 명령어 정리 | Vim 3가지 모드 및 비주얼 모드 9 vim 비주얼 블록 실행](https://uknew.co/wp-content/uploads/2024/01/vim-%EB%B9%84%EC%A3%BC%EC%96%BC-%EB%B8%94%EB%A1%9D-%EC%8B%A4%ED%96%89.png)
![[Linux] 리눅스 vi 명령어 정리 | Vim 3가지 모드 및 비주얼 모드 10 vim 비주얼 블록-편집모드 블록 라인 선택](https://uknew.co/wp-content/uploads/2024/01/vim-%EB%B9%84%EC%A3%BC%EC%96%BC-%EB%B8%94%EB%A1%9D-%ED%8E%B8%EC%A7%91%EB%AA%A8%EB%93%9C-%EB%B8%94%EB%A1%9D-%EB%9D%BC%EC%9D%B8-%EC%84%A0%ED%83%9D.png)
![[Linux] 리눅스 vi 명령어 정리 | Vim 3가지 모드 및 비주얼 모드 11 vim 비주얼 블록 편집모드에서 입력](https://uknew.co/wp-content/uploads/2024/01/vim-%EB%B9%84%EC%A3%BC%EC%96%BC-%EB%B8%94%EB%A1%9D-%ED%8E%B8%EC%A7%91%EB%AA%A8%EB%93%9C%EC%97%90%EC%84%9C-%EC%9E%85%EB%A0%A5.png)
![[Linux] 리눅스 vi 명령어 정리 | Vim 3가지 모드 및 비주얼 모드 12 vim 비주얼 블록모드-열치환 완료](https://uknew.co/wp-content/uploads/2024/01/vim-%EB%B9%84%EC%A3%BC%EC%96%BC-%EB%B8%94%EB%A1%9D%EB%AA%A8%EB%93%9C-%EC%97%B4%EC%B9%98%ED%99%98-%EC%99%84%EB%A3%8C.png)