난 프로그래밍용 텍스트 에디터로 vi를 가장 선호한다. 덕분에 vi에 최적화된 고가의 키보드(해피해킹)을 구입하기도 했다. vi가 왜 좋은지는 검색해 보면 수두룩하게 나올테니 여기서 언급하지는 않는다. vi를 쓰는 사람들 대부분은 vi 예찬론자이고, 상당수는 다른 사람들에게 포교(?)하고자 하는 것 같다. 난 뭐 굳이 힘들게 배워보라고 강요하고 싶은 맘은 없지만, 혹시나 클래시컬한 외향 때문에 비선호라면 안타까운 맘이 든다.
두 스샷이 별 차이 없다고 느끼는 사람들에겐 아래 내용은 아무런 도움이 안될테니 뒤로가기 클릭 ^^
theme 커스터마이징
vim에서는 기본적으로 theme 기능이 있다. 커맨드 모드에서 ":colo 테마명"을 입력하면 쉽게 색상을 바꿀 수 있다. 디폴트로 10 여개의 테마가 설치되어 있는데, 이 중에 맘에 드는 게 없다면 아래 사이트에서 다양한 버전을 다운 받을 수 있다.
http://www.cs.cmu.edu/~maverick/VimColorSchemeTest/index-c.html
맘에 꼭 드는 theme가 없다면 theme파일을 직접 커스터마이징 할 수 있다. 그나마 가장 선호하는 theme 파일(예 morning.vim)을 자신의vi 디렉토리(~/.vim/colors/)에 복사한 후 파일명을 원하는 대로 변경하여 편집한다. 우선, "colors_scheme"의 값을 새로운 theme 이름으로 변경한다. 그 후, 색상을 "hi"로 시작하는 항목에 색상값을 원하는대로 변경한다. 참고로 프로그래밍에 관련된 항목은 syntax highighing 이라고 적혀있는 주석의 아래에 있는 것들로, "Comment", "Constant", "Function", "Type" 등이다. 하나의 theme에 모든 항목이 다 나열되어 있진 않으므로 여러 theme들을 참고해가며 자기가 원하는 항목의 이름이 뭔지를 찾아본다. (전체 리스트가 있는 레퍼런스 사이트가 있겠지만 귀찮아서 찾아보지 않았다.ㅎ)
변경한 후에 쉘 파일(*.sh)이나 소스코드 파일(*.cpp)을 연 후, 커맨드 모드에서 ":colo 테마명"을 실행하면 색상이 변경되는 것을 확인할 수 있을 것이다. 매번 이 과정을 하기 싫으면 "~/.vimrc" 파일에 똑같이 추가하면 된다.
syntax 커스터마이징
vim에서 syntax 변수가 켜져 있으면 해당 언어의 키워드들의 색깔이 변한다. 대부분의 유명한 프로그래밍 언어의 문법들은 vi가 설치되면서 디폴트로 같이 포함되어 있다. 하지만 등록되어 있지 않은 언어라던가, 등록되어 있어도 부족한 부분이 있기 마련이다. 사용자가 정의한 키워드, 클래스, 변수 등은 coloring되지 않으니 visual studio와는 달리 좀 밍밍하게 출력된다. extended c.vim, extended cpp.vim 등의 문법 파일을 따로 찾아서 추가하면 자동으로 함수를 인식할 수 있지만 뭔가 부족함을 느낄수도 있다.
수동으로 추가하고 싶은 클래스나 함수들을 직접 정의할 수 있다. vi 디렉토리 (~/.vim/syntax)에 원하는 확장자의 문법 파일을 생성하거나 기존에 있던 문법 파일을 복사해 온다. 예를 들어 c++에 CMyString 클래스를 추가하고 싶으면, "/usr/share/vim/vim7/syntax/cpp.vim" 파일을 홈 디렉토리에 복사하여 편집기를 연 후,
"syn keyword Structure CMyString"을 추가한다. 혹은, my.vim 파일에 작성하고, cpp.vim 파일에서 "runtime! syntax/my.vim" 과 같이 include 할 수 도 있다.
ls 커스터마이징
vi 뿐만 아니라 쉘 명령어 ls의 색상도 마음대로 변경할 수 있다. /etc/DIR_COLORS 파일을 홈디렉토리 내 .dir_coloirs로 복사한 후 편집한다. 퍼미션에 따라, 확장자에 따라 색상을 달리 지정할 수 있고, 파일의 위치에 따라 우선순위가 설정된다. 색상 뿐만 아니라 underline, 깜빡임, bold, 숨김, 파일명 끝에 *기호 추가 등의 설정도 가능하다. 보다 자세한 내용은 trial and error를 통해 요령껏. 수정 후, 다시 로그인해야 변경된 결과가 적용된다.
끝으로...
가장 중요한 점은 클라이언트 프로그램에서 색상을 좀 더 이쁘게 지정해야 한다. 아무리 색을 잘 배합해도 순수한 빨강, 시안 색으로 나오면 이쁠래야 이쁠수가 없다. 위 스샷은 putty를 이용한 화면이다. 그리고, 폰트도 중요하다. 가독성 높은 영어 폰트인 "Bitstream Vera", "Monaco"를 이용하면 훨씬 보기 좋아진다. putty에서 이 폰트들을 쓰면 한글이 깨진다는 단점이 있는데, Bitstream과 맑은고딕을 합해서 만든 폰트가 돌아다니니 필요하면 검색을...
