Notepad++一些好用的特性
Notepad++是旨在替代Windows預設的notepad而生,比notepad的功能強大很多很多。
(1)Notepad++的版本:ANSI和Unicode
Notepad++有兩個版本,一個是ANSI版本,一個是UNICODE版本。
對於大多數人把Notepad++作為notepad的增強版,而需要的普通應用的話,ANSI版本和UNICODE版本,其實沒啥差別。
(2)Notepad++支援豐富的外掛
notepad++支援外掛,新增對應不同的外掛,以支援不同的功能。裡面除了一些常見的外掛之外,還有一些好玩的外掛,比如將文字讀出來的speech外掛。
(3)Notepad++特點概述
Notepad++屬於輕量級的文字編輯類軟體,比其他一些專業的文字編輯類工具,比如UltraEdit等要啟動更快,佔用資源更少,但是從功能使用等方面來說,不亞於那些專業工具,而windows預設的notepad雖然更“輕量”,但是功能就太少。所以一般用notepad++,或者另一個工具notepad2來代替notapad,同樣也代替太複雜和龐大的UltraEdit。
【notepad,notepad2,notepad++,ultraEdit比較】
根據個人對一些文字類編輯工具的使用感覺來看,notepad2比notepad++相對啟動更快,佔用資源更少,但是相對來說,功能比較少,所以,很多常用的方便的功能,還是沒法使用。而ultraEdit雖然功能多,但是太消耗資源,用起來太麻煩了,關鍵還是收費的,而notepad++是免費的。總的概括如下:
notepad:windows自帶的,佔用資源最少,啟動最快,但是功能太弱,以至於滿足需求。是免費的。
notepad2:佔用資源稍多,啟動也很快,但是功能上,沒有notepad++多,更沒有ultraEdit多。是免費的。
notepad++:佔用資源有點多,啟動要停頓一下,但是功能很強大,尤其是支援外掛模式,使得擴充套件性非常好,支援很多的其他高階功能,而且使用起來也很方便。是免費的。
ultraEdit:功能強大,但是安裝檔案很大,佔用資源多,啟動慢,而且是收費的。
因此,根據啟動速度,佔用資源,功能支援,等方面來綜合衡量,對於notepad,notepad2,notepad++,ultraEdit來說,無疑notepad++是最好的選擇了
【notepad++外掛新增方法】
方法1:可以手動去notepad++外掛的官方網站下載:
方法2.讓notepad的外掛管理器自動下載和安裝
點選:Plugins -> Plugin Manager -> Show Plugin Manager-> Avaliable一欄顯示當前可用的外掛列表,選中你要的外掛,然後點選下面的Install即可自動下載和安裝對應外掛,很是方便。
【檢視當前notepad++的版本】
檢視自己當前Notepad++是什麼版本的話,點選工具欄上的 ?-> About Notepad++,彈出對話方塊會顯示“Notepad++ v5.8.6 (ANSI)”字樣,其中(ANSI)即代表當前是ANSI版本。
1.支援語法高亮和顏色自定義
關鍵是支援的語言狂多,除了常見的c/c++,java,php,而且還支援python和xml。
而且對於xml,還支援點選關鍵字可以展開或收縮,很是方便。後來得知,這個特性叫做程式碼摺疊,囧。。。
還支援makefile,這樣對於檢視makefile檔案的的話,就很方便了。
而且甚至連一般人不常用的Tex/LaTex的語法高亮,都支援了,很強大。
對於語法高亮時顯示的顏色,也可以自定義,點選:
Settings -> Style Configurator
就可以根據自己需要配置不同的顏色了。
【自定義除預設字尾之外的其他字尾檔案為某型別檔案以實現語法高亮】
而且對於不同型別的檔案的字尾,除了預設的檔案字尾之外,設定自定義的檔案字尾,比如我遇到的,對於普通的makefile,其預設的字尾是是.mak,而我此處自己的.mk也是makefile檔案,所以可以通過這樣來設定:
Settings -> Style Configurator -> 在Language中下拉找到Makefile,選擇makefile,左下角會出現:
Default ext. 和user ext.,預設的副檔名(default extension)即字尾名.對應的是.mak,在user ext.所對應的框中填寫.mk,
然後點選右邊的 Save&Close,就可以實現notepad++自動識別.mk檔案為makefile檔案,然後引用對應的語法高亮了。
當然,如果不設定的話,單獨開啟.mk型別檔案,notepad++雖然不會自動識別,沒有語法高亮,但是也可以自己手動選擇的:
language -> M -> Makefile,即可實現同樣的功能,只是要麻煩自己每次都要手動設定而已。
2.新增hex editor外掛以支援16進位制編輯
notepad++支援新增HEX-Editor外掛以支援16進位制的檢視與編輯,很是方便。
【Hex Editor外掛的新增方法】
先通過上面的【檢視當前notepad++的版本】的方法得知你自己的notepad++是ANSI還是UNICODE方法,
然後根據上面的 【notepad++外掛新增方法】 去Notepad++外掛的官網,找到並下載對應版本的Hex Editor,把外掛檔案HexEditor.dll,放到NotePad++路徑下的 npp.5.8.6.binansiplugins資料夾裡面即可。
當前也可以通過上面介紹的外掛管理器,直接通過軟體幫你自動下載並安裝。
然後重啟notepad++,就可以在Plugins中看到對應的Hex-Editor外掛了。
值得一提的是,當前的最新版本(5.8.7)還支援了新增外掛後,對應地在工具欄上也新增一個快捷圖示,對於HexEditor來說,就是一個大寫的H的圖示,點選該圖示,即可實現16進位制檢視,再次點選,又恢復到正常模式,很是方便。
3. 支援列模式編輯
按住Alt之後,就處於列模式了,然後比如你選取一列,然後點選右鍵,選中刪除,就可以刪除那些列了,鬆掉ALT就離開了ALT恢復普通模式了。非常好用,越來越覺得notepad++牛X了,啥功能都支援啊。。。
列操作模式中的在整個列中,整個都插入一些內容的話,可以這樣操作:
Edit -> Column Editor (Alt C)
然後在Text to insert或Number to insert對應的的框中寫入要插入的內容,notepad++就會自動幫你插入整列的對應的內容了。
4.選中某單詞即關鍵字後,notepad++會自動高亮對應選中的關鍵字,對於檔案檢視來說,很是方便。
5.支援雙擊Tab標籤關閉檔案
開啟多個檔案的時候,上面會顯示對應的Tab,預設的話,雙擊Tab是不能像其他一些工具一樣關閉該檔案的,但是可以設定的:
Settings-> Preference ->General -> Tab Bar中,選中:
Double Click to close document, 然後雙擊對應檔案的tab就可以關閉檔案了。
類似地,還有個選項:show close button on each tab,選中後,每個tab上會出現關閉按鈕,也很方便使用。
6。顯示檔案行號:Settings-> Preference ->General -> Editing-> 選中Display Line Number,即可顯示行號
7.是否列印行號:Settings-> Preference ->General -> Printing-> 是否選中Printing Line Number,預設是不選的,如果需要,可以選中,這樣列印時候就可以也列印行號了,還是很方便使用者根據自己需要而去設定的。
8.編輯檔案後,是否備份:類似Ultra Editor,編輯一個檔案後,預設會生成.bak檔案的,對於notepad++來說,也是支援此功能的,不過預設是關閉的。需要的話,可以去這裡設定:Settings-> Preference ->General -> Backup/Auto-completion -> 預設是None,其他還有Simple和verbose backup,可以根據自己需要而設定。
9.自動完成功能:Settings-> Preference ->General -> Backup/Auto-completion,自動完成:Auto-Completion,可以根據自己需要而設定,預設是關閉的。
10.選中某文字,然後呼叫google搜尋:
run -> google search
除了google搜尋此項功能,於此相關類似的還有,選中文字後,呼叫其他程式或功能,比如直接呼叫wiki查詢該單詞/文字:
run -> wikipedia search
或者直接從notepad++中開啟當前檔案所在資料夾:
run -> open containing folder
從notepad++中開啟windows的cmd,並且已經處於當前資料夾:
run -> open current dir cmd
直接把該檔案作為附件,然後開啟Windows的Outlook傳送郵件
run -> send via Outlook
等等,都是非常實用好用的功能。
11.暫時隱藏某些行
如果在檢視檔案的時候,暫時覺得需要將某些行隱藏掉,在需要的時候再正常顯示,就可以先選中那些行,然後:
View -> Hide Lines
即可。然後左邊標籤那列就會顯示對應的標示,點選即可取消隱藏。
12.支援滑鼠滾輪控制縮放
notepad++不僅支援快捷鍵Ctrl + Num+/Num- 去控制縮放,而且還支援Ctrl+滑鼠滾輪去控制當前顯示內容的縮放,很是方便。
13.全屏顯示
有時候顯示文件的話,希望顯示更多的內容,希望用到全屏顯示,通過view -> Toogle Full Screen Mode F11或者Post it F12,都可以實現全屏顯示,也很是方便。
14.集成了輕量級的資源管理器
通過安裝外掛(預設好像是已經安裝了)LightExplorer後:
Plugins -> Light Explorer -> Light Explorer,就可以在左側開啟一個輕量級的資源管理器,方法開啟想要開啟的檔案,很是方便啊。
15.匯出成其他型別檔案 -> 實現彩色程式碼的貼上
在添加了對應的NppExport外掛後,就可以匯出成不同的格式,比如HTML和RTF:
plugins -> NppExport -> Export to RTF或Export to HTML
其中HTML就是普通的HTML,RTF就可以理解為簡潔版本的word,所以html和rtf,兩者都是支援彩色程式碼/字元的,因此,這個功能就可以實現我們所需要的,將已經高亮顯示,彩色顯示,著色後的程式碼,匯出到word或者其他文件中了。這樣的功能,是很實用的。至少我個人覺得很好用,比如將一些C程式碼開啟後,匯出成html,然後開啟html複製內容後貼上到word裡面,就是彩色的程式碼了。當然,你也可以匯出成rtf,然後本身就是和word相容的,windows下,也就是預設用word開啟的了,就省去了從html拷貝貼上過來的步驟了。
甚至,NppExport還提供了更方便的功能:
plugins -> NppExport -> Copy HTML to clipboard 或Copy RTF to clipboard
即,直接選擇內容後,拷貝該內容到剪貼簿,然後你就可以在其他word檔案中直接貼上了,即如此簡單地就實現了彩色程式碼的支援,多麼爽啊。
16.程式碼摺疊
包括對C/C++等程式碼,可以以單個函式為整體進行程式碼的摺疊和展開,其他的型別的,比如XML,根據關鍵字所包含的內容為整體進行摺疊和展開等等。
17.資源管理器中,右鍵點選檔案,可以直接用notepad++開啟該檔案
這個功能類似於UltraEdit,在資源管理器中添加了右鍵支援,右鍵點選某檔案後,會出現“Edit With Notepad++”,就可以直接用notepad++開啟該檔案了,個人覺得這個功能還是很實用的。
18.Ctrl+Tab實現在多個開啟的視窗間切換
19. 支援設定是否顯示列邊界(右邊線)
設定->首選項->編輯->列邊界,可以設定是否顯示列邊界,而且也支援自定義“邊界寬度”的大小,預設是100。
(注:一般Linux下面常用的是80.)
而且對於列邊界顯示模式,還支援兩種:
一種是從上到下的豎邊線:
另一種是把超過列邊界的內容加上一定的底色:
20.可以給程式碼批量新增或取消註釋
選中一段程式碼,然後:編輯 -> 註釋/取消註釋 -> 新增/刪除單行註釋,即可批量地隊選中的每一行,新增或者刪除註釋。
此功能,對於常寫程式碼的人來說,還是很實用的。
21.可以在安裝Notepad++的時候,選擇為預設的HTML編輯器
在安裝Notepad++的時候,有個選項,是可以選擇:
As Default html viewer
將其設定為預設的HTML編輯器的,
這樣,以後用瀏覽器檢視某網頁,想要檢視其html原始碼的話,右鍵點選,選擇 View Source:
就可以用Notepad++來檢視HTML原始碼了:
可以看到,其顯示出來的效果,沒有HTML高亮,可以自己手動設定一下:
語言-> H –> HTML:
就可以高亮的顯示HTML檔案了:
將Notepad++用作為HTML預設編輯器,主要適合於網路相關開發人員。
22.可以顯示回車符,換行符,TAB鍵,行首,行尾等特殊字元
Notepad++預設,也和其他編輯器一樣,是不顯示空格和TAB鍵的,不過我最近在用Notepad++寫Python指令碼過程中,常需要顯示空格鍵和TAB鍵,以避免兩者混合縮排,所以去設定了,將空格鍵和TAB鍵也顯示出來(下圖以某HTML原始碼為例):
檢視->顯示符號->顯示空格於製表符:
這樣,就可以將空格鍵顯示出來了,效果是四個橘黃色的點點,TAB鍵是右向的橘黃色箭頭。
就很方便的,很清楚的看到,哪些是空格,哪些是TAB了。
另外,可以根據需要,比如想要知道那些行,有回車換行,還是單個的回車,單個的換行等,可以設定將所有的字元都顯示出來:
檢視->顯示符號->顯示所有字元:
這樣全部的回車換行符,CR和LF等,就都可以顯示出來了。
23.可以顯示控制字元,以及插入控制字元
之前遇到的一個問題是,用python指令碼匯出某163部落格的帖子為WXR(XML檔案)但是結果匯入WXR到wordpress失敗,最後找到原因在於,WXR檔案中,存在一些控制字元,該WXR檔案效果如下:
其中包含很多DLE,ETX,EOT等控制字元,導致匯入WXR到Wordpress失敗。而此時,就依靠了Notepad++的所能夠檢視到字元中的特殊的,不可顯示的控制字元,如果換做其他普通的編輯器,比如Notepad,則無法顯示出對應的控制字元,也就無法解決問題了。
所以,越加發現,Notepad++的功能,真的是太強大了。
而後來,為了測試WXR中到底支援哪些控制字元,是不是所有的0-0×31都不支援,還是也支援一部分的控制字元,就需要輸入這些不可顯示的控制字元,後來就發現了,原來Notepad++中,也是可以輸入控制字元的:
編輯->Character Panel:
然後就調出了ASCII Insertion Panel,顯示了ASCII字元表,包括了控制字元:
這樣,雙擊ASCII Insertion Panel中任一(普通或控制)字元,比如DLE,DC1這兩個控制字元,就可以插入對應的控制字元了。而其他編輯器,好像沒看到有這麼好用的功能。
因此,不得不誇一句,Notepad++,真的是非常適合用來做文字編輯器,尤其是適合開發人員。
24.可以設定用空格取代TAB鍵
主要是有些情況下,比如寫Python指令碼的時候用到,以避免TAB鍵和空格鍵的混合縮排,其會導致Python 3.0等報錯,而讓輸入的TAB鍵,自動變成空格鍵,則自動規避了此問題。
另外,此功能,也是出於相容不同平臺,TAB鍵的寬度不同,的考慮,這樣,就可以避免不同平臺下,不會因為TAB鍵是4個空格,還是2個空格等,而導致程式碼(文字)的對齊不匹配的現象了。
25.檔案自動更新
之前不瞭解,關於檔案自動更新,原來也是可以根據需要設定不同更新模式的。
說個最實際的例子,之前用寫python指令碼,在windows的cmd中輸入指令碼去執行,執行過程中,會生成一個log檔案:xxx.log,另外每次執行不同的命令,對應的log檔案內容也會變化,而該log檔案以及對應的python指令碼xxx.py檔案,我都是用Notepad++開啟的,所以,執行完cmd中的python指令碼後,想要回來再次去編輯xxx.py檔案,就會先遇到,關於xxx.log被更新的提示:
然後點選個yes,才能去編輯我想要編輯的xxx.py檔案。
所以,每次都被這個提示框所打擾,覺得挺煩的。
後來,無意間,發現原來是可以取消此提示的:
設定->首選項->其他:
中,勾選上“自動更新檔案”,之前,每次xxx.log檔案再被修改,就會自動更新內容,而沒有了之前的跳出的那個對話方塊的提示了。
類似的,也可以通過勾選或取消”啟用“,實現開啟或關閉自動檢測檔案狀態這個功能。
或者每次更新完檔案,想要游標自動跳到檔案末尾,那麼就去選上”更新後定位到末位“。
26.查詢與替換中的一些高階用法
一般文字編輯器,都有查詢與替換,但是Notepad++的查詢與替換,功能更加值得稱讚
(1)計數
如圖所示:
當你雙擊選擇某個單詞後,本身Notepad++就會自動幫你高亮對應單詞,然後由於一些開發過程中,想要知道當前檔案,包含了多少個該單詞,即該單詞出現了多少次,此時一般方法是用上下查詢的辦法,一點點自己去數,而此處,Notepad++中的查詢對話方塊中,有個”計數“,直接點選”計數“,就可以彈出對話方塊顯示統計的結果,顯示該單詞一共出現了多少次。很是方便啊。
(2)正則表示式查詢
關於查詢和替換,一般的全詞匹配,匹配大小寫,迴圈查詢,向上/向下等功能,那是自然也具有的功能。
在此之前,還支援不同的查詢模式:
A。普通:就是按照普通字元模式去查詢
B。擴充套件:支援回車,換行等特殊字元的查詢和替換。比如,選擇此模式後,輸入的字元,\n就代表了回車,而非普通的一個反斜槓字元和一個字母n了。
C:則這表示式:這個功能,需要熟悉正則表示式的語法,不過真的需要用到,就能發揮其威力了。
27.支援多種字元編碼
對於多種編碼支援,其他編輯器,一般也支援的,但是對於像UTF-8,帶BOM和不帶BOM的區別,其他編輯器,一般還是沒有這麼詳細的區別的。另外,也支援N多種編碼格式,包括中文的GB2312。
而且,對於某種編碼的檔案,也可以自己選擇,以別的另外一種編碼去顯示。
比如我的之前遇到的某個log檔案,輸入的內容,既有UTF-8的,又有GB2312的,則可以自己設定,以UTF-8和ANSI可以分別顯示出對應的正確的內容。
以及將已有某種編碼的檔案,轉換為別的格式的,還是很方便使用的。