티스토리 뷰

전자,전기공학/Vim

Vim? 그게 뭐지?

camelj 2015. 11. 12. 16:45

Vim 이란 무엇인가?

왜 Vim에 대해 포스팅을 하려 하는가?


이 내용에 대해 잠깐 글을 쓰려 합니다.


1. Vim 이란?


기본적으로 제가 사용하고 있는 환경입니다.

요즘 나오는 다른 에디터에 비하면 월등한 기능이 있는것도 아니고 

옛날 도스환경과 유사해 보이는 그냥 보잘것 없는 비주얼입니다.


Vim에 대해 wiki에게 물어보면 다음과 같이 대답을 합니다.

Vim(Vi IMproved)은 Bram Moolenaar가 만든 vi 호환 텍스트 편집기이다. 

CUI용 Vim과 GUI용 gVim이 있다. 본래 아미가 컴퓨터 용 프로그램이었으나 

현재는 마이크로소프트 윈도리눅스맥 오에스 텐을 비롯한 여러 환경을 지원한다.

Vim은 vi와 호환되면서도 독자적으로 다양한 기능을 추가하여 사용자의 편의를 돕고 있다. 

특히 #Vim 스크립트 등을 사용해서 자유롭게 편집 환경을 변경하거나, 확장된 정규 표현식 문법, 

강력한 문법 강조 기능, 다중 되돌리기, 유니코드를 비롯한 다국어 지원, 문법 검사 등을 쓸 수 있다는 점이 강점으로 꼽힌다. 

한편으로는 vi와 마찬가지로 처음에 배우기 어렵다는 점이 단점으로 지적되는데, 이를 극복하기 위해 쉬운 Vim 모드를 지원한다.

자세한 내용은 https://ko.wikipedia.org/wiki/Vim 을 참조하시기 바랍니다.


그렇다면 저와 같은 펌웨어 엔지니어가 Vim을 사용하는 이유는 무엇일까요?

제 주관적인 견해이므로 참고만 해주시기 바랍니다.


1. ctrl, alt 키로 이루어진 명령어들은 일반적으로 키보드에서 손의 위치가 넓은 범위로 움직입니다.

하지만, vim의 명령어들은 esc 버튼을 누르는 것만 빼면 

대부분의 명령어가 키보드위에 올려둔 손의 포지션에서 크게 벗어 나지 않습니다.

예를 들어 문장을 움직이려면 방향키를 사용하여 움직여야 하는데 

오른손이 방향키 있는곳까지 왔다가. 다시 문장 작성을 위해 J키에 검지손가락이 위치하도록 손이 움직입니다.

Vim의 경우 esc 키 한번이면 그 이후부터는 j,k,l,i 버튼으로 쉽게 문장을 옮겨 다닐 수 있습니다.


2. 알면 알수록 막강한 기능. 처음 쓸때는 정말 '뭐 이런 에디터가 다 있어~ 집어 치워' 란 생각이 수도없이 들곤 합니다.

하지만 익숙해지고 나면 편하게 사용하는 수많은 기능들 때문에 다른 에디터로 '환승' 하기가 쉽지 않습니다.


3. 수많은 플러그인의 존재. 

http://www.vim.org/scripts/script_search_results.php?order_by=creation_date&direction=descending 에 들어가면

셀수 없이 많은 플러그인이 업로드 되어 있습니다. 수많은 개발자 분들이 필요에 의해 만들어놓은 플러그인을

손쉽게 설치해서 사용할수 있습니다.


4.  무료 소프트웨어

무료일 뿐만 아니라 오픈소스 프로그램입니다.

비용을 지불하지 않고도 이런 유용한 프로그램을 쓸수 있다는게 얼마나 큰 행복입니까!


그외 수많은 장점이 존재 합니다.

코딩을 하기 위해서 필요한 모든 기능을 갖춘 팔방미인이 무려 공짜입니다.


그러나.

크나큰 단점이 있습니다.


그것은 바로...

익숙해 질때까지 엄청난 시련과 고통!

vi 에디터를 일반 에디터처럼 쓴다면 아무 의미가 없지 않겠습니까?

리눅스나 유닉스 환경도 아닌,

윈도우 환경에서..

수많은 그레픽 인터페이스를 갖추고 화려한 외모로 무장한

다른 에디터를 뒤로 하고 고전적이고 구닥다리 같은 이놈은 선택해서..

일반 에디터 쓰듯 쓴다면...

이놈을 선택한 이유가 없지요?

하나하나 배워가고 손에 익어가면서


익숙해 지면...

다른 에디터는 눈에 들어오지 않습니다.


어느순간.

마이크로소프트 워드에서 나도 모르게 vi 단축키를 누르는 자신을

발견하게 됩니다.


차근차근 알아가며 익숙해 지는 재미가 있는 vim.

시간 날때마다 자세히 포스팅 하겠습니다.



'전자,전기공학 > Vim' 카테고리의 다른 글

Vim reference card  (0) 2015.11.16
Vim 환경설정  (0) 2015.11.15
기본 명령어  (0) 2015.11.12
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday