[Ubuntu] 빔(VIM) 사용방법 정리[Ubuntu] 빔(VIM) 사용방법 정리

Posted at 2018. 7. 20. 19:39 | Posted in Linux/Ubuntu
반응형




■ CGI, 콘솔 환경에서 파일 수정



 콘솔만 이용해서 우분투를 사용하는 데 있어서 가장 큰 걸림돌은 파일의 내용을 보거나 수정하는 기능이다. 콘솔에서 파일의  내용을 수정하는 방법은 아무리 쉬운 방법이라고 해도 MS윈도우 메모장보다 어렵다. 콘솔 기반 편집기는 GUI 기반 편집기 만큼 직관적이지 못하기 때문이다. 무엇보다 콘솔에서는 마우스를 사용할 수 없다는게 가장 큰 단점이다.


 계속 부정적인 면만 이야기 했지만 사실 콘솔에서 사용할 수 있는 에디터는 생각보다 다양하고 또한 익숙해지기 어려워서 그렇지 제대로 익혀서 사용하게 된다면 오히려 GUI 환경에서 파일을 수정한느 것보다 더 효과적이고 빠르게 작업이 가능하다. 마우스보다는 키보드 단축키가 더  빠르기 때문이다. 컴퓨터  전문가 중에는 GUI 환경에서도 일부러 콘솔용 에디터를 사용하는 사람도 많다. 어찌됐건 콘솔에서 우분투를 사용하는 작업에서 파일 편집이라는 산을 넘지 못하면 더 이상 할 수 있는게 많지 않다.




■ 빔(VIM) 사용하기



 '(VIM)'이라고 부르는 이 에디터는 가장 많이 쓰이는 리눅스 콘솔용 에디터이다. 이 프로그램도 개발된 지 매우 오래되었다. 얼마나 오래되었냐 하면 MS윈도우 같은 GUI기반의 운영체제가 나타나기 전부터 존재했던 에디터이다. 이런 이유로 이 사용법이 그다지 직관적이지 않다. 예를 들어서 처음 VIM을 실행한 유저라면 한 글자도 수정하지도 못하고 프로그램을 종료할 수도 없다.


 그렇지만 (VIM)역시 에디터이기 때문에 다양한 플러그인이 존재하며 그 종류가 에디터 수준에서는 충분하다. 다양한 플러그인을 잘 설정한다면 웬만한 GUI 기반 에디터보다 기능이 많다.




■ 빔(VIM) 설치하기



우선 VIM이 설치되어 있는지 부터 확인한다.


 $ apt-cache show vim


위와같이 설치가 되어 있다면 VIM를 실행하고 그렇지 않다면 아래와 같이 VIM을 설치하자.


 $ sudo apt-get install vim



사용자 계정 암호를 물어보면 입력해주고, 설치될 때까지 기다린다.

설치가 완료되면 아래 명령어를 입력해서 처음으로 VIM을 실행해 보도록 하자.



 $ vi

OR

    $ vim


위와 같은 "memo"라는 글자를 입력하기 위해서 키보드를 이용해 memo라고 하나씩 눌러보면 아마 아무런 반응이 없을 것이다.

보통의 에디터라면 키보드를 누르면 화면에 입력한 글자가 보여야 하지만 VIM은 그렇지 않다.


VIM은 일반적인 에디터와는 달라서 '모드'라는 것이 존재한다. 지금은 편집모드가 아니라서 아무런 편집도 할 수 없는 것이다.





■ VIM의 모드




(VIM) 에디터와 다른 일반 에디터의 가장 큰 차이점은 VIM은 몇 가지 모드를 가지고 있다는 점이다.

각각의 모드들은 그 목적이 정해져 있으며 모드에 따라서 동일한 키보드 입력도 단축키로 인식하거나 아니면 편집할 단어로 인식할지가 달라지게 된다.




 :: VIM 모드 종류와 변화 ::




-. VIM명령모드, Ex모드, 입력모드 총 3가지 모드를 가지고 있다.

-. VIM을 실행하면 항상 명령모드에서부터 시작하게 되고, 키보드 키 i, a, o, s 중 하나를 입력하게 되면 입력모드 전환이 된다.

-. i, a, o, s 키는 각각 성격이 다르지만 경과적으로는 입력모드로 변환이 된다.

-. 입력모드에서 ESC키를 누르면 다시 명령모드로 바뀌게 되고, 명령모드에서 : (콜론), / (슬레쉬), ? (물음표)키 중에서 하나를 누르게 되면 Ex모드로 전환이 된다.

-. : (콜론), / (슬레쉬), ? (물음표)역시 각각 키마다 성격이 다르지만 Ex모드로 전환된다는 점은 같다.

-. 다시 ESC키를 누르거나 Enter키를 누르면 명령모드로 돌아가게 된다.

-. Ex모드에서  입력모드로 바로 갈 수 있는 방법은 없다.(Ex모드 전환도 마찬가지이다.) 반드시 명령모드를 거쳐야 한다.




# 명령모드


-. 명령모드에서는 키보드로 직접 내용을 입력해서 문서 내용을 편집하는 게 안된다.

-. 대신 키보드의 다수의 키들이 각각 특정 기능의 단축키로 지정되어 있다.

   따라서 여러 가지 단축키를 활용해서 문서의 내용을 수정하고 편집할 수 있다.


:: 입력모드로 전환 단축키 ::

 i

 · 현재 커서 위치에서 입력모드로 전환

 a

 · 현재 커서 다음 칸에서 입력모드로 전환

 o

 · 윗줄에서  입력모드로 전환

 ESC

 · 입력모드 종료


:: 커서 이동 단축키 ::

 h, j, k, i

 · 좌 하 상 우 커서 이동, 오래 전 키보드에는 방향키가 없었는데

  그 당시 커서 이동을 위해 사용했다.

  현재는 방향키로도 커서 이동이 가능하다.

 w(소문자)

 · 단어 첫 글자로 커서 이동

 W(대문자)

 · 화이트 스페이스 단위로 다음 글자로 커서 이동

 b(소문자)

 · 뒤쪽 방향으로 단어의 첫 글자로 커서 이동

 B(대문자)

 · 뒤쪽 방향으로 화이트 스페이스 단위로 다음 글자로 커서 이동

 e

 · 단어의 마지막 글자로 커서 이동

 ge

 · 뒤쪽 방향으로 단어의 마지막 글자로 커서 이동

 gg

 · 문서 맨 앞으로 커서 이동

 G

 · 문서 맨 끝으로 커서 이동

 ^

 · 문장 맨 앞으로 커서 이동

 0

 · 라인 맨 앞으로 커서 이동

 $

 · 문장 맨 뒤로 커서 이동

 Ctrl + f

 · 다음 페이지로 커서 이동

 Ctrl + b

 · 이전 페이지로 커서 이동


:: 문서 내용 편집 단축키 ::

 dd

 · 현재 줄 잘라내기

 dw

 · 단어  잘라내기

 yy

 · 현재 줄 복사하기

 p

 · 붙여넣기

 r

 · 현재 글자 교체하기

 u

 · Undo

 Ctrl + R

 · Redo

 x(소문자)

 · 현재 글자 지우기

 X(대문자)

 · 앞의 글자 지우기

 cw

 · 단어 잘라내기

 >

 · 들여쓰기

 <

 · 내어쓰기

 .

 · 이전 명령어를 다시 실행


:: 비주얼 모드 단축키 ::

 v

 · 비주얼 모드 진입

 ESC키

 · 비주얼 모드 취소

 y

 · 블록 복사

 x

 · 블록 잘라내기

 ① 비주얼 모드는 블록(선택영역)을 지정할 수 있는 모드이다.

 ② 마우스로 드래그해서 블록을 잡는 것과 동일한데, VM은 마우스가 없으니  대신 v키를 누르면 블록 지정이 시작된다.

 ③ 커서 키를 이용해서 원하는 부분을 블록 지정한 다음, 해당 블록을 복사할지  삭제할지 키를 입력하면 된다.




# 입력모드


-. 입력모드는 키보드로 입력하는 모든 글자를 문서로 입력하는 모드이다.

-. 입력모드는 GUI 기반의 에디터들이 기본적으로 동작하는 형태와 동일하다.

-. 콘솔 환경에서는 복사와 붙여넣기 같이 단순한 편집 기능조차도 구현하기가 까다롭다.

   따라서 VIM에서는 입력모드에서는 정말 문자 입력 작업만을 하다가

   ESC키를 눌러서 명령모드로 전환한 뒤에 적절한 편집 기능을 사용하는 구조이다.

-. VIM에 익숙하지 않은 사용자는 입력 작업 중간중간 ESC키를 눌러서 명령모드로 바꿔주어야 하는 불편함이 크지만 익숙해지면 빠르게 할 수 있다.




# EX모드


-. Ex모드는 명령 모드처럼 키보드이 키를 입력하면 단축키 같이 즉시 명령이 처리되는 모드가 아니라

  명령어를 입력하고 엔터를 쳐서 해당 명령을 수행하는 모드를 말한다.

-. Ex모드로 진입하기 위해서는 명령모드 상태에서 :(콜론) 키를 입력하게 되면 화면 맨 하단 왼쪽에 :(콜론)이라는 모양이 나오면서 커서가 깜박거리는 모습을 볼 수 있다.

  이때 원하는 Ex모드 명령어를 입력하고 엔터를 치는 것이다.



-. 위 영상은 Ex모드로 진입한 상태를 보여주고 있다.

-. 이 상태에서 ESC를 눌러서 Ex모드를 취소하고 다시 명령모드로 가든지, 수행하고자 하는 명령어를 입력한 후 엔터를 쳐서 VIM이 명령어를 수행하게 해야 한다.

-. Ex모드에서는 명령모드에서 할 수 있는 편집 기능보다 더욱 강력한 기능들을 사용할 수 있다.


 :: Ex모든 단축키  모음 ::

 :w

 · 문서 저장하기

 :q

 · 현재 문서 닫기

 :q!

 · 저장하지 않고 닫기

 :wq

 · 저장하고 닫기

 :숫자

 · 지정한 라인넘버로 이동

 :new

 · 가로로 창 분할

 :vs

 · 세로로 창 분할

 :e 파일명

 · 파일 새로 열기

 :%s/old/new/g

 · old라는 문자를 new라는 문자로 치환

 /단어

 · 문서에서 단어를 찾는다.

 · 단어 찾기 기능의 Ex모드는 :(콜론)이 아니라 /(슬레쉬)임을 주의하자

 · 찾은 단어 사이를 이동하려면 n키를 누르면 된다.


출처 : https://kldp.org/node/102947




반응형
//