GUI 환경에서는 마우스와 키보드를 이용하여 워드, 메모장 등의 에디터로 텍스트를 작성할 수 있다.그렇다면 CLI 환경에서 사용하는 텍스트 에디터는 무엇일까? 바로 Vim이다.Vim은 마우스 없이 키보드만 사용할 수 있어 GUI에서 사용한 텍스트 에디터와는 사용법이 다르다.

지금부터 Vim의 사용법에 대해 알아보겠다.Vim은 일반 모드, 입력 모드, 비주얼 모드, 명령 모드 총 4가지 사용 모드가 있다.사용 모드가 다르다는 것은 같은 키를 눌러도 모드에 따라 다르게 해석할 수 있다는 것이다.
모드 전환

모드 전환 방법은 위 그림과 같다.일반 모드가 기준이고 입력 모드로 전환할 때는 a, A 혹은 i, I 혹은 o, O로 접근 비주얼 모드로 전환할 때는 v 혹은 V로 접근 명령 모드로 전환할 때는 콜론(:)으로 접근할 수 있다.아래 3모드에서 다른 모드로 접근할 때 반드시 일반모드를 거쳐 통과해야 하며 일반모드는 ESC로 돌아갈 수 있다.
vim 설치 방법 화면에 vim이라고 입력했을 때 vim을 찾을 수 없다는 문구가 나타나면 sudoapt install vim이라고 적어 설치하면 된다.(비밀번호 입력 시 설치 진행)

설치 후 화면에 다시 vim을 치면 아래와 같은 화면이 출력되며 첫 화면은 일반 모드다.

vim 입력 모드(a,A,i,I,o,O) 텍스트 입력 [전환 방법] 일반 모드에서 아래 키를 이용하면 왼쪽 하단에 –INSERT—로 표시되고 입력 모드로 전환 *i:입력 모드로 전환 *a: 커서를 한 칸 뒤로 옮기고 입력 모드로 전환 *I(대문자i): 커서를 해당 열의 맨 끝으로 옮기고 입력 모드로 전환 *o: 커서를 다음 열로 옮기고 입력 모드로 전환 *O:커서 위에 새 줄이 생기며 입력 모드로 전환

vim 명령 모드 1 내용 저장 입력 모드에서 텍스트 입력을 완료하면 저장은 명령 모드로 진행한다.
[전환방법] 일반 모드에서 콜론(:)을 누르면 하단에 콜론 모양이 출력되어 명령 모드로 전환

<명령어> *w:저장한다 ex):wheyhey라는 이름으로 저장 *q:vim 나온다 ex):q*wq:(이미 파일이 있는 경우) 덮고 저장하고 vim 나온다 ex):wq*q!:경고 무시하고 vim 나온다 ex):q!
<저장 및 vim에 나오다>

저장완료 문구 저장을 완료하면 상기 사진과 같이 “파일명” 몇 줄 숫자로 저장된 것으로 출력되며 자동으로 일반 모드로 돌아간다.:q를 입력하여 vim을 나오고 ls-l로 현재 디렉토리를 자세히 살펴보면 vim으로 저장한 “hey” 파일이 있음을 확인할 수 있다.

터미널에서 “vimhey”라고 입력하면 hey 파일이 재개되며, 내용 수정 후 :wq를 입력하면 저장과 동시에 vim이 표시된다.
<경고창>

파일 내용을 저장하지 않고:q 갈 명령어를 입력한 경우 위와 같은 창이 열리는데, 그대로 나가기를 원하는 경우:q!를 작성하면 창을 무시하고 vim을 수행한다.
vim 명령어 모드 2 텍스트 검색 명령어에서 텍스트 검색 기능을 사용할 수 있지만 텍스트 검색 기능은 진입 방법이 위와 다르다.
[전환방법] 일반 모드에서 슬래시(/)를 누르면 하단에 슬래시가 출력되어 명령 모드로 전환
<텍스트 검색>*/찾고 싶은 문자:ex)/like like라는 텍스트 찾기 – 기능 – n: 다음 검색 내용으로 이동 – N: 이전 검색 내용으로 이동
<텍스트 치환>텍스트 치환의 경우 먼저 콜론에서 명령 모드로 진입힌더.*:s/ 찾고 싶은 문자/치환하고 싶은 문자:첫번째 텍스트 치환 ex):s/like/love like이라는 첫번째 텍스트 love로 바꾸었다*:%s/ 찾고 싶은 문자/치환하고 싶은 문자:각 줄의(%)첫번째 텍스트 치환 ex):%s/like/love각 줄에 like이라는 첫 텍스트 love로 바꾸었다*:%s/ 찾고 싶은 문자/치환하고 싶은 문자/g:각 줄의(%)모든(/g)텍스트 치환 ex):%s/like/love/g각 줄에 like는 모든 텍스트 love로 바꾸었다*:%s/ 찾고 싶은 문자/치환하고 싶은 문자/gc:각 줄의(%)모든(/g)텍스트 치환하기 전에 하나씩 검사(보통 몇개만 바꾸려면 사용하는)ex):%s/like/love/gc각 줄에 like는 모든 텍스트 love으로 치환하기 전에 하나씩 검사하기 ▶ y/n 입력
- 옵션 – g(global): 문장에 등장하는 모든 단어 변경 – c(confirm): 확인됨
vim 일반 모드 커서 이동, 텍스트 삭제[전환 방법]ESC
<커서이동*←↓↑→, hjkl: 이동방향키* 이동하고 싶은 숫자+방향키ex)2↓ 아래쪽으로 두칸이동* Ctrl+g: 현재위치(준다, 칸)출력*0: 커서가 해당줄의 첫칸으로 이동.$: 커서가 해당줄 후미 차량으로 이동 * gg: 파일의 첫 번째 행으로 이동 * G: 파일의 마지막 열로 이동
<텍스트삭제*x:텍스트한칸씩삭제*삭제하고자하는숫자+xex)5×5칸삭제*d:해당삭제.숫자+d:숫자만한주는삭제ex)2+dd2줄삭제*u(undo):이전작업취소
vim 비주얼 모드 텍스트 블록 지정 가능[전환 방법]일반 모드에서 알렉을 누르면 좌측 하단에 있는 –VISUAL —로 표시되고 비주얼 모드로 전환 *v:일자씩 블록 지정 *V:행 단위로 블록 지정
<텍스트 블록 지정 기능> 1.텍스트 삭제 2.복사 붙여넣기 3.의 잘라내기
- ←↓↑→ : 블록 크기 지정 * x : 텍스트 삭제 ▶ 자동으로 일반 모드로 전환 * u : 이전 작업 취소 * y(yank) : 복사하기 ▶ 자동으로 일반 모드로 전환 * p(paste) : 커서 다음 칸에 부착할 것.P: 커서 이천 칸에 붙일 것 *d(delete): 텍스트 잘라내기(삭제+방사)