최근 수정 시각 : 2020-01-27 22:13:14

Notepad++

1. 개요2. 기능
2.1. 문법 하이라이팅2.2. 고스트 타이핑2.3. 그 외 기능
3. 기본 플러그인4. 사건사고

1. 개요

웹사이트

프랑스의 Don Ho라는 사람이 개발한 Microsoft Windows텍스트 에디터로, GNU GPL 하에 배포된다. Scintilla를 기반으로 C++ 및 순수 Win32 API로 개발되었다. 덕분에 기능이 많음에도 상당히 빠르고 가볍다.

Notepad++라는 이름은 Windows 내장 텍스트 에디터 메모장(Notepad)을 강화(++)했다는 의미에서 붙여진 이름이다. 단순 텍스트뿐만이 아니라 C++, Java프로그래밍 언어로 작성하는 프로그램의 소스코드를 편집하는 것도 지원한다. 따라서 메모장을 선호하고 IDE를 기피하는 날코딩 유저가 선호하는 편집기 중 하나이다. 더욱이 무료 프로그램임에도 불구하고 상용 코딩용 에디터인 울트라에디트, 에디트플러스 등에 밀리지 않는 기능을 제공하기 때문에 인기가 상당히 많다.

이 프로그램의 리눅스 버전으로 Notepadqq가 있다.

64비트 버전이 있긴 한데, 정작 Notepad++의 진수인 플러그인들이 64비트를 지원하는게 거의 없다. 자신이 쓰려는 플러그인이 64비트용이 있는지 반드시 확인하고, 없으면 그냥 32비트 버전을 까는 게 낫다. 다만 Plugin Manager는 2017년부터 64비트를 지원해서 지금은 많이 좋아졌다.

상단 메뉴에 Plugin Manager가 보이지 않을 경우 참고.

마스코트는 카멜레온이다.

2. 기능

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

2.1. 문법 하이라이팅

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

이하 지원하는 언어 목록. Go도 없지만, 언어에 따른 신텍스를 추가하여 사용할 수 있다. 이런 경우 테마를 사용하면 색이 엉망이 되기때문에 제대로 지원하는 언어보다는 불편함이 있다. 예를 들면 Go의 경우 #

2.2. 고스트 타이핑

자동으로 글자를 또박또박 입력한다. 매크로랑 비슷한 기능인데 별 유용성은 없고 뭔가 재밌는 연출을 보고 싶을 때 친구 깜놀 시킬 때 사용하는 기능. Notepad++을 실행할 때 추가 옵션을 입력하거나 에디터화면에서 이스터에그이름을 입력하여 드래그한 후 F1 키를 누르면 된다.
  • 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++의 가장 강력한 기능이라고 할 수 있는 온갖 나라의 인코딩을 세세하게 지원하는 기능. 인코딩 자동 선택을 지원해서 중국어일본어 등으로 적힌 텍스트 파일도 인코딩 변경 없이 제대로 열 수 있으며, 한글로 적힌 텍스트 파일도 외국 윈도우에서 제대로 열 수 있다.
  • 북마크 기능.
  • 매크로 기능.
  • 옵션을 넣어서 프로그램을 실행할 수 있다. 어떤 옵션이 있는지는 참고.
  • 함수 목록: 참고
  • 동시 편집: 커서를 여러개 만들어서 여러 줄을 동시에 편집할 수 있다. 참고.
  • 영역 편집: 마우스로 하나의 영역을 지정하여 그 영역 안을 동시에 편집하는 기능. 참고.
  • 줄바꿈 방식 선택: Windows(CR+LF)[1], Macintosh(CR)[2], Unix(LF)[3] 중에서 선택할 수 있으며, 자동으로 줄바꿈 방식을 판단해준다. 윈도우에서 작성된 파일을 유닉스에서 실행하면 파싱 오류가 나는 경우가 있고, 반대로 유닉스에서 작성된 파일을 윈도우에서 열면 줄바꿈을 인식하지 못하는 경우가 있는데[4], 이를 해결하려면 줄바꿈 방식을 변경해야 한다.

3. 기본 플러그인

64비트 Notepad++를 설치하면 MIME Tools와 Converter만 사용가능하다.
  • MIME Tools
    주로 사용하는 BASE64, HTML 엔티티 코드로 변환이 가능하다.
    예시: https://namu.wiki/w/Notepad++ → https://namu.wiki/w/Notepad%2B%2B
  • Converter
    ASCIIHEX 간 상호 변환을 할 수 있는 플러그인이다.
  • NppExport
    입력한 정보를 RTF나 HTML로 저장해주거나 클립보드로 복사해준다.
  • Plugin Manager
    Notepad++의 플러그인들을 보고, 설치할 수 있는 플러그인이며 플러그인의 설명, 안정성, 버전 등을 볼 수 있다. 다른 플러그인은 몰라도 이 플러그인은 가능하면 깔아두자. 오랫동안 기본 플러그인이었는데, 개발자가 광고가 들어가있는 게 맘에 안든다는 이유로 뺐다. 덕분에 최신버전을 설치한 유저들이 혼란을 겪었다.
  • NppFTP
    말 그대로 FTP에 있는 파일에 접근하고, 수정이 가능하게 만들어주는 플러그인이다.
    현재는 기본 플러그인에서 빠졌다.
  • Plugins Admin
    상술한 Plugin Manager를 대체하는 새로운 플러그인.

4. 사건사고

개발자의 정치성향이 굉장히 뚜렷한데, 문제는 이걸 소프트웨어에까지 적극적으로 반영시키다 보니 반대론자들로부터 해당 프로그램까지 같이 얻어맞고 있다.
  • 소스포지 광역 차단 원흉설
    중국 정부가 소스포지를 광역차단한 적이 있었는데 당시 그 사태의 원흉으로 지목된 것이 Notepad++이 걸어뒀던 베이징 올림픽 보이콧 배너였다.#[5] 물론 진짜 차단 이유는 누구도 모른다.
    이것과 관련이 있는지는 모르겠지만, 공식 홈페이지의 중국어 번역을 보면 간체자가 아닌 번체자이며, 국기 아이콘대만청천백일만지홍기이다(...). 타이완 넘버원
    최근 업데이트 된 7.7 버전에서는 아예 카멜레온 ♡ 대만 지도까지 넣어 놓았다. Notepad++ 정보에서 볼 수 있다. # 무지개 배색인 건 대만의 동성혼 법제화를 축하하는 의미.
  • 버전 6.8.9 제거
    버전 6.8.9가 크게 불안정하여 결국 개발자가 해당 릴리즈를 제거 및 철회했다. Notepad++에서 어떤 문서를 불러내고, 그 문서를 다른 프로그램에서 편집한 후 다시 Notepad++로 돌아가면 문서를 새로 읽겠냐고 질문하는데 이때 Yes를 택하면 프로그램이 죽는 문제가 있었다. 아무래도 프로그래머 사용자들이 많고, 이들이 Notepad++을 사용할 때는 외부에서 문서 수정하는 경우가 많은데[6] 그런 오류는 특히나 치명적일 수 밖에 없다. 6.8.10에서 이 문제를 해결할 것이라고 밝혔다. 7.6.5 버전도 비슷한 버그로 인해 제거되었는데, 그냥 개발자가 버전 삭제를 별로 중요하게 생각하지 않는 듯 하다.
  • 공식 홈페이지 해킹 사건
    이슬람주의자로부터 공식 홈페이지를 해킹 당한 적이 있다. 이유는 Notepad++ Je suis Charlie 에디션 때문이라는 듯.# (샤를리 엡도 총격 테러와 관련된 버전이다.)
  • 위구르 독립 지지
    버전 7.8.1의 코드네임을 Free Uyghur(위구르 독립)으로 하여 다운로드 서버가 접속되지 않는 문제가 발생하였다.


[1] MS-DOS도 동일하다. 초창기 버전에서는 Windows/DOS로 표기했으나 현 시대에 MS-DOS를 쓰는 사람이 거의 없어저인지 지금의 Windows로 표기가 바뀌었다.[2] 지금의 매킨토시(macOS)가 아닌 클래식 매킨토시(Mac OS 9)를 의미한다.[3] 리눅스, 안드로이드, macOS도 여기에 속한다.[4] 윈도우에서는 CR과 LF가 붙어있지 않으면 줄바꿈으로 인식하지 못해서 줄바꿈이 전부 무시된다.[5] 당시에는 Notepad++이 소스포지에 운영되고 있었다. 참고로 해당 배너의 내용은 중국 공산당의 검열과 통제를 까는 내용이었다.[6] 프로그램 실행 로그를 파일로 뱉도록 하고 그걸 Notepad++로 읽어서 보는 식이 많다.