[Linux] vi/vim 에디터
◽ vi에디터
1976년 썬마이크로시스템즈의 ‘빌 조이’가 개발한 것으로, Unix 환경에서 주로 사용되는 오픈소스 문서편집기이다.
한 줄씩 편집하는 줄단위 편집기가 아닌 한 화면을 편집하는 ‘Visual editor’라는 뜻에서 유래하였다.
◽ vim 에디터
유닉스의 기본 편집기인 vi (Visual editor) 에디터를 개량한 버전이다.
Vi IMproved : 이름처럼 향상된 vi로 보다 많은 기능을 가지고 있다.
리눅스에는 vim 에디터만 설치되어 있으며, vi로 실행해도 자동으로 vim 에디터가 실행된다.
유닉스를 사용하는 경우에는 vi 와 vim 중에 선택해서 사용할 수 있지만, vim 안에 vi의 기능이 다 포함되어 있기 때문에 vim을 사용하면 된다.
◽ vi 모드
Normal Mode / Command Mode - 일반/명령모드
- vi를 실행하면 기본적으로 적용되며, 키를 입력하여 명령을 내린다.
- 커서 이동이나 수정, 삭제 등 대부분의 명령어가 여기서 실행된다.
- 이동키 : h(←), j(↓), k(↑), l(→)
키보드의 화살표를 이용하지 않고 키를 사용하는 것에 적응하도록 한다.
Insert Mode - 입력모드
- 입력/편집하는 모드로 해당 모드에서만 텍스트를 입력할 수 있다.
- 해당 모드에서는 키를 입력하면 전부 문자로 입력된다.
- 입력모드에 들어가기 위해서는 일반모드에서 'i, I, a, A, o, O'를 입력하면 들어간다.
명령어 | 설명 |
a | 커서 오른쪽에 문자 입력 |
A | 커서 오른쪽 행의 끝에 문자 입력 |
i | 커서 왼쪽에 문자 입력 |
I | 커서 왼쪽 행의 처음에 문자 입력 |
o | 커서 아래에 행 입력 |
O | 커서 위에 행 입력 |
Command-line Mode / Last line Mode - 라인모드(콜론모드)
- : (콜론) , / (슬래시) , ?(물음표) 를 입력하면 진입되는 모드로 명령어로 여러 작업을 수행할 수 있다.
- :set nu 또는 :set number 를 입력하면 화면 왼쪽에 각 행의 번호가 표시된다. 없애고 싶을 때는 :set nonu 를 입력하면 사라진다. 행의 번호를 이용해서 이동하거나 편집할 때에 유용하게 사용할 수 있다.
- / (슬래시) , ?(물음표) 는 뒤에 문자를 입력하여 해당 문자를 찾을 수 있다. 윈도우의 ctrl+f 와 동일한 기능을 하며
/(슬래시) 는 커서 뒤, ?(물음표)는 커서 앞을 기준으로 찾는다.
Visual Mode - 비주얼모드
- 윈도우에서 마우스로 글자를 선택하는 것처럼 드래그하여 범위를 지정할 수 있는 모드이다.
- 비주얼 모드는 그 안에서 또 세 가지로 나뉜다.
1. v : visual - 현재 커서부터 선택
2. V : visual line - 줄(라인) 단위 선택
3. ctrl+v, ctrl+q(윈도우) : visual block - 블럭 단위 선택
각 모드에서 사용하는 명령어들은 내용이 많고 정리가 잘 된 글들이 많으니 참고하면 좋을 거 같다. (↓↓↓추천↓↓↓)
📖VI 에디터 & 명령어의 모든 것
📌vi 에디터란? - vi는 빌 조이가 만든 UNIX계열 환경에서 가장 많이쓰이는 오픈 소스 문서 편집기로 한 줄씩 편집하는 줄단위 편집기가 아니라 한 화면을 편집하는 'Visual Editor' 라는 뜻에서 유래
danielit.tistory.com
추가로 vi 연습을 하고자 하는 분들에게 추천하고 싶은것이 있다.
창에서 vimtutor 를 입력하면 아래와 같이 vim 튜토리얼을 진행할 수 있다.
튜토리얼의 내용을 끝까지 따라 하며 기본적인 명령어와 작동법을 익힐 수 있으니 꼭 해보면 좋겠다.
혹시 안하고 넘어가는 분들을 위해 튜토리얼 내용 중에 꼭 알았으면 하는 내용을 공유해 본다.
괄호에 커서를 위치한 채로 % 를 입력하면 해당 괄호의 짝을 찾아준다.
알아두면 코드를 확인할 때 유용하게 쓸 수 있을거 같다.
리눅스에서 작업할 때는 vi 에디터를 능숙하게 다룰 줄 알아야 한다.
필요할 때마다 명령어를 찾아서 하지말고 연습하여 효율적으로 코딩을 할 수 있도록 해야겠다.