프롬프트가 평범(?)해서 그럴지도 모르겠지만, 간혹 cat을 이용해 파일 내용을 볼 때 색상 문제로 헷갈리는 경우가 있었다. 그래서 이 cat에 문법 강조(Syntax Highlight) 기능을 추가 할 수 없나 찾아보니 몇 가지 대체방법이 있었다. 간단한 설명을 하자면, cat는 일반적으로 텍스트 파일 내용을 보기 위한 *NIX(UNIX/Linux 등등) 유틸리티이다. 물론 UNIX류의 특징 답게 그냥 보기 외에도 파이프를 통해 다른 텍스트 프로세서에 전달하는 용도로도 이용할 수도 있겠지만 일반적인 사용법이 그렇다는 이야기다.
코딩 도중 나중에 꼭 해야 할 것이라는 의미에서 TODO로 시작되는 주석문을 달 때가 있다. 물론 사람마다 다르겠지만, 개인적으론 TODO 라는 주석문으로 코딩 내용을 축약해서 적어놓고 나중에 그 내용을 보고 구현(Implementation)하는 방식을 종종 사용한다. 그런데 코드 내용이 길 때는 TODO를 검색해서 코딩하기엔 약간 귀찮을 때도 있다. TaskList는 Vim에서 TODO 등 특정 키워드 내역을 한방에 정리해서 보여주는 플러그인이다.
골프라는 스포츠는 공을 얼마나 적게 쳐서 홀에 집어넣는지를 겨루는 스포츠다. 타수를 줄여서 최대한 적게 친 순으로 순위가 메겨진다. VimGolf는 Vim으로 골프치는 것이 아니라 -_- 골프의 목적과 비슷하게 Vim으로 특정한 텍스트 프로세싱을 하는데 얼마나 효율적으로(얼마나 키보드 타이핑 수를 적게 하느냐 등) 해 내느냐를 겨루는 게임같은 서비스이다.
특정 키워드를 정리하는 코딩을 하고 있었는데 가끔 중복되는게 있어서 검색으로 일일이 찾아보면서 코딩을 하고 있었다. 그런데 입력한 코드를 정렬해 두면 미리 검색해 보지 않아도 어느 정도 쉽게 중복되는 것이 눈에 들어오지 않을까 하는 생각에서 Vim에서 라인 단위 정렬을 하는 방법을 찾아보게 되었다. Vim에서는 sort라는 명령을 자체적으로 지원한다. 혹은 *NIX 유틸리티를 이용하는 것도 가능하다.
좀 제한적인 환경에서만 발생하는 문제다. 증상부터 이야기 하자면, git commit으로 커밋 메시지를 vi 혹은 vim으로 작성하고 :wq를 통해 커밋을 하려는데 다음과 같은 오류가 발생한다. error: There was a problem with the editor 'vi' 이 문제의 원인은 vim이 종료코드로 0(정상)이 아닌 1을 반환했기 때문이다. 단순하게 확인하기 위해 vim을 실행시키고 바로 종료시킨 후 echo $? 커맨드로 종료코드를 확인했을 때 0이 아닌 다른 값이 표시된다면 이 문제가 발생 할 수 있다.
계속해서 쓰는 Vim 자동완성 플러그인 이야기. 이번엔 SuperTab이라는 물건을 소개한다. http://www.vim.org/scripts/script.php?script_id=1643 '슈퍼'라는 이름 때문에 뭔가 대단한 것 처럼 보이는데... 뭐 개인적으론 좋은 기능이라고 생각한다. 그냥 타이핑 도중 탭 키를 누르면 자동완성을 해 주거나 등의 기능을 제공한다. 다르게 말하자면, TAB키에 Ctrl-N 키의 기능을 부여하는 단순한 기능이다.
갑자기 Emacs가 얼어버리는 증상이 잦아져서 (불쌍한 고물맥북 ㅠㅠ) 터미널에서 vim을 쓰려고 HomeBrew를 이용해 vim7.3을 설치하려고 찾아봤다. brew search vim 그런데 정작 vim은 없고 macvim만 보인다. MacVim은 이미 설치되어 있지만 잘 안쓰는데 -_-;;; 뭔가의 이유로 공식적으로 아직 포뮬라가 안올라와 있나보다.
Mac OS X Terminal.app 에서 Vim을 사용 도중 디스플레이가 발생하는 오류의 한 예로, Macport로 빌드한 vim 7.3에서 윈도우를 나눈 후 긴 파일을 열어서 아래로 스크롤을 하다 보면 모드라인(스테이터스바)가 위아래로 진동하듯이 요동치며 표시되는 문제가 발생하였다. 해당 문제는 터미널 호환성 때문에 발생하기 때문에 설정을 확인해야 한다.