본문 바로가기
Linux

[Linux] Vi란?

by 깝발자 2024. 7. 19.

1. Vi ?

  • Vim Editor의 줄임말.
  • 리눅스에서 사용되는 텍스트 편집기 중 하나.
  • 유닉스 및 리눅스 시스템에서 텍스트 파일을 편집하는데 널리 사용되는 강력한 명령줄 텍스트 편집기.
  • 초기 유닉스 시스템에서 개발 되었으며, 현재까지도 많은 리눅스 배포판에서 사용되고 있다.

2. Vi 구조

Windows용 에디터와는 달리 에디팅하는 모드와 이를 편집하는 모드가 다르다.

크게 명령 모드, 입력 모드, EX 모드로 구분 할 수 있다.

Vim 에디터 구조.

2-1. 명령 모드

처음 vi 명령어로 vi를 시작하게 되면 들어가게 되는 모드.

방향키를 이용해 커서를 이동할 수 있다.

2-2. 입력 모드

명령 모드에서  i a ,  o  명령을 통해서 입력 모드로 넘어갈 수 있다.

ESC를 누르면 명령 모드로 다시 돌아온다.

2-3. EX 모드(확장 명령 모드)

EX모드(확장 명령 모드), 마지막 행 모드(Last line mode) , 라인 모드 다양하게 부르는 것 같다.

명령 모드에서  : (콜론)을 입력하면 맨 하단에서 저장, 종료 등의 명령어를 수행할 수 있다.

3. 사용방법

D드라이브에 저장되어 있는 파일을 실행시켜서 사용해 보았다.(파일명 : WSL과 우분투 설치.ini)

  • Vi는 반드시 파일명을 추가해서 실행해야 한다. (명령어 : vi 파일명)
     gjson@gjson:/mnt/d/9999.개념정리/리눅스$ vi WSL과\ 우분투\ 설치.ini
  • 실행시키면 터미널이 Vi편집기 화면으로 전환된다. (명령모드로 시작한다)

3-1. 명령어 모음

  • 명령 모드
명령어 설명
dd 현재 커서 위치한 곳 한 줄 잘라내기
yy 현재 커서 위차한 곳 한 줄 복사
p 현재 커서 위차한 곳 아래줄에 붙여넣기
u 방금 실행한 명령 취소 (undo)
ctrl + r 취소한 명령 다시 실행하기 (redo)
^ 현재 커서를 행의 맨 처음으로 이동
$ 현재 커서를 행의 맨 마지막으로 이동




  • 입력 모드
명령어 설명
i 현재 커서 위치에 삽입
a 현재 커서 바로 다음 위치에 삽입
o (소문자 o) 현재 커서 바로 아래줄에 삽입
O (대문자 o) 현재 커서 바로 윗줄에 삽입




  • EX 모드(확장 명령 모드)
    >> 명령어 앞에 :(콜론) 기억하기.
명령어 설명
:w 저장 (저장만 하고 종료되진 않는다.)
:wq 저장하고 종료
:q 저장하지 않고 종료
:q! 저장하지 않고 강제 종료
:wq! 저장 후 강제종료
:f 파일명 파일 이름 변경 e.g. f rename.txt
:set nu 라인 번호 출력
:set nonu 라인 번호 해제
:숫자 해당 라인숫자로 이동
:set hlsearch 하이라이터 서치 켜기
:set nohlsearch 하이라이터 서치 끄기




  • 이동 방향키
  (↑)
k
 
(←)
h
(↓)
j
(→)
l