본문 바로가기

123123

vi 편집기의 기능에 대한 조사와 vi 편집기를 반드시 사용해야 하는가에 대해 기술하시오.

반응형

vi 편집기는 Emacs와 함께 유닉스 환경에서 가장 많이 쓰이는 문서 편집기이다. 현재는 오리지널 vi를 사용하는 경우는 거의 없고 일반적으로 기능을 모방한 클론을 사용하고 있다. 이런 클론 중 많이 쓰이는 것은 기능이 다양한 것을 장점으로 내세우며 리눅스 배포판에 포함되는 Vim, 그리고 BSD라이선스로 제공되며 원본 vi의 동작과 호환성으로 정평이 나 있는 nvi, 독자적인 팬층을 확보안 elvis 등이 있다.

 

그렇다면 vi 편집기의 기능은 무엇이 있을까? vi 편집기의 세가지 모드에 대해 이야기해보도록 하자. vi 명령어는 다음과 같이 입력모드, 명령모드, 콜론모드 크게 세가지로 분류가 된다.

 

- i : Insert, 현재 커서의 위치에서 글자를 삽입
- I : Insert, 커서가 있는 줄(line)의 맨 앞에 글자를 삽입
- a : Append, 현재 커서 위치의 다음 칸에 글자를 추가
- A : Append, 커서가 있는 줄(line)의 맨 뒤에 글자를 추가
- o : Open line, 현재의 줄 다음에 새로운 줄을 삽입
- O : Open line, 현재의 줄 앞에서 새로운 줄을 삽입

첫 번째는 입력모드이다. 입력모드는 i, a, o, I, A, O를 누른 다음 텍스트를 입력할 수 있는 상태를 말한다. 입력모드는 다른 편집기에서 타이핑을 하여 파일의 내용을 입력하는 과정이다. 입력모드는 글자를 입력하기 위해서 입력모드로 들어가야 하는데 ‘i'를 입력하면, 하단에 --INSERT--가 나오면서, 글자를 입력할 수 있는 입력모드로 바뀌게 된다. 입력모드로 들어가는 대표적인 방법은 i 키를 누르는 것이 있지만 이외에도 다른 방법이 있다.

 

명령모드는 ESC모드로 esc키를 누른 상태이다. 입력모드에서 명령모드로 다시 전환하려면 Esc키를 누르기만 하면 된다. esc 키를 누르고 문자를 입력하려고 하면 비프음만 날 뿐 입력은 되지 않는다.

이에 리눅스에서는 명령모드를 통해 수정과 편집을 할 수 있는 상태이다. 즉 명령모드는 복사나 삭제, 붙이기 등의 작업을 이룬다. 입력모드를 통해 삽입 등 잘못된 명령을 내렸을 때 'u‘라는 명령어를 통해 Undo 즉 복구가 가능하게 할 수 있다.

 

콜론모드는 EX모드로 esc키를 누르고 :(콜론)을 입력한 상태를 말한다. 명령모드에서 콜론모드로 전환하려면 ‘:’ 명령을 실행시키면 된다. 콜론모드는 vi에서 사용할 수 있는 명령어를 이용하는 곳으로 윈도우 환경에서라면 메뉴 바와 같은 역할을 한다. 파일을 저장하거나 vi를 종료하는 등의 일을 수행할 수 있다.

콜론모드로 들어가려면 esc를 누른 후 ‘:’를 누르면 된다. 콜론모드에 들어가게 되면 화면 아래쪽에 ‘:’ 표시가 나타나게 되며, 여기서 원하는 작업에 해당하는 명령을 입력하고 Enter키를 누르면 된다. 아래 그림에서 아래쪽에 ‘:wq'라는 표시에 눈에 띄게 되는데 바로 ’:‘ 상태가 콜론모드의 형태라 할 수 있다.

 

현재 vi 편집기는 리눅스를 공부 할 때 주로 접하게 되지만, GUI 환경에 익숙한 현대인들은 vi를 접하고 어려움을 마주치게 된다. hjkl을 사용하여 글을 쓰거나 명령하기 위한 모드들로 전환해야 하는 인터페이스를 가지고 있어, 일반 사용자들에게 익숙하지 않은 단축키를 활용하기 때문에 진입장벽이 높다고 할 수 있다.

 

그렇다면 vi 편집기를 왜 반드시 사용해야 하는지, 간략한 이유에 대해서 이야기 해보도록 하겠다. 첫 번째로는 오른손으로 이동을 최소화시킬 수 있으며 이를 통해 빠른 작업이 가능하다라는 점이다. viGUI 환경이 사용자들에게 편하게 다가오기 전에 등장하였다. 당시에는 한 줄씩 편집하는 방식이지 않고, 전체화면에서 편집하였다. 이 때에는 커서를 이동하는 방향키가 지정되어 있엇고 명령단축키도 현재와 다른 배치를 가지고 있었다. 허나 이러한 특징들은 현재의 방향키와 마우스에 편하고 익숙한 방식에 뒤떨어진 개념이라 말할 수 있지만, vi는 오른손의 이동을 최소한으로 감소시켜 방향키를 오른손으로 굳이 잡고 이동하지 않아도 된다라는 점이다.

 

두 번째로는 문서 편집의 효율성 향상이다. 키조합을 이용한 명령단축키가 적다라는 것인데, 바로 입력과 명령이 가능한 다른 에디터들과는 달리 입력모드로 전환하면 글자가 입력이 되고 일반모드로 전환하여 복사나 붙여넣기 줄 삽입 및 삭제의 명령이 가능하다. 즉 각 모드로 전환하면 변동시켜야 한다는 점이 불편할 수 있겠지만, 명령을 조합이 아닌 키 하나로 작업할 수 있기 때문에 익숙해진다면 altctrl등을 조합할 일이 점차 줄어들 것이고 문서편집이 가능해져 효율성이 향상될 수 있다.

 

세 번 째로는 어디에서나 사용이 가능한 편집기라는 점이다. UNIX계열 대부분 vi는 기본적으로 제공하고 있다. 즉 따로 설치할 필요가 없다라는 점인데, 예를 들어서는 서버기술자가 자신의 관할이 아닌 서버를 다루어야 할 상황이 발생하였을 경우의 남의 서버에 자신이 사용하는 에디터가 없어서 작업에 난감한 상황이 생길 수 있다. vi의 대부분 UNIX계열에 기본적으로 설치되어 있으며 따로 에디터를 설치할 필요하지 않는다라는 것이다. 이뿐만 아니라 교육을 받으러 갔을 때 교육의 대부분의 VM안에서 이루어 지지만 네트워크가 연결되지 않아 주력 에디터를 설치하지 못할 수도 있으며, 주변 시선을 신경쓴다면 vi를 다루지 못할 수도 있다.

 

 

반응형