Notepad++ is a free and open-source text and source code editor for use with Microsoft Windows. It supports tabbed editing, which allows working with multiple open files in a single window. The product's name comes from the C postfix increment operator; it is sometimes referred to as npp or NPP.

Notepad++ is distributed as free software. At first, the project was hosted on SourceForge.net, from where it was downloaded over 28 million times and twice won the SourceForge Community Choice Award for Best Developer Tool. The project was hosted on  from 2010 to 2015; since 2015, Notepad++ has been hosted on GitHub. Notepad++ uses the Scintilla editor component.

History
Notepad++ was developed by Don Ho in September 2003. Ho first used JEXT (a Java-based text editor) at his company but, dissatisfied with its poor performance, he began to develop a text editor written in C++ with Scintilla. He developed it in his spare time since the idea was rejected by his company. Notepad++ was built as a Microsoft Windows application; the author considered, but rejected, the idea of using wxWidgets to port it to the Mac OS X and Unix platforms.

Notepad++ was first released on SourceForge on 25 November 2003, as a Windows-only application. It is based on the Scintilla editor component, and is written in C++ with only Win32 API calls using only the STL to increase performance and reduce program size.

In January 2010 the US government obliged US-based open source project hosts to deny access from Cuba, Iran, North Korea, Sudan, and Syria to comply with U.S. law. As a response to what the developer felt was a violation of the free and open-source software (FOSS) philosophy, in June 2010 Notepad++ moved out of US territorial jurisdiction by releasing a version on TuxFamily, in France. Some community services of Notepad++ (such as the forums and bug tracker) remained on SourceForge until 2015 when Notepad++ left SourceForge completely.

In 2011 Lifehacker described Notepad++ as "The Best Programming Text Editor for Windows", stating that "if you prefer a simple, lightweight, and extensible programming plain-text editor, our first choice is the free, open-source Notepad++". Lifehacker criticized its user interface, stating that "It is, in fact, fairly ugly. Luckily you can do a lot to customize its looks, and what it lacks in polish, it makes up for in functionality".

In 2014 Lifehacker readers voted Notepad++ as the "Most Popular Text Editor", with 40% of the 16,294 respondents specifying it as their most-loved editor. The Lifehacker team summarized the program as being "fast, flexible, feature-packed, and completely free".

In 2015 Stack Overflow conducted a worldwide Developer Survey, and Notepad++ was voted as the most used text editor worldwide with 34.7% of the 26,086 respondents claiming to use it daily. Stack Overflow noted that "The more things change, the more likely it is those things are written in JavaScript with NotePad++ on a Windows machine". The 2016 survey had Notepad++ at 35.6%.

In 2015, in response to the staff hijacking of projects hosted on SourceForge, Notepad++ left SourceForge completely with the forums being moved to NodeBB and the bug tracker to GitHub.

Features 
Notepad++ is a source code editor. It features syntax highlighting, code folding and limited autocompletion for programming, scripting, and markup languages, but not intelligent code completion or syntax checking. As such, it may properly highlight code written in a supported schema, but whether the syntax is internally sound or compilable, cannot be verified. As of version 7.6.3, Notepad++ can highlight the elements of 78 syntaxes:

ActionScript
Ada
ASN.1
ASP
Assembly
AutoIt
AviSynth scripts
BaanC
batch files
Blitz Basic
C
C#
C++
Caml
CMake
Cobol
CoffeeScript
Csound
CSS
D
Diff
Erlang
escript
Forth
Fortran
FreeBASIC
Gui4Cli
Haskell
HTML
INI files
Intel HEX
Inno Setup scripts
Java
JavaScript
JSON
JSP
KiXtart
LaTeX
LISP
Lua
Makefile
Matlab
MMIX
Nim
nnCron
NSIS scripts
Objective-C
OScript
Pascal
Perl
PHP
PostScript
PowerShell (Broken)
PureBasic
Python
R
Rebol
Registry script (.reg)
Resource file
Ruby
Rust
Scheme
Shell script
Smalltalk
SPICE
SQL
Swift
S-Record
Tcl
Tektronix HEX
TeX
txt2tags
Visual Basic
Visual Prolog
VHDL
Verilog
XML
YAML

The language list also displays two special-case items for ordinary plain text: "Normal text" (default)  or "MS-DOS Style", which tries to emulate DOS-era text editors.

Notepad++ has features for consuming and creating cross-platform plain text files. It recognizes three newline representations (,  and ) and can convert between them on the fly. In addition, it supports reinterpreting plain text files in various character encodings and can convert them to ASCII, UTF-8 or UCS-2. As such, it can fix plain text that seem gibberish only because their character encoding is not properly detected.

Notepad++ also has features that improve plain text editing experience in general, such as:
 Autosave
 Finding and replacing strings of text with regular expressions
 Searching text strings within opened tabs
 Searching text strings in a directory
 Guided indentation
 Line bookmarking
 Macros
 Simultaneous editing
 Split screen editing and synchronized scrolling
 Line operations, including sorting, case conversion (Uppercase, lowercase, camel case, sentence case), and removal of redundant whitespace
 Tabbed document interface

Plugins 
Notepad++ has support for macros and plugins, and has been remarked for its robust plugin architecture which enabled various new features to be integrated into the program. Currently, over 140 compatible plugins are developed for Notepad++, 10 of which are included by default in the program. The first plugin to be included in the program was "TextFX", which includes W3C validation for HTML and CSS, text sorting, character case alteration and quote handling.

Internationalization 
Notepad++ supports internationalization through XML files in an application-specific format containing all internationalized strings (dialog captions, menu titles and items, etc.) in a certain language; this file can be reloaded from the application settings. Translations to new languages can thus be written by simply editing an existing file.

Political messaging 
In March 2008, the "Boycott Beijing 2008" banner was placed on Notepad++'s SourceForge.net homepage. A few months later most users in China were unable to reach the SourceForge.net website from 26 June to 24 July 2008. This led to the widespread belief that China had banned SourceForge.net in retaliation for the Boycott banner.

In January 2015, the Notepad++ website was hacked by activists from the Fallaga Team who objected to an Easter egg endorsing Je suis Charlie. The Fallaga Team has been linked to ISIL and is also believed to be responsible for the 2017 hacking of websites of the British National Health Service.

In October 2019, Notepad++ released a version codenamed "Free Uyghur" (v7.8.1). In the release notice, the author expressed concern that hundreds of thousands of Uyghurs have been "subjected to political indoctrination, and sometimes even torture" in the Xinjiang Re-education Camp. He called for "additional pressure on the Chinese government to stop their oppressive actions and crimes concerning the Uyghur people". The software's dedicated site came under a distributed-denial-of-service attack and its GitHub issue page bombarded with nationalistic rhetoric, though it later recovered after being moved behind Cloudflare's anti-DDoS service.

In July 2020, Notepad++ released a version codenamed "Stand with Hong Kong" (v7.8.9). In the release notice, the author expressed his concern on the Chinese government implementation of the National Security Law in Hong Kong. In retaliation, Mainland Chinese browsers developed by Tencent (QQ Browser and WeChat’s built-in browser), Alibaba (UC Browser), 360 and Sogou started blocking the official site's "Download" page, but not other pages.

In early and mid-February 2022, Notepad++ released a version codenamed "Boycott Beijing 2022" (v8.3) and (v8.3.1).  In the release notice, the author expressed his concern on human rights in China, especially for Uyghurs and Hongkongers.  He suggest his audience "not watch or pay attention to the games".

In late February 2022, Notepad++ released a version codenamed "Declare variables, not war" (v8.3.2).  In the release notice, the author expressed his concern on the Russian invasion of Ukraine.  In March 2022, Notepad++ released a version codenamed "Make Apps, not war" (v8.3.3). The author continued to express his concern on the Russian invasion of Ukraine.

See also 

 Comparison of text editors
 List of text editors

Notes

References

External links 

 

2003 software
Free HTML editors
Software that uses Scintilla
Software using the GPL license
Windows text editors
Windows-only free software
Free text editors
노트패드++(Notepad++)는 문서 편집기이자 소스 코드 편집기이다. 윈도에서 기본으로 제공하는 문서 편집기인 메모장에 견주어 노트패드++는 탭 편집을 제공하므로 여러 개의 파일을 동시에 열어서 편집할 수 있다.

이 프로그램은 오픈 소스인 GPL 자유 소프트웨어로 배포된다. 이 프로젝트는 소스포지.넷에서 호스팅하여 이천칠백 만 건이 넘는 다운로드 수를 기록하였다. 그리고 소스포지.넷 커뮤니티가 선정한 최고 개발 도구상을 두 번 타기도 하였다. 2010년 6월부터는 노트패드++ 프로젝트를 TuxFamily에서 호스팅하고 있다. 노트패드++은 Scintilla 편집기 구성 요소를 사용하여 문서와 프로그래밍 언어 소스 코드 파일을 나타내고 편집한다.

기능 
일반적인 기능으로는 이를테면 다음과 같다:
 탭 문서 인터페이스
 드래그 앤드 드롭
 다중 클립보드 (플러그인 요구)
 분할 화면 편집 및 동기화된 화면 이동
 맞춤법 검사기 (아스펠 필요) (문법 검사기는 문자와 부호를 구별하지 않는다)
 국제 문자를 위한 유니코드와 같은 문자 인코딩 포맷 지원
 여러 개의 문서 안의 내용을 찾기 및 바꾸기
 파일 비교
 크기 조절

프로그래밍 

노트패드++는 세계에서 가장 대중적인 소스 코드 편집기들 가운데 하나로, 50개 이상의 프로그래밍, 스크립트, 마크업 언어에 대해 문법 강조와 코드 접기를 지원한다. 프로그래밍 관련 기능은 다음을 포함한다:
 자동 완성
 즐겨찾기
 구문 강조 및 구문 폴딩
 괄호 및 들여쓰기 강조
 정규 표현식 찾기 및 바꾸기 (펄 호환 정규 표현식, 즉 PCRE 지원)
 음성 합성
 FTP 탐색기 (표준 설치에 기본으로 제공하는 플러그인)
 매크로 저장 및 실행.
 줄 정렬, 문자 인코딩 변환, 문자 폴딩과 같은 다양한 도구
 파일 상태 자동 완성
 다중 줄 정규 표현식 검색 및 바꾸기를 위한 플러그인

노트패드++은 구문 강조와 구문 폴딩을 48개 프로그래밍, 스크립팅, 마크업 언어로 지원한다.
수정 가능한 파일 확장 결합 목록을 이용하여 파일이 사용하고 있는 언어를 자동으로 찾아낸다. 사용자는 확장 기본 언어를 따로 설정하여 수동으로 현재 언어를 설정할 수도 있다. 또, 이 프로그램은 일부 프로그래밍 언어의 API의 하부 집합을 위한 자동 완성을 지원한다.

사용자들은 구문 강조를 위해 자기 언어를 정의할 수 있고, 또 자동 완성을 위해 내장된 사용자 언어 정의 시스템을 이용하여 개별 API를 설정할 수 있다.
사용자들은 요소별로, 또 언어별로 구문 강조의 글꼴 스타일을 구성할 수 있으며 형식에 기반한 스크립트 결과물은 완전한 색으로(위지위그로) 인쇄할 수 있다.
그뿐 아니라 노트패드++은 소스 코드에 탭 문자로 들여쓰거나 괄호와 태그를 통한 강조를 할 때에 들여쓰기 가이드라인을 보여준다.

노트패드++에서는 다음의 프로그래밍 언어를 네이티브로 지원한다.:

 에이다, asp, 어셈블리, AutoIt
 배치
 C, C++, C#, Caml, Cmake, 코볼, 커피스크립트, CSS
 D, Diff
 플래시 액션스크립트, Fortran
 Gui4CLI
 하스켈, HTML
 INNO
 자바, 자바스크립트, JSP
 KiXtart
 LISP, 루아
 Makefile, Matlab, MS-DOS, INI 파일
 NSIS, 일반 텍스트 파일
 오브젝티브-C
 파스칼, 펄, PHP, 포스트스크립트, 파워셸, 프로퍼티스(Properties), 파이썬
 R, 리소스 파일, 루비
 셸, 스킴, 스몰토크, SQL
 TCL, TeX
 비주얼 베이직, VHDL, Verilog
 XML
 YAML

플러그인 
노트패드++은 매크로와 플러그인을 지원한다.
현재 27개의 공식 플러그인이 노트패드++용으로 제공되며, 또 이들은 프로그램에 기본으로 포함되어 있다.
이 프로그램에 처음 포함된 플러그인은 "TextFX"로, HTML, CSS, 문자 정렬, 대소문자 변경, 인용 관리를 위한 W3C 확인과 같은 기능이 포함되어 있다.

개발 
Scintilla 구성 요소에 기반한 이 프로젝트는 C++과 Win32 API 호출로만 작성되어 있으며, 성능을 향상시키고 프로그램 크기를 줄이기 위하여 STL만을 이용한다. 노트패드++의 목표는 CPU 전력을 덜 요구하는 효율적인 이진 파일을 이용하여 전반적인 소비 전력을 줄이는 것이다.

이용이 금지된 국가 및 비평 
2008년에 중국의 인권 문제를 지적하는 "보이콧 베이징 2008" 배너가 노트패드++의 소스포지.넷 홈페이지에 추가되었다. 이 결과 약 한 달(2008년 6월 26일 ~ 2008년 7월 24일)에 걸쳐 소스포지.넷 웹사이트 전체가 중국에 차단되었다.

2010년 1월에 미국 정부는 오픈 소스 프로젝트 호스팅이 미국 법을 준수하도록 강요하여 쿠바, 이란, 조선민주주의인민공화국, 수단, 시리아, 이렇게 5개 국가가 사이트 접속을 금지시키기도 하였다. 이러한 현상은 자유 및 오픈 소스 소프트웨어(FOSS) 철학에 위배되었기에 이에 대한 반응으로, 2010년 6월에 노트패드++은 프랑스의 TuxFamily에 버전을 공개함으로써 미국 지역 판결로부터 빠져나왔다.

참조

외부 링크 

  
  노트패드++ 소스포지 웹사이트
  공식 노트패드++ 위키
  노트패드++ 플러그인을 위한 공식 디렉터리
  리눅스에 노트패드++를 설치하는 방법
  노트패드++ 리눅스 설치 프로그램

문서 편집기
윈도우 전용 자유 소프트웨어
2003년 소프트웨어
C++로 작성된 자유 소프트웨어
GPL 라이선스 소프트웨어
윈도우 문서 편집기
자유 HTML 편집기
자유 문서 편집기