"Vim이란?" 6킬로바이트 길이의 설명 Vim ("Vi IMproved") 은 "vi 호환" 이다. 즉, 텍스트 편집기인 vi와 비슷한 프로그램이다. Vim은 모든 단말기의 텍스트모드에서 작동한다. 또한, 메뉴 및 마우스 사용을 지원하는 등 그래픽 사용자환경(GUI) 에서도 작동된다. 가용성: Vim은 많은 플랫폼에서 사용할 수 있고, Vi에 비해 더 많은 추가된 기능들을 가지고 있다. (http://www.vim.org/viusers.php 참고) Vim은 거의 모든 Vi 명령어와 호환이 된다. - Vi 의 버그를 제외하고.. ;-) 운영체제: Vim은 많은 시스템에서 사용할 수 있다: amigaOS, Atari MiNT, BeOS, DOS, MacOS, NextStep, OS/2, OSF, RiscOS, SGI, UNIX, VMS, Win16 + Win32 (윈도우즈95/98/2000/NT) - FreeBSD와 리눅스는 특히나 더 잘 지원한다. :-) 저작권: Vim에 대한 저작권은, 주 개발자이자 관리자인 Bram Moonlenaar 에게 있다. Vim은 "자선웨어" 이다. 우간다의 고아들을 위한 기부를 권장하는 바이다. (참고 ":help ugand") 소스: Vim은 오픈소스이다. 개발에 참여하는 모든 이들을 환영한다. === 기능 초보자를 위한 편집기 - 사용자 친숙성: Vim은 Vi에 비하여 초보자에게 훨씬 더 친숙하다. 풍부한 온라인 도움말이나 "명령취소" 및 "명령재시도" 등의 기능 (실수를 두려워 말라 - 명령취소와 명령재시도만 있으면 쉽게 해결된다) 뿐 아니라, 마우스 지원과 설정 가능한 아이콘 및 메뉴와 같은 그래픽사용자환경(GUI)을 지원하기 때문이다. 문자코드와 단말기: Vim은 iso-latain1 문자셋과 termcap 을 지원한다. (기존의 vi에서 문제가 되는 부분이다.) 문자와 언어: Vim은 우측에서 좌측으로 쓰는 언어 (예: 아랍어, 이란어, 히브리어) 와 멀티바이트 문자, 즉 1바이트 이상을 차지하면서 그래픽적으로 표시가 되는 언어인 중국어, 일본어, 한국어 문자를 지원한다. (기술적으로 말하자면, Vim은 UTF-8과 Unicode를 지원한다.) 텍스트 포맷 과 비주얼 모드: Vim을 사용해서, 텍스트를 비쥬얼하게 선택하여 명령을 수행 할 수 있다. 즉, 복사 또는 삭제, 치환, 좌우로의 자리이동, 대/소문자 변환, 정렬된 형태를 유지한채로 텍스트를 포맷하는 등의 조작이 가능하다. 또한, Vim은 사각형 형태로 텍스트를 선택하여 명령을 수행 할 수도 있다. 명령어 완성기능: Vim은 입력하는 명령어나 화일이름 또는 일반적인 단어를 다 쓰기도 전에 완성시키는 기능을 가지고 있다. 자동 명령어: Vim은 자동 명령어 기능을 가지고 있다. (즉, 압축된 화일을 읽어드리는 순간에 자동으로 압축해제를 하여 로딩하는 것이 가능하다) 이중음자 입력: Vim에서는 2개의 문자를 조합하여 특수한 문자를 입력할 수 있다. (예: " 와 a 를 이용하여 유럽어에 있는 악센트부호가 덧붙여진 문자를 입력할 수 있다) 또한, 다른 방식의 조합도 정의할 수 있다. 화일형식의 감지와 변환: Vim은 로딩하는 화일의 형식(도스, 매킨토시, 유닉스)을 자동으로 감지하고, 다른 포맷으로 저장할 수 도 있게 한다. - 이제 윈도우에서 작업하기 위해 굳이 unix2dos 를 사용할 필요가 없다! 이력기능: Vim은 명령어 및 검색어에 대한 이력을 가지고 있다. 따라서, 이전의 명령어 및 검색어를 얼마든지 다시 부를수 있고 편집하여 재실행 할 수 있다. 매크로 기록: Vim은 편집작업 과정을 기록하여 재현하는 기능을 가지고 있어서, 반복적인 작업을 용이하게 도와준다. 메모리 제한: Vim은 한 줄의 최대길이와 버퍼의 최대 크기가, 기존의 Vi에 비하여 월등하게 많도록 메모리를 할당하고 있다. 다수의 버퍼와 화면분할: Vim에서는 다수개의 버퍼를 편집할 수 있고, 화면을 여러개로 (수평또는 수직 방향으로) 분할하여 사용할 수 있다. 따라서, 여러개의 화일을 동시에 편집하거나, 한 화일의 여러 부분을 각기 다른 화면에 두고 편집하는 것이 가능하다. 숫자를 선행시킨 명령어: Vim은 Vi와 마찬가지로 명령어 앞에 숫자를 선행시키는 것이 가능하다. (예: put) 실행 보조 화일 (도움말화일 과 문법화일) Vim은 편집기능에 관련한 다양한 사용법이 수록된 70개의 도움말 화일을 가지고 있다. 그중 몇개의 화일에는 특정 운영체제에 적용되는 내용이 담겨 있다. 스크립트: Vim은 스크립트 언어가 내장되어 있고, 이를 통하여 쉽게 기능을 확장할 수 있다. 검색 오프셋: Vim은 검색명령어에 오프셋을 지정할 수 있다. 즉, 찾아진 검색패턴의 위치로부터 지정한 오프셋 만큼 이동하여 커서를 위치 시킬 수 있다. 편집환경 복구기능: Vim은 편집환경을 특정화일("viminfo")에 저장하여, 다음번에 vim을 실행시킬 때에 이전과 같은 환경으로 복구될 수 있도록 할 수 있다. 예를 들어, 버퍼 리스트, 화일 마크, 레지스터의 내용, 명령어 및 검색어의 기록들이 있다. 탭 확장: Vim은 글자들 안에 섞여 있는 탭들을 스페이스로 확장시키는 기능이 있다. (expandtab, :retab) 태그 시스템: Vim은 "tags" 화일의 색인을 읽어들인 후, 다양한 태그 관련 명령어를 사용해서, 여러 화일들에 위치한 검색패턴을 찾을 수 있도록 지원한다. 텍스트 오브젝트: Vim은 많은 종류의 오브젝트 (단락, 문장, 단어, 대문자로 구성된 단어 - 이들 모두 공백문자로 분리된다) 를 인식한다. 또한, 사용자가 이들 텍스트 오브젝트에 대한 정의를 할 수 있도록 지원한다. 문법 칼라링: Vim은 프로그래밍 언어에 따라, 화일 안의 텍스트를 문법에 맞게 칼라링 해준다. 또한, "언어" ("문법") 에 대한 사용자 정의를 할 수 있도록 지원해준다. Vim은 문법적 칼라링을 위해서 200여개 이상의 문법화일을 제공한다. 지원하는 것으로는, 일반적 프로그래밍 언어 (Ada, C, C++, Eiffel, Fortran, Haskell, Java, Lisp, Modula, Pascal, Prolog, Python, Scheme, Smalltalk, SQL, Verilog, VisualBasic), 마크업 언어 (DocBook, HTML, LaTeX, PostScript, SGML-LinuxDoc, TeX, WML, XML), 프로그램 출력물 (diff, man), 프로그램 설정 화일 (4DOS, Apache, autoconfig, BibTeX, CSS, CVS, elm, IDL, LILO, pine, procmail, samba, slrn), 쉘 스크립트 및 설정화일 (shells:sh, bash, csh, ksh, zsh), 스크립트 언어 (awk, Perl, sed, yacc), 시스템 화일 (printcap, .Xdefaults)이 있다. 물론 Vim 설정화일 및 도움말 화일도 문법적 칼라링이 지원된다. 특수한 코드: Vim은 Perl이나 Tcl, Python 과의 통합기능을 옵션으로 제공한다. Vim은 윈도우즈 환경에서 OLE 자동화서버로서 작동할 수 있다. Vim은 X-windows 를 지원하는 코드로 설치될 수 있고, 설정 가능한 메뉴 및 마우스에 대한 지원이 제공된다. 그 밖에도 많이. 훨씬 더 많은 기능들이 있다! Vim의 웹 홈페이지는: http://www.vim.org/ Vim의 기능에 대하여 더욱 상세한 기능을 보고 싶으면, 다음 홈페이지를 참조하기 바란다 http://www.vim.org/about.php 원 저작자 (영어판): Sven Guckes guckes@vim.org 최종수정일 : Tue Oct 03 20:00:00 MET DST 2000 번역자 (한글판): kildongi@hitel.net 최종수정일 : Sun Dec 31 01:47:00 KST 2000