Notepad++是Windows環境下的一款編輯器。比起VSCode等現代編輯器,Notepad++同樣具備很多功能。Notepad++一個特點就是輕巧,方便在Windows環境中使用,且編輯功能強大。本文主要介紹Notepad++的配置過
程和一些使用技巧。
切入正題前先扯淡
我使用Noteapd++的理由:
為什么不用Dev-C++,大家不知道Dev-C++打中文注釋時候,他自動給你往后面塞了一個空格嗎,不知道Dev-C++經常會崩潰嗎,不知道Dev-C++在不斷撤銷時候經常出鍋嗎,相比之下Notepad++更穩定
為什么不用VSCode,
我感覺VSCode太高大上了,本蒟蒻用不起懶得配置那么多在Windows下,我感覺Notepad++是一個很棒的軟件
所以我選擇了Notepad++
下面是正題
一、安裝
安裝:打開Notepad++官網。進入下載頁面。如果官網上不去,大家可以使用搜索引擎的快照功能。
為了方便這里直接給出官方下載地址32位下載地址。64位下載地址。(Notepad++ 7.5.8的安裝包,如有更新請在下載頁面查看)
下載下來安裝包之后就是安裝啦,相信大家都會的。注意如果你需要把Notepad++安裝在U盤里,請選擇"don't use %APPDATA%"來把所有配置文件放在程序目錄下。
下載后的安裝包只有不到5MiB,比起VSCode精簡多了(安裝后也只有10MiB多一點)
打開安裝包
然后OK,下一步,注意這里有一個Localization沒有選擇,這個Localization指的是多國語言,選不選隨便。
如果你要把Notepad++安裝到可移動存儲設備(說白了就是U盤,移動硬盤),請把Don' t use %APPDATA%
選擇。這樣Notepad++會把所有配置文件都和主程序放在一起。
第二個不用管。第三個是桌面圖標大家都懂的
完結撒花!
二、C++ 開發環境配置
和別的多功能編輯器一樣,Notepad++也可以編輯多種文件,支持多種語言的代碼高亮。然鵝我們是要用Notepad++寫程序,所以要配置一下開發環境,比如編譯器(透徹器)什么的
1.配置Notepad++
打開Notepad++,會發現默認是Courier New字體,而Windows較高版本代碼字體選擇Consolas字體會更漂亮(透徹)。選擇菜單\(\rightarrow\)設置\(\rightarrow\)語言格式設置,把字體名稱改為Consolas(如圖),再把下面的“使用全局字體”選擇上即可把字體設置為Consolas。相似地,在這里可以調整任意語言的代碼高亮格式。在這里可以調整各種字體設置。
我們再打開設置\(\rightarrow\)首選項,里面有一些常用選項。其中建議把“新建”中默認語言改為C++。“新建”中編碼可以改為GB2312,這樣我們新建的文件的文字編碼就是GB2312了。(由於Dev-C++坑爹,只識別GB2312編碼,如果編碼設為UTF-8,中文在Dev-C++上無法正常顯示,而且程序編譯時候需要開啟某開關否則無法正常顯示)
2.安裝編譯器
(已安裝MinGW並配置path的同學可以跳過本步驟)
首先是下載編譯器。如果我們已經安裝了Dev-C++這類自帶編譯器的IDE,下載編譯器這一步可以跳過。作為OIer,在Windows平台上我們一般使用MinGW編譯器,可以在這里獲得,64位平台建議使用MinGW-w64,官網在這里。下載后選擇gcc系列安裝就行了。
然后需要配置下path,這樣就可以直接在command prompt中輸入g++運行了。Windows 7的環境變量配置很坑爹,Windows 10的環境變量配置比較便捷,但是大體步驟還是一樣的,這里分別介紹一下。(Windows XP的環境變量Path配置可以自己百度一下)
我們先找到g++的路徑(一般是在編譯器安裝路徑\bin里,如果是Dev-C++,就在Dev-C++安裝路徑內的MinGW\bin里),把絕對路徑復制到剪貼板。
Windows 7:
桌面/開始菜單\(\rightarrow\)計算機上右鍵\(\rightarrow\)屬性\(\rightarrow\)高級系統設置\(\rightarrow\)環境變量\(\rightarrow\)系統變量里的變量Path,編輯系統變量,在后面追加一個剛才復制的絕對路徑。注意要加上分號分割。這里面變量值可能有點多,可以先復制到Notepad++里再編輯以防止編輯錯誤(如果編輯錯誤就GG了,這里要謹慎小心)
Windows 10:
Windows 10的配置方式其實和Windows 7差不太多,只是更方便了。打開桌面/開始菜單\(\rightarrow\)計算機上右鍵\(\rightarrow\)屬性\(\rightarrow\)高級系統設置\(\rightarrow\)環境變量\(\rightarrow\)系統變量里的變量PATH,這里的配置是按照一個路徑一個路徑地列出來了,而不是全擠到一起了,更直觀,也就更不容易出錯
這里給出一張Windows7和一張Windows10的圖。注意是編輯變量Path
,而不是新建一個變量
這樣我們的g++的環境變量就配置好了。按Win+R
輸入cmd
調出命令提示符,輸入g++,如果提示g++: fatal error: no input files compilation terminated.
,那么我們的安裝g++並配置path就陳宮了。如果你看到g++ 不是內部或外部.....
的東西那么g++就沒有成功安裝或配置環境變量。
3.安裝NppExec
NppExec是可以直接在Notepad++編輯器里運行命令和程序的插件。我們可以利用Nppexec可以調用g++編譯程序,執行程序。在SOURCEFORGE可以下載到NppExec的最新版(注意要對應Notepad++的位數下載,如果你的電腦是64位的但是安裝了32位的Notepad++,應該下載32位的Nppexec)
下載之后解壓。在Notepad++里選擇設置\(\rightarrow\)導入\(\rightarrow\)導入插件,並選擇解壓后出來的DLL文件,這樣NppEcec就成功地安裝了。
4.配置命令
安裝完NppExec后即可配置命令。選擇插件->NppExec->Excute,在里面新增加一條命令並命名為C++ Compile
:
npp_save
g++ "$(FULL_CURRENT_PATH)" -g -Wall -std=c++98 -fexec-charset=GBK -o "$(CURRENT_DIRECTORY)\$(NAME_PART).exe"
這里解釋一下這兩條命令是什么意思。npp_save
就是保存當前文件,為編譯做准備。$(FULL_CURRENT_PATH)
是當前打開文件的完整絕對路徑,$(CURRENT_DIRECTORY)
是當前打開文件所在文件夾的絕對路徑,$(NAME_PART)
是當前文件的名稱部分(去掉后綴名)。-g
是生成調試信息(如果不需要使用gdb調試可以關閉這個開關),-Wall
是產生全部警告信息,-std=c++98
(這個某cjh大佬看着可能不適應)是指定語言標准,可以改為c++11
等。最重要的是-fexec-charset=GBK
,當你的文檔格式是UTF-8且包含中文時應該開啟此選項,當你的文檔格式是GB2312且包含中文則不應該改期此選項,這個選項是用來解決編碼問題的。當然大家可以自己寫g++的編譯命令,適應自己的需求。
然后再新建一條命令命名為C++ Run
:
cmd /c (cd /d "$(CURRENT_DIRECTORY)" & start ConsolePauser "$(CURRENT_DIRECTORY)\$(NAME_PART).exe")
注意這里本來是可以使用下面的Console的,但是我在下面的Console調試程序的時候經常出鍋,並且為了達到和Dev-C++類似的效果,這里借用了Dev-C++的ConsolePauser。Dev-C++的ConsolePauser就附在Dev-C++的安裝目錄下,為了使用我們把它復制到g++所在的目錄中方便調用。如果你不想復制,你可以把上面的ConsolePauser改為絕對路徑。
如果你喜歡用gdb調試,你也可以加一條C++ Debug
,調用gdb,這里就省略了
5.配置熱鍵
打開菜單欄\(\rightarrow\)宏\(\rightarrow\)管理快捷鍵菜單,選擇插件命令,找到你剛才配置的兩個命令---C++ Compile
和C++ Run
,點快捷鍵一欄即可為他們配置快捷鍵。此處可以隨意配置,個人建議將C++ Compile
配置為F9
,C++ Run
配置為F10
,這符合Dev-C++的習慣(一些省份NOIP可以使用Windows,Windows上有Dev-C++),還有是這兩個按鍵不會引起熱鍵沖突。如果你還想配置"編譯運行"、"調試"等命令,配制方法和上面差不了多少,這里不再闡述。
6.編寫代碼
此時Ctrl+N
新建一個文檔,敲一發Hello World(for dalao:動態樹),保存(注意這里一定要寫全.cpp
,因為Notepad++一個坑爹的設置,如果不寫文件名,它默認是.h
,g++可編譯,但是生成的不是exe格式),編譯運行。如果你的代碼成功運行了,那么就配置成功了!以后就可以嗨皮地使用Notepad++寫代碼了!
三、玩轉Notepad++
作為一款輕量級編輯器,Notepad++還是有很多方便之處的。這里就xjb簡單地介紹幾個,大家有興趣可以自己玩玩。這里不涉及太高深的東西,因為作為oier,用它敲敲代碼也就夠了。(反正我知道你看到這里還是沒有興趣用的Emm)
1.文字編碼
你還在為"錕斤拷"之類的亂碼發愁嗎?有了Notepad++,你再也看不到這種亂碼了。Notepad++會在右下角現實當前文本編碼。Notepad++的默認打開為UTF-8(你可以在首選項里更改默認編碼),在菜單欄的”編碼“中,你可以更改打開編碼(為了看到奇怪的亂碼?),或者是重新編碼。如果你選擇了UTF-8,而UTF-8無法識別,Notepad++會以16進制的字符保留在原文中,而不會替換為EFBFBD
,也就是我們熟知的錕斤拷亂碼。
怕有些同學不了解,這里xjb補充一點文字編碼的知識(你就當做扯淡就行了)。在中國有兩種通用的漢字編碼:GB2312和UTF-8,前者是中國的國標,一個中文字符占2字節,后者是國際上的標准,大部分中文字符占3字節。如果直接用一種編碼打開另一種文件,會造成亂碼的問題。用GB2312編碼打開UTF-8文件,會導致出現
“文言文”現象;用UTF-8打開GB2312文件,會出現一堆"問號"。此時如果你保存文件,再用原來的GB2312編碼打開文件,這時候不會出現原來的正常文字,而是錕斤拷錕斤拷,因為UTF-8識別文字時候,要識別連續1的數量,如果文字編碼不符合UTF-8的規定,UTF-8會統一替換成EFBFBD
,2個EFBFBD
合並在一起,用GB2312編碼打開,即為錕--EFBF
;斤--BDEF
;拷--BFBD
。
2.行尾序列
當你從某谷下載測試數據后,你想知道哪里出了鍋,但是總是“本機AC,提交??E",這時候如果你用了字符讀入處理方式,你要檢查是否是數據的行尾序列出了問題。Notepad++會在右下角顯示行尾序列,雙擊就可以更改行尾序列。麻麻再也不用擔心Windows和Linux下的換行問題啦。
3.顯示所有字符
在普通模式下,我們眼看肯定是看不見縮進使用了Tab還是空格,行尾序列是CR LF還是LF。Notepad++提供了顯示所有字符的選項,他就位於工具欄的"¶"符號。點一下它,文本編輯區域瞬間雜亂無章就顯示出了所有的空字符,回車,空格,制表符都盡收眼底。眾所周知的是某谷的代碼中所有的制表符都會被替換為空格。如果我們想把所有4個空格再換成制表符,(這里其實可以用AStyle)只需要Ctrl+F,找到替換,在上面輸入4個空格,在下面打一個制表符,點確定,所有四個空格就被統一格式化為制表符了。
4.測試數據文件
我們在調試代碼時候,有時候會從某谷上下載測試數據文件,但是有時候一下載就是幾十M的樣例輸入。如果用Windows的自帶的記事本打開,記事本肯定會崩掉,而我們可以用Notepad++打開,Notepad++用了一些玄學的處理方法,即使打開幾十M,甚至幾百M的文本文件都能快速,安全地打開。我們只需要右擊文件,選擇Edit with Notepad++
。同時,我們可以在設置\(\rightarrow\)首選項\(\rightarrow\)文件關聯中關聯.in
和.out
文件,選擇customize
,將.in
和.out
加入注冊的擴展名,這樣測試數據直接雙擊就可以打開。
5.宏
在Notepad++中,如果你需要對一段文本/多個文件進行同樣的操作(而且還是跨行的,還要刪除),你不用每次都Ctrl+C,Ctrl+V,delete,你只需要做一次這個事情,並錄制一個宏,在其它文件里播放宏,這些操作即可自動完成。我們也可以把宏設置為缺省源,並設置快捷鍵,每次就不用再打代碼框架了。
6.插件
除了NppExec外,還有很多優秀的插件可以使用,比如現在最新版的Notepad++配置的插件Converter
,可以將ASCII和16進制互轉,在Conversion Panel內可以顯示ASCII代表的字符和對應的10/16/2/8進制。另外在菜單欄編輯\(\rightarrow\)字符面板里也可以查看ASCII對應的字符。更多的插件,例如NppAstyle大家可以自己搜一搜。如果你有興趣,你也可以自己開發插件,這里不在闡述
7.自定義語言
在Notepad++里,你可以自定義你的代碼高亮風格,你甚至可以自定義語言。例如Notepad++內沒有內置markdown的高亮,我們可以自己定義一個markdown語言。在菜單欄的語言\(\rightarrow\)自定義語言格式中,可以自定義語言。自定義markdown的步驟留給大家自己透徹,這里不在闡述
8.其它編輯操作
在菜單\(\rightarrow\)編輯里隱藏着我們不知道的一些編輯操作,這里有各種超神級編輯操作,你甚至可以對整數進行排序!
9.彩蛋!
上面八個不看,這個也要看看吧。Notepad++里有一個小彩蛋。在編輯區輸入文本random
並選中,按F1,會出現新窗口隨機的一段文字。這些文字可以在github的源碼中找到。另外,點菜單欄問號下的命令行參數,其中有一個ghost typing,也就是自動打字,也有這個效果,大家可以在命令行測試一下。具體大家可以看命令行幫助。
Notepad++作為一款輕量級編輯器,雖然功能上沒有VSCode、Sublime等現代編輯器強大,但是像我這種懶得用VSCode的,又不喜歡用Dev的,Notepad++是一個不錯的選擇。
以上是Notepad++的基本配置方法和一些亂搞方法,感謝閱讀
鳴謝:cnblogs的圖床;機房的Windows7和宿舍的Windows10配合我截圖;Notepad++的開發者