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

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

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

vim 입력 모드 (a, A, i, I, o, O) 텍스트 입력 [전환 방법] 일반 모드에서 아래 키를 이용하면 좌측 하단에 -INSERT – 로 나타나 입력 모드로 전환 * i : 입력 모드로 전환 * a : 커서를 한 칸 뒤로 옮기고 입력 모드로 전환 * I (대문자 i) : 커서를 해당 열의 첫 칸으로 옮기고 입력 모드로 전환 * A : 커서를 다음 행으로 옮기고 입력 모드로 전환 * 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:커서가해당줄첫칸으로이동.$: 커서가 해단줄 후미차량으로 이동 *g: 파일의 첫줄로 이동 *G: 파일의 마지막줄로 이동
<텍스트 삭제 * x : 텍스트 한 칸씩 삭제 *삭제하고자 하는 숫자 + x ex) 5 x 5칸 삭제 **dd : 해당 삭제. 숫자 + dd : 숫자만큼 주는 삭제 ex) 2 + dd2줄 삭제 **u(undo) : 이전작업 취소
vim 비주얼 모드 텍스트 블록 지정 가능 [전환 방법]일반 모드에서 알레키를 눌렀더니 좌측 하단에 있는 –VISUAL–로 표시되고 비주얼 모드로 전환 *v:일자씩 블록 지정 *V:행 단위로 블록 지정
<텍스트 블록 지정 기능> 1.텍스트 삭제 2.복사 및 붙여넣기 3.잘라내기
- ←↓↑→ : 블록 크기 지정 * x : 텍스트 삭제 ▶ 자동으로 일반 모드로 전환 * u : 이전 작업 취소 * y (yank) : 복사하기 ▶ 자동으로 일반 모드로 전환 * p (paste) : 커서 다음 칸에 붙일 것.P: 커서 이천깡에 붙일 것*d(delete): 텍스트 잘라내기(삭제+방사)