Notepad++

홈페이지

1 개요

GNU GPL 텍스트 편집 프로그램. 단순 텍스트뿐만이 아니라 C++, Java 등 프로그래밍 언어도 지원한다. Scintilla를 기반으로 C++ 및 순수 Win32 API로 개발되었다. 덕분에 기능이 많음에도 상당히 빠르고 가볍다. 지원하는 운영체제는 Microsoft Windows이며, 개발자는 Don Ho.

2 기능

아래의 기능들은 Notepad++ 공식 홈페이지에서 소개하는 기능이다.

2.1 문법 하이라이팅

프로그래밍 언어에 맞춰 각 단어에 자동으로 색을 입혀준다. 지원하는 언어가 흠좀무하게 많다.

2.1.1 지원하는 언어

2.2 고스트 타이핑

자동으로 글자를 또박또박 입력한다. 매크로랑 비슷한 기능인데 별 유용성은 없고 뭔가 재밌는 연출을 보고 싶을 때친구 깜놀 시킬 때 사용하는 기능. GUI 상태로는 사용할 수 없고 Notepad++을 실행할 때 추가 옵션을 입력해줘야 한다.

  • notepad++.exe -qn(이스터에그_이름)
    • 이스터 에그 이름의 공백은 %20으로 입력해야 한다. 예: -qndarth vader → -qndarth%20vader
이스터 에그 이름을 random이라고 쓰면 무작위 이스터 에그가 적용된다.
이스터 에그 종류는 여기를 참고.
  • notepad++.exe -qt(텍스트)
    • 프로그램이 실행되면 해당 텍스트를 자동으로 타이핑한다. 공백은 %20으로 입력해야 한다.
  • notepad++.exe -qf(파일_경로_및_이름)
    • 해당 경로에 있는 파일의 내용을 따라서 타이핑한다. 공백은 %20으로 입력해야 한다. 예: -qfmyfile.txt, -qfC:\test\myfile.txt

2.3 그 외 기능

아래 기능 중 좀 더 자세하게 설명하고 싶다면 위의 고스트 타이핑처럼 따로 빼내주시기 바랍니다.

  • 사용자 정의 문법 하이라이팅: 지원하지 않는 언어는 사용자가 직접 문법 하이라이팅을 만들 수 있다.
  • PCRE 검색/교체: Perl Compatible Regular Expression 검색 및 교체를 지원한다.
  • GUI 커스터마이징: 환경설정을 통하여 GUI 커스터마이징을 세세하게 지원한다.
  • 문서 지도: 참고
  • 자동 완성: 단어 및 함수, 함수의 파라메터 등의 자동 완성을 지원한다.
  • 탭 기능: 탭을 통하여 여러 문서를 동시에 취급할 수 있다. 요즘에는 당연한 기능이지만 이 프로그램 처음 나올 당시에는 상당한 세일즈 포인트였다.
  • 멀티 뷰: 여러 문서를 동시에 볼 수 있다.
  • 인쇄 WYSIWYG.
  • 확대 및 축소.
  • 다중 언어 환경 지원: Notepad++의 가장 강력한 기능이라고 할 수 있는 온갖 나라의 인코딩을 세세하게 지원하는 기능.
  • 북마크 기능.
  • 매크로 기능.
  • 옵션을 넣어서 프로그램을 실행할 수 있다. 어떤 옵션이 있는지는 참고.
  • 함수 목록: 참고
  • 동시 편집: 커서를 여러개 만들어서 여러 줄을 동시에 편집할 수 있다. 참고.
  • 영역 편집: 마우스로 하나의 영역을 지정하여 그 영역 안을 동시에 편집하는 기능. 참고.

3 기본 플러그인

3.1 MIME Tools

주로 사용하는 Base64, HTML 엔티티 코드[3]로 변환이 가능하다.

3.2 Converter

ASCIIHEX 간 상호 변환을 할 수 있는 플러그인이다.

3.3 NppExport

입력한 정보를 RTFHTML로 저장해주거나 클립보드로 복사해준다.

3.4 Plugin Manager

Notepad++의 플러그인들을 보고, 설치할 수 있는 플러그인이며 플러그인의 설명, 안정성, 버전 등을 볼 수 있다. 다른 플러그인은 몰라도 이 플러그인은 가능하면 깔아두자.

3.5 NppFTP

말 그대로 FTP에 있는 파일에 접근하고, 수정이 가능하게 만들어주는 플러그인이다.

4 여담

일부는 이 프로그램의 개발자에 관한 여담이다. 정치성향이 강한 개발자 덕택에 반대론자들로부터 해당 프로그램까지 같이 얻어맞고 있다.

4.1 소스포지 광역 차단 원흉설

중국 정부가 소스포지를 광역차단한 적이 있었는데 당시 그 사태의 원흉으로 지목된 것이 Notepad++이 걸어뒀던[4] 베이징 올림픽 보이콧 배너였다.# 물론 진짜 차단 이유는 누구도 모른다. 하지만 지목할 만한 용의자는 그것 하나 밖에 없다는 게 함정.

4.2 도호쿠 대지진 때 지구촌 비판

일본에서 대지진으로 5천여 명이 사망할 때 아프리카에서는 매일매일 1만 6천여 명의 아이들이 굶어죽는다는 글귀를 보여주며 인간의 목숨 가치는 동등하다면서 세계인들이 일본 재난에만 관심 가지는 걸 이제 그만 하고 아프리카에 관심 좀 주면 안 되겠냐고 공지사항에다 올렸다. 생각해 볼 말은 맞지만 당시 일본 재난이 현재진행형에다 인류 최악의 원전 사태까지 벌어진 상황이라 관심을 끌 수가 없었던 걸 생각하면 적절치 못한 발언이다.

4.3 버전 6.8.9 제거

버전 6.8.9가 크게 불안정하여 결국 개발자가 해당 릴리즈를 제거 및 철회했다. Notepad++에서 어떤 문서를 불러내고, 그 문서를 다른 프로그램에서 편집한 후 다시 Notepad++로 돌아가면 문서를 새로 읽겠냐고 질문하는데 이때 Yes를 택하면 프로그램이 죽는 문제가 있었다. 아무래도 프로그래머 사용자들이 많고, 이들이 Notepad++을 사용할 때는 외부에서 문서 수정하는 경우가 많은데[5] 그런 오류는 특히나 치명적일 수 밖에 없다. 6.8.10에서 이 문제를 해결할 것이라고 밝혔다.

4.4 공식 홈페이지 해킹 사건

이슬람주의자로부터 공식 홈페이지를 해킹 당한 적이 있다. 이유는 Notepad++ Je suis Charlie 에디션 때문이라는 듯.# (샤를리 엡도 총격 테러의 그것 맞다.)

4.5 보이콧 사태

트인낭

개발자가 트윗으로 프랑스 국민전선에 투표했다면 Notepad++을 지워주세요라고 발언한 것이 문제가 됐다. 물론 개발자가 변론한 것처럼 프로그램 못 쓰게 강제할 방법도 없기 때문에 그냥 뻘소리일 뿐이다. 하지만 Notepad++ 자체가 워낙 메이저한 물건이다보니 일부 사람들로부터 프로그램 유명세를 정치적 수단에 이용한다는 비난을 받고 있다. 심지어 Notepad++을 사용하지 말자는 얘기까지 나오자 개발자가 공식홈에다 변론을 올린 것. 참고로 개발자가 국민전선을 깐 건 어제오늘 일이 아니다.
  1. 어떤 기능인지 정확히 아는 분은 수정 바람. 여담으로 이 언어로 설정하면 한글이 깨지며, 인코딩을 바꿔야 정상으로 돌아온다.
  2. 마인크래프트 서버를 여는 데 사용되는 파일을 생각했다면 그게 맞다!
  3. 예시: https://namu.wiki/w/Notepad%2B%2B
  4. 당시에는 Notepad++이 소스포지에 운영되고 있었다.
  5. 프로그램 실행 로그를 파일로 뱉도록 하고 그걸 Notepad++로 읽어서 보는 식이 많다.