[Vi] Vi 사용하기

개발도구로그 2011. 4. 25. 11:58



vi(Visual display editor) 는 유닉스 환경에서 emacs 와 함께 많이 사용되어지는 편집기 중 하나이다.  
vi의 개선된 버전인 vim(vi Improved) 또한 존재한다.  vi는 사용자 홈폴더의 ~/.exrc 파일에  vi의 환경설정을 셋팅할 수 있다. 
vim은 window 환경에서는 vim 설치폴더에, 유닉스/리눅스 환경에서는 홈폴더에 .vimrc 파일이 존재하여 환경설정을 할수 있다.


IDE 환경이 없을 경우, vi를 잘 다룰수 있다면 상당히 편리하다. 커서이동, 화면분할, 화면이동, 문자열 검색, 대치, 정규식 적용
등을 단축키로만 사용하여 처리하면 엄청난 작업효율을 가져올 수 있다는...emacs를 깊이 있게 사용해보지 못해서 
아직까지는 vi 가 좀더 편하다

.exrc / .vimrc 설정 예
다음은 내가 사용하고 있는 vi 설정이다.  vim 은 플러그인 기능을 제공해서 좀더 다양한 기능을 사용할 수도 있다. 
 





단축키 설정
map 명령을 사용하여 특정 명령에 대한 단축키를 설정할 수 있다.  현재  편집중인 파일을 컴파일하고, 실행하는 명령을
F2 와 F3 단축키로 설정하는 방법은 다음과 같다.  이렇게 해놓으면 매번 vi 빠져나가서 컴파일하고 실행하는 번거로운 과정을
피할 수 있다.  

map  :!gcc -o %< %            
map  :!./%<

%는 현재 편집중인 파일이름을 , %< 확장자를 제외한 현재파일 이름, <CR>은 엔터의 의미로 해석된다.





약어(abbreviation) 설정 
키를 맵핑하여 사용할 수도 있지만,  문장을 치환하는 것은 약어를 사용하는 방법이 더 간편하다.  IDE 에서 지원하는 코드 snippet
기능을 흉내낼 수 있어서 유용한 기능이다.  약어를 지정 방식은 다음과같다.
ab 약어 대체할문장

사용 예를 들어보자.   C 언어에서 매번 stdio.h 헤더파일과 main 함수를 작성하는 것은 상당히 번거로운데
약어로 지정해 놓으면 약어 + Tap 키 조합으로 한번에 코드들을 삽입할 수 있다. 

ab Inc #include <stdio.h>
ab inc #include "custom.h"
ab main int main(int argc, char *argv[]) {<LF><LF>return 0;<LF>}