난 아직도 커맨드라인이 더 편하다
대학(원)을 떠나 회사에 다닌 지도 벌써 4년이 다 되어 간다. 하지만 여전히 커맨드라인 환경(on *nix)이 몸에 더 익은 건 어쩔 수 없나 싶다. Win32 GUI 환경의 이런저런 개발 도구를 쓰긴 하지만, 정작 자주 하는 작업은 죄다 커맨드라인으로 하게 되더라.
예를 들어, 소스 코드를 수정한 후 커밋하기 까지 다음과 같은 과정을 거친다.
- 소스 트리 전체 리빌드
- 소스 트리 내의 유닛 테스트 실행
- 소스 트리 diff 보기
- 3의 결과를 보면서 커밋 로그 쓰기
이 작업을 어떻게 하느냐고?
1, 2는
msbuild build-configuration.xml /t:Clean;Build;Test
로 한다.
make clean; make test
의 느낌으로?
3은 이렇게 한다. 소스 트리 diff 보는 건 꽤 긴 시간 동안 tortoise svn 을 써왔지만, 가장 만족스러운 diff-viewer 는 vim 이다. 그래서 아래처럼 매크로를 만들어놓고 쓴다.1
svn diff –x –pbu %* | gvim -c "set ft=diff" –
이게 변경 사항 있는 부분 왔다갔다하기도 편하고, VisualStudio 나 기타 편집할 때 쓰는 툴(=vi 혹은 그에 상응하는 에디터)과도 일치해서 이런 식으로 쓴다.
4의 커밋 로그는 저거 보면서 svn commit 해서 뜨는 gvim 혹은 vim으로 작성2 한 후, 파일을 저장하면서 커밋한다.
svn 저장소가 커지면서 좀 느리다고 느낀 이후로 커맨드라인으로 최대한 이주하는게 내 방침이 되었다. 그리고 예전 같은 편안함을 다시 느끼게 되서 꽤나 만족스럽다. 역시 익숙한게 최고?
좀 과한 외삽일진 모르겠지만, 이 때 들인 노력이 얼마 안된다는 걸 생각하면, 이거 말고 다른 영역의 프로그래밍이라도, *nix 쪽에 뿌리를 둔 프로그래머라면 MS Windows 환경에서도 약간의 삽질(?)과 수고를 통해 좀 더 편안하게 작업할 수 있을 것 같다.