Editor

Vim

오랜 시간 함께 했고 지금도 함께 하고 있는 에디터입니다. 처음에는 vi였고, 어느샌가 Vim으로 자연스럽게 바꾸었습니다. Sublime, Atom, Coda, NotePad++, EditPlus, UltraEdit를 써보기도 했지만 결국 Vim으로 돌아왔습니다.

현재는 Vundle 플러그인 매니저를 사용해 여러 플러그인과 함께 사용하고 있습니다.

  • Solarized - 솔라라이즈드 다크 테마
  • Syntastic - 문법 검사
  • The-NERD-tree - 트리 탐색기
  • ctrlp.vim - 퍼지 파인더
  • neocomplcache - 자동 완성
  • taglist.vim - 소스 코드 브라우저
  • vim-airline/vim-airline - 탭바/상태바
  • vim-airline/vim-airline-themes - vim-airline 테마

Vim은 터미널을 통해 주로 사용하지만, VS Code, DataGrip, Xcode를 쓸 때도 플러그인을 통해 사용하기도 합니다.

Windows 10과 MacOS에서는 각각 gVim, MacVim을 쓰기도 합니다.

VS Code

Visual Studio Code

터미널에서 작업하는 것이 익숙하다 보니 Visual C++ 외에는 IDE를 거의 쓰지 않았습니다. 중간에 EclipsePhpStorm을 잠시 쓰기도 했지만 결국 Vim으로 다시 돌아왔습니다.

트위터를 통해 VS Code 알게되어 써보고 난 뒤에 매우 만족스러웠습니다. 그 이후 원격 작업이나 Docker 지원 등이 더 좋아지면서 현재는 Vim만큼 자주 쓰고 있습니다.

Terminal Emulator

GNOME Terminal

터미널은 항시 고민을 하게 만드는 도구였습니다. 지금도 그렇습니다. 예전에는 xterm, hanterm을 썼고, 그 뒤로 다양한 터미널 에뮬레이터를 써왔습니다.

한동안 Linux에서는 GNOME Terminal, Windows에서는 iPutty, MacOS에서는 iTerm을 써오다, 최근 Windows 10에서는 Windows Terminal을 MacOS에서는 iTerm2를 쓰고 있습니다.

iTerm2 평소 쓰는 OS가 여러 종류이다 보니 터미널 에뮬레이터를 통일시키기 위해 Hyper, kitty, Alacritty 등도 시도를 해보았지만, 폰트/테마 지원 등의 이유로 아직까지 각 OS 마다 서로 다른 터미널 에뮬레이터를 쓰고 있습니다.

iOS, iPadOS에서는 Terminus 무료 버전을 사용 중입니다.

Toolbox

개발 과정에서 유용하게 쓰고 있는 작은 도구가 몇개 있습니다.

Ack

ack는 소스 코드 검색에 특화된 grep입니다. grep을 쓸 때 보다 빠르고 정확하게 찾을 수 있어 매우 유용하게 사용 중입니다.

Grip

gripGitHub Flavored Markdown 형식의 마크다운(Markdown) 문서의 프리뷰(Preview)를 웹브라우저로 확인 해 볼 수 있게 해주는 도구입니다. 마크다운 문서를 에디터로 열어 바로 볼 수도 있지만, 비개발자가 보기에는 조금 난해해 보일 수도 있고 렌더링을 하는 것이 좀 더 예쁘기 때문에 grip으로 렌더링한 후 웹브라우저의 결과물을 저장하여 전달하고 있습니다.

ApiDoc

apidoc은 RESTful API 사용법을 정리하여 사내 공유하기 위해 사용 중입니다. 다른 좋은 도구들도 많지만 다소 방대한 느낌이어서 작고 가벼우면서도 소스 코드 안에 주석으로 적는 apidoc을 선택하였습니다.

fzf

fzf는 CLI를 사용 할 때 유용한 파인더(finder)입니다. 기본적인 사용 방법만으로도 유용하게 사용 중입니다.

Fonts

DOS와 Windows 95 시절에는 샘물체라는 폰트를 썼습니다. 그뒤로 한동안 Fixedsys와 Courier New를 섞어쓰다, 본격적으로 개발 환경을 리눅스로 옮기면서 Ubuntu Mono, Bitstream Vera Sans Mono를 사용 했습니다.

그 뒤로 Bitstream Vera Sans Mono Font와 맑은고딕을 합친 폰트를 꽤 오래 써왔지만 임의로 두 폰트를 합쳐서 만들었기에 Powerline fonts와 함께 사용하는데 어려움이 있어, 현재는 DejaVu Sans Mono for Powerline를 주로 쓰면서 보조적으로 Noto Sans Mono CJK KR을 사용 중입니다.

DejaVu Sans Mono for Powerline

근래 터미널 에뮬레이터의 경우 Unicode에 없는 글자를 만나면 별도의 글꼴에서 해당 글자를 찾는 기능을 지원하는 경우가 많아서 Noto Sans 폰트를 통해 글자가 안 나오는 문제를 방지 할 수 있습니다.

Shell

상당 기간 동안 bash를 썼지만 MacOS 기본 셸이 zsh로 바뀌면서 Windows(WSL)과 Ubuntu에서도 zsh을 기본셸로 사용 중입니다.

bash를 사용했을 때는 다수의 설정 파일들을 로그인 때 읽어들이도록 했고, 이를 관리하는 것이 다소 번거로웠습니다. zsh를 쓰면서 Oh My Zsh를 통해 .zshrc 파일 하나에 설정을 통합하여 관리하고 있습니다.

Oh My Zsh

Oh My Zsh 테마는 기본값인 agnoster를 사용 중입니다. 다른 멋진 테마들도 많았지만 agnoster로도 충분하다 느꼈기 때문입니다.

Theme

Solarized

예전에는 에디터나 IDE가 기본 제공하는 테마 중 하나를 선택하여 사용했지만 도구가 늘어나면서 통일감을 얻기 위해 Solarized Dark를 사용 중입니다.

Solarized Dark는 에디터, 터미널 에뮬레이터, IDE 등에서 공식적으로 지원하는 경우가 많기도 하고, 비공식적인 패치도 많이 나와있어 테마 적용에 큰 어려움이 없습니다.