가벼움에 홀려 시작했다가 늪에 빠져버린 Notepad++ 분투기
시작은 아주 단순한 갈증이었다
솔직히 말해서, 거창한 개발 환경을 구축하려던 건 아니었다. 그냥 업무 중에 윈도우 기본 메모장을 쓰다 보면 숨이 턱턱 막히는 순간들이 있지 않은가. 로그 파일을 열었는데 줄 바꿈이 다 깨져 있거나, 수만 줄짜리 텍스트를 붙여넣었더니 프로그램이 응답 없음 상태로 뻗어버릴 때의 그 허망함. 그런 불편함을 좀 줄여보겠다고 가벼운 툴을 찾다가 결국 도달한 게 Notepad++였다. 처음 설치했을 때는 정말 신세계였다. C++로 만들어서 그런지 실행 속도가 말도 안 되게 빨랐다. ‘그래, 내가 원한 건 바로 이런 기동성이었어’라며 무릎을 탁 쳤다. 파이썬이나 자바스크립트 코드를 대충 던져놔도 구문 강조(Syntax Highlighting)가 알아서 척척 되는 걸 보면서, 이제 내 업무 효율은 수직 상승할 일만 남았다고 확신했다. 하지만 그건 아주 거대한 착각의 시작이었다.
첫 번째 삽질: “모든 걸 다 하려다 체했다”
프로그램이 가벼우면서도 확장성이 좋다는 소문을 듣고, 나는 욕심을 내기 시작했다. 이게 화근이었다. 내 PC에 무거운 IDE를 띄우기 싫다는 이유만으로 Notepad++를 완벽한 개발 환경으로 개조하려고 덤벼든 것이다. 특히 FTP 플러그인(NppFTP)을 깔아서 서버에 있는 파일을 직접 수정하려던 시도가 최악의 기술적 고비였다. 처음에는 잘 되는 것 같았다. 원격 서버에 접속해서 파일을 바로 열고 수정해서 저장하면 끝이라니! 하지만 보안 프로토콜 설정에서부터 막히기 시작했다. SFTP 연결을 시도하는데 자꾸 인증 에러가 났다. 구글링을 해서 라이브러리를 추가하고 설정값을 수십 번 바꿨다.
겨우 연결에 성공했는데, 이번에는 편집 도중 연결이 끊기면 수정하던 내용이 날아가거나 파일이 0바이트가 되는 치명적인 문제가 발생했다. 한 번은 중요한 설정 파일을 날려 먹고 식은땀을 흘리며 백업본을 찾느라 두 시간을 허비했다. 그때 깨달았다. ‘아, 이건 내가 선택을 잘못했구나.’ Notepad++는 훌륭한 편집기이지, 전문적인 원격 관리 툴이 아니었다. 도구의 본질을 무시하고 너무 많은 기능을 쑤셔 넣으려다 보니 오히려 업무를 방해하는 꼴이 된 것이다. 결국 FTP 기능은 포기하고 다시 원래의 ‘가벼운 텍스트 에디터’로 돌아가기로 했다. 여기서 첫 번째로 크게 돌아갔다.
두 번째 삽질: 예쁜 쓰레기를 만드는 시간
두 번째 시행착오는 좀 더 사소하면서도 집요했다. 바로 ‘테마와 UI 커스터마이징’이다. 기본 화면이 너무 윈도우 98 느낌이라 조금 현대적으로 바꿔보겠다고 XML 파일을 건드리기 시작했다. 다크 모드를 설정하고, 폰트를 고치고, 각 언어별 색상 조합을 하나하나 수정했다. 그런데 이게 하면 할수록 끝이 없었다. 어떤 폰트는 한글 가독성이 떨어지고, 어떤 테마는 SQL 예약어 색깔이 마음에 안 들었다.
정작 중요한 작업은 안 하고 세 시간 동안 테마 설정창만 붙잡고 있는 내 모습을 보면서 현타가 강하게 왔다. “나는 지금 뭘 하고 있는 건가?” 싶었다. 보기 좋은 떡이 먹기도 좋다지만, 이건 주객전도였다. 결국 이것저것 다 건드리다가 설정 파일이 꼬여서 프로그램 자체가 실행되지 않는 지경에 이르렀다. 기술적으로 막힌 건 아니었지만, 내 판단이 완전히 빗나간 경우였다. 결국 프로그램을 완전히 삭제하고 재설치했다. 그리고는 그냥 기본으로 제공되는 ‘Deep Black’ 테마 하나만 골라놓고 다시는 설정창을 열지 않기로 맹세했다. 가벼운 툴을 쓴다면서 내 머릿속을 무겁게 만들고 있었던 셈이다.
진짜 쓸모를 발견한, 예상치 못한 순간
그렇게 두 번의 큰 삽질을 거치고 나서야 나는 이 툴을 어떻게 써야 할지 감을 잡았다. 어느 날, 갑자기 800MB가 넘는 거대한 시스템 로그 파일에서 특정 에러 패턴을 찾아야 하는 상황이 생겼다. 평소 쓰던 VS Code는 파일을 불러오다가 메모리 부족으로 멈춰버렸다. 그때 반포기 상태로 Notepad++로 그 파일을 던졌다. 그런데 놀랍게도 순식간에 파일이 열렸다. 여기서부터 나의 진짜 ‘문제 해결’ 과정이 시작되었다.
일단 파일이 열리긴 했지만, 수백만 줄의 텍스트에서 내가 원하는 정보를 찾는 건 또 다른 문제였다. 단순히 단어를 찾는 수준이 아니라, 특정 시간대 이후에 발생한 에러 메시지만 골라내야 했다. 나는 여기서 정규표현식(Regex) 검색 기능을 활용하기로 판단했다. 처음에는 정규식 문법이 헷갈려서 엉뚱한 결과만 잔뜩 나왔다. ‘아, 이것도 그냥 노가다로 해야 하나?’ 하는 유혹이 있었지만, 이번에는 끝까지 제대로 된 방법을 찾아보기로 했다. 검색 탭에서 ‘찾기’가 아니라 ‘마크(Mark)’ 기능을 선택하고, 정규식을 정교하게 짜서 해당되는 줄에 전부 책갈피를 걸었다. 그리고 ‘책갈피가 설정되지 않은 줄 삭제’ 기능을 실행했다.
결과는 성공적이었다. 800MB짜리 쓰레기 더미가 단 몇 초 만에 내가 원하던 100여 줄의 핵심 로그로 압축되었다. VS Code에서 낑낑대며 10분 넘게 소비했던 일을 여기서는 단 1분 만에 끝낸 것이다. 이때의 쾌감은 이루 말할 수 없었다. 이 툴의 진정한 가치는 화려한 기능이나 예쁜 UI가 아니라, 압도적인 저수준 처리 능력과 군더더기 없는 텍스트 가공 능력에 있었다.
VS Code와 비교해보니 보이는 것들
사람들이 자꾸 VS Code가 있는데 왜 굳이 이걸 쓰냐고 묻는다. 나도 한때는 그렇게 생각했다. 하지만 직접 겪어보니 확실히 영역이 다르다. VS Code가 모든 장비를 갖춘 ‘풀세트 정장’ 같다면, Notepad++는 주머니에 쏙 들어가는 ‘맥가이버 칼’ 같은 느낌이다.
프로젝트 전체를 관리하고 깃(Git) 연동을 긴밀하게 해야 하는 상황에서는 당연히 VS Code가 훨씬 편하다. 하지만 단일 설정 파일을 잠깐 수정하거나, 정규식으로 텍스트를 빠르게 치환해야 하거나, 특히 저사양 환경에서 대용량 파일을 다룰 때는 Notepad++를 따라올 툴이 없다. 반대로 불편한 점도 명확하다. UI가 너무 낡았고, 플러그인 관리 시스템이 여전히 불안정하다. 최신 개발 트렌드를 따라가기에는 확실히 버거운 구석이 있다. 특히 자동 완성 기능은 다른 모던한 에디터들에 비하면 정말 기초적인 수준이라 본격적인 코딩용으로 쓰기엔 손가락이 좀 고생스럽다.
결국, 정답은 없다는 결론
긴 시행착오 끝에 내린 결론은, 이 프로그램이 내 모든 업무 불편함을 한 방에 해결해주는 마법의 지팡이는 아니라는 점이다. 여전히 어떤 기능은 쓰기 불편해서 그냥 무시하고 넘기기도 하고, 어떤 부분은 여전히 막혀서 다른 툴의 도움을 받기도 한다. CPU 자원을 적게 먹어서 친환경적이라는 홍보 문구를 보며 ‘오, 나 환경 보호 중인가?’ 하고 뻘쭘하게 웃어넘기는 여유도 생겼다.
지금도 내 작업 표시줄에는 VS Code와 Notepad++가 나란히 떠 있다. 하나로 통합하고 싶은 욕심은 버린 지 오래다. 상황에 맞춰서, 목적에 맞춰서 적재적소에 도구를 꺼내 쓰는 게 진짜 실력이라는 걸 몸소 체험하며 배웠으니까. 여전히 매크로 기능은 쓸 때마다 설정이 꼬여서 애를 먹고 있고, 어떤 인코딩 문제는 아직도 깔끔하게 해결되지 않은 채 남아 있다. 하지만 뭐 어떤가. 완벽하지 않아도 내 손에 익어가는 이 과정 자체가 이미 업무의 일부가 되어버렸는데. 아마 앞으로도 나는 이 낡고 빠른 에디터를 버리지 못하고 계속 투덜대며 쓰게 될 것 같다.
