프로그래밍을 하다 막히면 근처 치킨집 사장에게 상의하라는 농담이 있다. 실제로 그런 경우도 있긴 있겠지만, 정확한 의미는 '개발자는 대부분 일찍 퇴임하고 자영업 등 다른 업종으로 뛰어들거나 개발직종이 아닌 직종으로 옮겨간다' 라는 말이다. 즉 개발자라는 직종의 수명은 짧다.
그리고 주변에서도 이런 생각을 가지고 있는 사람이 많다. 어쩔 수 없는 한국의 현실이라고 하기 전에, 왜 이런 생각이 잘못되었다고 고치자는 인식이 없는지가 답답하다.
프롬프트가 평범(?)해서 그럴지도 모르겠지만, 간혹 cat을 이용해 파일 내용을 볼 때 색상 문제로 헷갈리는 경우가 있었다. 그래서 이 cat에 문법 강조(Syntax Highlight) 기능을 추가 할 수 없나 찾아보니 몇 가지 대체방법이 있었다.
간단한 설명을 하자면, cat는 일반적으로 텍스트 파일 내용을 보기 위한 *NIX(UNIX/Linux 등등) 유틸리티이다. 물론 UNIX류의 특징 답게 그냥 보기 외에도 파이프를 통해 다른 텍스트 프로세서에 전달하는 용도로도 이용할 수도 있겠지만 일반적인 사용법이 그렇다는 이야기다.
요즘 웹이라 하면 HTML 뿐만이 아니라 CSS와 Java Script가 기본이다. 거기다 템플릿 기반의 웹개발도 일반적이다. 그래서 웹개발에 이용되는 하나의 소스 파일에는 최소한 3가지 이상의 문법이 이용된다고 볼 수 있다.
Emacs에서 하나의 버퍼는 하나의 메이저 모드만 이용 할 수 있다는 제약은 이런 웹 개발에 있어서는 좀 문제가 있는 편이다. 기본적으로 html-mode와 js-mode, css-mode 등 필요한 메이저모드는 지원되지만 개별 버퍼에 하나만 쓸 수 있다. 그래서 multi-web-mode나 Mumamo 같은 여러 모드를 섞는 특수 모드 등이 사용되기도 한다. (최하단 링크 참고)
이번에 소개하는 web-mode는 멀티 모드가 아닌 하나의 모드에서 다양한 문법의 하이라이트와 편집 기능을 지원하는 통합형(?) 메이저모드이다.