vi는 1976년에 태어난 에디터이다. 


마우스는 아직 만들어지지 않았고 모든 것을 키보드 위의 자판만을 이용해서 에디터를 조작해야 하는 시절이었다. 


그런데 키보드의 자판은 대부분 글자를 입력하는데 사용되어야 하니 자판을 타이핑 외 다른 조작에 사용하려면 별도의 명령 모드(command mode)를 만들 수밖에 없다.


그래서 vi명령(command) 모드와 타이핑으로 글자를 입력하는 편집(insert)모드를 갖고 있는 것이고 오늘날까지 이어져  vim도 동일한 모드를 갖고 있게 된 것이다.


우선, vim을 실행해보자. vim이 설치되어 있다면 다음과 같이 명령하여 실행한다. 


$ vim


다음과 같은 화면이 보인다. 




이 화면에서 여러 키를 눌러보면 자판이 입력되지 않는다는 것을 알 수 있을 것이다. 


왜냐하면 현재, vim명령 모드이기 때문이다. 


타이핑을 하고 싶다면 키보드에서 i 키를 눌러 편집 모드로 들어간다.


'끼워넣기' 또는 'insert' 표시가 나타나면 편집 모드에 들어온 것이다. 


이 상태에서 "Hello everyone!  :D" 라고 타이핑 한 것이 아래의 화면이다. 



타이핑이 끝나면 [Esc] 키를 눌러 다시 명령 모드로 돌아온다.


이제 vim을 종료해야 한다. 명령 모드에서 다음과 같이 :q!를 입력한다.


:q!



그러면 화면 하단의 가장 마지막 줄에 동일한 명령어가 입력되는 것을 확인할 수 있다. 


이 상태에서 [enter]를 눌러 명령어를 입력하면 vim이 종료된다.



vim명령 모드표준으로 채용하고 있다. 왜냐하면 실제로 vim을 사용해보면 커서의 이동같은 사소한 행위부터 다른 파일을 병합하고 셸 명령을 실행시키는 일까지 대부분의 작업이 명령 모드에서 이루어지기 때문이다. 오히려 타이핑으로 글자를 입력하는 작업은 생각외로 많지 않다. 그래서 모든 작업을 명령 모드에서 수행하다가 필요할 때마다 잠깐씩 편집 모드로 들어가서 입력하고 다시 명령모드로 돌아와서 작업하는 식으로 일이 이루어지는 경우가 많다. 아마도 이런 모드 전환을 하는 방식에서 vim을 처음 사용하는 사람들이 크게 이질감을 느끼고 익히기를 포기하는 경우가 많이 발생한다. 


나중에라도 간단하게 기억을 환기시키기 위하여 Anki 파일을 만들었으니 이용하고 싶으신 분은 다운로드 하시면 됩니다. 


001 vim의 모드.apkg


+ Recent posts