[[분류:문서 편집기]] ||
{{{#!wiki style="margin: -5px -10px" [[파일:Notepad++Logo.png|width=100%]]}}}|| [목차] == 개요 == [[https://notepad-plus-plus.org/|웹사이트]] [[프랑스]]의 Don Ho라는 사람이 개발한 [[Microsoft Windows]]용 [[문서 편집기]]로, [[GNU 일반 공중 사용 허가서|GNU GPL]] 하에 배포되는 [[자유 소프트웨어]]이며 [[프리웨어]]다. Scintilla를 기반으로 C++ 및 순수 Win32 API로 개발되었다. 덕분에 기능이 많음에도 상당히 빠르고 가볍다. Notepad++라는 이름은 Windows 내장 문서 편집기 [[메모장#s-2|메모장]](Notepad)을 강화(++)했다는 의미에서 붙여진 이름이다. 단순 텍스트뿐만이 아니라 [[C++]], [[Java]] 등 [[프로그래밍 언어]]로 작성하는 프로그램의 [[소스코드]]를 편집하는 것도 지원한다. 따라서 메모장을 선호하고 IDE를 기피하는 [[날코딩]] 유저가 선호하는 편집기 중 하나이다. 더욱이 무료 프로그램임에도 불구하고 상용 코딩용 에디터인 울트라에디트, [[에디트플러스]] 등에 밀리지 않는 기능을 제공하기 때문에 인기가 상당히 많다. 이 프로그램의 [[Linux|리눅스]] 버전으로 Notepadqq가 있다. [[마스코트]]는 [[카멜레온]]이다. == 기능 == 아래의 기능들은 Notepad++ 공식 홈페이지에서 소개하는 기능이다. === 문법 하이라이팅 === 프로그래밍 언어에 맞춰 각 단어에 자동으로 색을 입혀준다. 지원하는 언어가 상당히 많다. 이하 지원하는 언어 목록. [[Go(프로그래밍 언어)|Go]]도 없지만, 언어에 따른 신텍스를 추가하여 사용할 수 있다. 이런 경우 테마를 사용하면 색이 엉망이 되기때문에 제대로 지원하는 언어보다는 불편함이 있다. 예를 들면 [[Go(프로그래밍 언어)|Go]]의 경우 [[https://github.com/tlowry/npp-golang|#]] * [[액션스크립트|ActionScript]] * [[에이다#s-2|Ada]] * ASN.1 * [[ASP]] * [[어셈블리어|어셈블리]] * [[AutoIt]] * AviSynth * [[배치 파일|Batch]] * Blitz Basic * [[C(프로그래밍 언어)|C]] * [[C\#]] * [[C++]] * Caml * [[CMake]] * [[코볼|COBOL]] * [[CoffeeScript]] * Csound * [[CSS]] * [[D(프로그래밍 언어)|D]] * Diff * [[Erlang]] * escript * [[Forth]] * [[포트란|Fortran]] (고정 형식[* 칸 구분이 엄격하다.], 자유 형식) * [[BASIC|FreeBASIC]] * Gui4Cli * [[Haskell]] * [[HTML]] * [[Inno Setup]] * [[Java]] * [[JavaScript]] * [[JSON]] * [[JSP]] * KIXtart * [[LaTeX]] * [[LISP]] * [[Lua]] * [[Make|Makefile]] * [[MATLAB]] * MMIX * INI 파일 * [[MS-DOS]] 스타일: [[아스키 아트]] 및 [[ANSI]] 형태의 .nfo 파일을 보여주기 위한 형식이다. 인코딩이 OEM-US로 변경되며, 글꼴은 Courier New로 고정된다. * 일반 텍스트 * Nimrod * nnCron * [[NSIS]] * [[Objective-C]] * OScript * [[파스칼(프로그래밍 언어)|Pascal]] * [[Perl]] * [[PHP]] * [[포스트스크립트#s-2.3.1|Postscript]] * [[PowerShell]] * [[server.properties|Properties]](파일): [[마인크래프트]] 서버를 여는 데 사용되는 파일과 같은 것이다. * [[BASIC|PureBasic]] * [[Python]] * [[R(프로그래밍 언어)|R]] * Rebol * registry * 리소스 파일 * [[Ruby]] * [[Rust(프로그래밍 언어)|Rust]] * [[셸(컴퓨터)|Shell]] * [[Scheme]] * [[Smalltalk]] * SPICE * [[SQL#s-2|SQL]] * [[Swift]] * [[tcl]] * [[TeX]] * txt2tags * [[비주얼 베이직|Visual Basic]] * [[VHDL]] * [[Verilog]] * [[XML]] * [[YAML]] === 고스트 타이핑 === 자동으로 글자를 또박또박 입력한다. 매크로랑 비슷한 기능인데 별 유용성은 없고 뭔가 재밌는 연출을 보고 싶을 때 --친구 깜놀 시킬 때-- 사용하는 기능. Notepad++을 실행할 때 추가 옵션을 입력하거나 에디터화면에서 이스터에그이름을 입력하여 드래그한 후 F1 키를 누르면 된다. * {{{notepad++.exe -qn(이스터에그_이름)}}} * 이스터 에그 이름의 공백은 {{{%20}}}으로 입력해야 한다. 예: {{{-qndarth vader}}} → {{{-qndarth%20vader}}} 이스터 에그 이름을 {{{random}}}이라고 쓰면 무작위 이스터 에그가 적용된다. 이스터 에그 종류는 [[https://en.wikipedia.org/wiki/Notepad%2B%2B#Easter_egg|여기를 참고]]. * {{{notepad++.exe -qt(텍스트)}}} * 프로그램이 실행되면 해당 텍스트를 자동으로 타이핑한다. 공백은 {{{%20}}}으로 입력해야 한다. * {{{notepad++.exe -qf(파일_경로_및_이름)}}} * 해당 경로에 있는 파일의 내용을 따라서 타이핑한다. 공백은 {{{%20}}}으로 입력해야 한다. 예: {{{-qfmyfile.txt}}}, {{{-qfC:\test\myfile.txt}}} === 그 외 기능 === 아래 기능 중 좀 더 자세하게 설명하고 싶다면 위의 고스트 타이핑처럼 따로 빼내주기 바란다. * 사용자 정의 문법 하이라이팅: 지원하지 않는 언어는 사용자가 직접 문법 하이라이팅을 만들 수 있다. * PCRE 검색/교체: Perl Compatible Regular Expression 검색 및 교체를 지원한다. * GUI 커스터마이징: 환경설정을 통하여 GUI 커스터마이징을 세세하게 지원한다. * 문서 지도: [[https://notepad-plus-plus.org/features/document-map.html|참고]] * 자동 완성: 단어 및 함수, 함수의 파라메터 등의 자동 완성을 지원한다. * 탭 기능: 탭을 통하여 여러 문서를 동시에 취급할 수 있다. 요즘에는 당연한 기능이지만 이 프로그램 처음 나올 당시에는 상당한 세일즈 포인트였다. * 멀티 뷰: 여러 문서를 동시에 볼 수 있다. * 인쇄 [[WYSIWYG]]. * 확대 및 축소. * 다중 언어 환경 지원: Notepad++의 가장 강력한 기능이라고 할 수 있는 온갖 나라의 인코딩을 세세하게 지원하는 기능. 인코딩 자동 선택을 지원해서 [[중국어]]나 [[일본어]] 등으로 적힌 텍스트 파일도 인코딩 변경 없이 제대로 열 수 있으며, [[한글]]로 적힌 텍스트 파일도 외국 윈도우에서 제대로 열 수 있다. * 북마크 기능. * 매크로 기능. * 옵션을 넣어서 프로그램을 실행할 수 있다. 어떤 옵션이 있는지는 [[https://notepad-plus-plus.org/assets/images/scsh/scsh_cmdlineArguments.png|참고]]. * 함수 목록: [[https://notepad-plus-plus.org/features/function-list.html|참고]] * 동시 편집: 커서를 여러개 만들어서 여러 줄을 동시에 편집할 수 있다. [[https://notepad-plus-plus.org/features/multi-editing.html|참고]]. * 영역 편집: 마우스로 하나의 영역을 지정하여 그 영역 안을 동시에 편집하는 기능. [[https://notepad-plus-plus.org/features/column-mode-editing.html|참고]]. * 줄바꿈 방식 선택: [[Microsoft Windows|Windows]](CR+LF)[* [[MS-DOS]]도 동일하다. 초창기 버전에서는 Windows/DOS로 표기했으나 현 시대에 MS-DOS를 쓰는 사람이 거의 없어저인지 지금의 Windows로 표기가 바뀌었다.], [[Macintosh(컴퓨터)|Macintosh]](CR)[* 지금의 매킨토시([[macOS]])가 아닌 클래식 매킨토시([[Mac OS]] 9)를 의미한다.], [[유닉스|Unix]](LF)[* [[Linux|리눅스]], [[안드로이드(운영체제)|안드로이드]], [[macOS]]도 여기에 속한다.] 중에서 선택할 수 있으며, 자동으로 줄바꿈 방식을 판단해준다. 윈도우에서 작성된 파일을 유닉스에서 실행하면 파싱 오류가 나는 경우가 있고, 반대로 유닉스에서 작성된 파일을 윈도우에서 열면 줄바꿈을 인식하지 못하는 경우가 있는데[* 윈도우에서는 CR과 LF가 붙어있지 않으면 줄바꿈으로 인식하지 못해서 줄바꿈이 전부 무시된다.], 이를 해결하려면 줄바꿈 방식을 변경해야 한다. == 기본 플러그인 == * MIME Tools 주로 사용하는 [[BASE64]], [[HTML]] 엔티티 코드로 변환이 가능하다. 예시: https://namu.wiki/w/Notepad++ → https://namu.wiki/w/Notepad%2B%2B * Converter [[ASCII]]와 [[16진법|HEX]] 간 상호 변환을 할 수 있는 플러그인이다. * NppExport 입력한 정보를 RTF나 [[HTML]]로 저장해주거나 클립보드로 복사해준다. * ~~Plugin Manager~~ Notepad++의 플러그인들을 보고, 설치할 수 있는 '''플러그인'''이며 플러그인의 설명, 안정성, 버전 등을 볼 수 있다. 다른 플러그인은 몰라도 이 플러그인은 가능하면 깔아두자. 오랫동안 기본 플러그인이었는데, 개발자가 광고가 들어가있는 게 맘에 안든다는 이유로 뺐다. 덕분에 최신버전을 설치한 유저들이 혼란을 겪었다. * ~~NppFTP~~ 말 그대로 [[FTP]]에 있는 파일에 접근하고, 수정이 가능하게 만들어주는 플러그인이다. 현재는 기본 플러그인에서 빠졌다. * Plugins Admin 상술한 Plugin Manager를 대체하는 새로운 플러그인. == 사건사고 == 개발자의 정치성향([[리버럴]], [[반중]])이 굉장히 뚜렷한데, 문제는 이걸 소프트웨어에까지 적극적으로 반영시키다 보니 반대론자들로부터 해당 프로그램까지 같이 얻어맞고 있다. 그 덕분에 [[Band in China]]의 '''화이트리스트'''에 등재되기까지 했다. 그 외 인종차별 문제에 예민한지 그와 관련된 발언도 나온 바 있었으나 정치적 사상 때문에 타인의 생각을 비판한다는 점에서 많은 지적을 받았는지 결국 관련 포스팅은 대부분 내려갔다. 그런데도 중국 관련 비판은 꾸준히 나오고 이에 관한 압박에는 따로 대응이 없는 것으로 보아 딱히 남의 눈치를 봤다기 보단 본인의 소신은 강하지만 자신을 향한 지적이 온당하다 생각한다면 존중해주는 스타일이라 봐야겠다. * 소스포지 광역 차단 원흉설 중국 정부가 소스포지를 광역차단한 적이 있었는데 당시 그 사태의 원흉으로 지목된 것이 Notepad++이 걸어뒀던 베이징 올림픽 보이콧 배너였다. [[https://web.archive.org/web/20080326203742/http://notepad-plus.sourceforge.net/uk/site.htm|#]][* 당시에는 Notepad++이 소스포지에 운영되고 있었다. 참고로 해당 배너의 내용은 [[중국 공산당]]의 검열과 통제를 까는 내용이었다.] 물론 진짜 차단 이유는 누구도 모른다. 이것과 관련이 있는지는 모르겠지만, 공식 홈페이지의 [[중국어]] 번역을 보면 [[간체자]]가 아닌 [[번체자]]이며, [[국기]] [[아이콘]]도 [[대만]]의 [[청천백일만지홍기]]이다.(...) ~~[[타이완 넘버원]]~~ 7.7 버전에서는 아예 카멜레온 ♡ 대만 지도까지 넣어 놓았다. Notepad++ 정보에서 볼 수 있다. [[https://notepad-plus-plus.org/news/v77-released/|#]] 무지개 배색인 건 대만의 동성혼 법제화를 축하하는 의미. * [[도호쿠 대지진]] 때 지구촌 비판 일본에서 대지진으로 5천여 명이 사망할 때 아프리카에서는 매일매일 1만 6천여 명의 아이들이 굶어죽는다는 글귀를 보여주며 인간의 목숨 가치는 동등하다면서 --[[https://notepad-plus-plus.org/news/thing-more-important-than-japans-diaster.html|세계인들이 일본 재난에만 관심 가지는 걸 이제 그만 하고 아프리카에 관심 좀 주면 안 되겠냐고 공지사항에다 올렸다.]]---- 생각해 볼 말은 맞지만 당시 일본 재난이 현재진행형에다 [[후쿠시마 원자력 발전소 사고|인류 최악의 원전 사태]]까지 벌어진 상황이라 관심을 끌 수가 없었던 걸 생각하면 적절치 못한 발언이다. 이후 관련글은 모두 내려갔다. * 버전 6.8.9 제거 버전 6.8.9가 크게 불안정하여 결국 개발자가 해당 릴리즈를 제거 및 철회했다. Notepad++에서 어떤 문서를 불러내고, 그 문서를 다른 프로그램에서 편집한 후 다시 Notepad++로 돌아가면 문서를 새로 읽겠냐고 질문하는데 이때 Yes를 택하면 프로그램이 죽는 문제가 있었다. 아무래도 프로그래머 사용자들이 많고, 이들이 Notepad++을 사용할 때는 외부에서 문서 수정하는 경우가 많은데[* 프로그램 실행 로그를 파일로 뱉도록 하고 그걸 Notepad++로 읽어서 보는 식이 많다.] 그런 오류는 특히나 치명적일 수 밖에 없다. 6.8.10에서 이 문제를 해결할 것이라고 밝혔다. 7.6.5 버전도 비슷한 버그로 인해 제거되었는데, 그냥 개발자가 버전 삭제를 별로 중요하게 생각하지 않는 듯 하다. * 공식 홈페이지 해킹 사건 이슬람주의자로부터 공식 홈페이지를 해킹 당한 적이 있다. 이유는 Notepad++ Je suis Charlie 에디션 때문이라는 듯.[[http://www.securityweek.com/notepad-site-hacked-response-%E2%80%9Cje-suis-charlie%E2%80%9D-edition|#]] ([[샤를리 엡도 총격 테러]]와 관련된 버전이다.) * 보이콧 사태 개발자가 트윗으로 '''프랑스 [[국민연합(프랑스)|국민연합]]에 투표했다면 --[[https://twitter.com/Notepad_plus/status/673818785674080256/photo/1|Notepad++을 지워주세요]]--'''라고 발언한 것이 문제가 됐다. 물론 --[[https://notepad-plus-plus.org/news/a-propos-du-tweet-contre-fn.html|개발자가 변론한 것처럼]]-- 프로그램 못 쓰게 강제할 방법도 없기 때문에 그냥 뻘소리일 뿐이다. 이후 관련글은 모두 내려갔다. * CIA 패치 [[위키리크스]]에서 2017년 3월 7일에 공개한 자료에서 CIA 해킹툴이 Notepad++ 취약점을 [[https://wikileaks.org/ciav7p1/cms/page_26968090.html|공개]]해버려서, 이 [[보안 취약점]]을 개선해야 했다(...) * 위구르 독립 지지 버전 7.8.1의 코드네임을 Free Uyghur(위구르 독립)으로 하여 다운로드 서버가 접속되지 않는 문제가 발생하였다. * 홍콩 민주화 집회 지지 버전 7.8.9의 코드네임을 Free Hong Kong으로 하여 한달 후 홈페이지 일부와 다운로드 서버가 접속되지 않는 문제가 발생하였고, 중국 업체 브라우저(UC브라우저 등)에서 모두 차단되었다. 이에 그치지 않고 버전 7.9의 코드네임을 Free Hong Kong으로 유지하면서 이번에는 한 술 더 떠서 상단의 국민연합 사건과 동일하게 홍콩의 민주화를 지지하지 않는다면 버전 7.8.8을 사용하거나 Notepad++의 사용을 중지하면 된다고 써놓았다.[[https://notepad-plus-plus.org/news/v79-stand-with-hong-kong/|#]] * Windows XP 지원 중단 버전 7.9.3부터 XP에서 설치할 수 없다며 설치를 거부한다(...). 따라서 7.9.2가 Notepad++가 Windows XP에서 설치되는 마지막 버전이다. * [[2022 베이징 동계올림픽 보이콧]] 지지 버전 8.3의 코드네임을 Boycott Beijing 2022으로 했으며, 아예 "2022 베이징 동계올림픽이 개최되는 사실을 우리가 직접 뜯어고칠 수 없겠지만, 우리는 동계 올림픽을 '''시청하지 않거나 무시할 수 있다.'''"라고 써 놓았다. [[https://notepad-plus-plus.org/news/v83-boycott-beijing-2022/|참고(8.3)]] 이후 버전 8.3.1의 코드네임 역시 'Boycott Beijing 2022'로 유지되었으며, "이번 버전에서도 2022 베이징 동계올림픽 보이콧은 계속된다."라고 써 놓았다. [[https://notepad-plus-plus.org/news/v831-boycott-beijing-2022/|참고(8.3.1)]]