大學開始就一直使用Notepad++ 作為代碼編輯器,喜歡它的簡潔明了,喜歡它的個性,也喜歡它各種各樣騷氣的插件.
今天閑來無事,寫篇文章記錄一下平時使用的種種,包括但不限於個性化使用一些宏,快捷鍵,相關的命令以及一些個人用的比較多的插件.
本人平時代碼最多的也是Python-web相關方面的代碼編寫,所以這里着重(或者是主要)介紹一些如何將Notepad++打造的適合Python開發.
Notepad++
簡介,看看它的主頁就明白了
貼一段百科上面的介紹(via):
Notepad++是一套非常有特色的自由軟件的純文字編輯器(許可證:GPL),有完整的中文化接口及支持多國語言編寫的功能(UTF8 技術)。它的功能比 Windows 中的 Notepad(記事本)強大,除了可以用來制作一般的純文字說明文件,也十分適合當作編寫電腦程序的編輯器。Notepad++ 不僅有語法高亮度顯示,也有語法折疊功能,並且支持宏以及擴充基本功能的外掛模組。
Notepad++是一款非常有特色的編輯器,是開源軟件,可以免費使用,自帶中文。支持的語言: C, C++ , Java ,pascal, C#,XML,SQL,Ada, HTML, PHP, ASP, AutoIt, 匯編, DOS批處理, Caml, COBOL, Cmake, CSS, D, Diff, ActionScript, Fortran, Gui4Cli, HTML, Haskell, INNO, JSP, KIXtart, LISP, Lua, Make處理(Makefile), Matlab, INI文件, MS-DOS Style, NSIS, Normal text, Objective-C, Pascal,Python, Javascript,VerilogHaskellInnoSetupCMake,
VHDLAdaCaml、AutoItKiXtart、Matlab
關於各種編輯器的比較什么的,這里我也不說些什么,沒有深入的使用,不方便發表什么評論.
假設親愛的你已經自己將軟件安裝完畢,我們接下來來做一些相關的設定.
Npp(notepad++的簡稱,后文若不作說明,皆是指Notepad++)的設置
默認的設置是哪些,有哪些變動我現在也記不清了,直接把自己的一些設定截圖放上來就OK,需要的就比對查閱一下
設置>首選項>常用:
設置>首選項>編輯:
邊界寬度80,這也是有歷史原因的(屏幕不夠寬,限定在80的話代碼就不會斷行顯示),這樣便於代碼閱讀.
設置>首選項>制表符的設置:
選定python,將使用默認值去掉勾選,然后設定制表符寬度為4(關於制表符寬度,可以參考一下Python的PEP-8).
Python對於縮進是有嚴格的要求的,用4個空格代替Tab基本上是標准(反正我是信了).
同樣的,你也可以順手將[Default]項中的制表符寬度設定一下.
設置>首選項>自動完成:
幾個括號自動完成確實是能省不少事,單詞和函數自動完成也是不錯的(從第3個字符開始,免得輸入一個單詞就開始提示,這樣提示也未免太頻繁了…)
Notepad++支持保存當前的工作到文件,下次直接點擊文件就能還原到之前的工作狀態(當然,關閉了下次打開也會恢復到最后一次的工作狀態).為自己的會話文件注冊一個好記好用的后綴名.
Npp快捷鍵設定
為碼農准備的編輯器都會有各式各樣的快捷鍵設定,npp也不例外.關於npp的快捷鍵設定,大體上分為以下幾類
1俗成的常用快捷鍵,像Ctrl+C/V/A/X等等的一系列地球人都知道的快捷鍵.
2定義的各種宏並為之注冊的快捷鍵
這里我需要推薦一下的就是Alt+Shift+S ,與Ctrl+S(保存)不同是在於,該快捷鍵多做了一個保存前刪除所有多余的空格的命令.是我最喜歡的快捷鍵之一,基本上代替了Ctrl+S了.~圖中也有作者自己注冊的幾個編碼中常用到的宏,一個是跳轉到行尾,一個是編碼聲明,一個是跳轉到下一行,這樣就只需要動動手指頭而不是動動手腕就能達到同樣的效果(一個字,懶).
Tips:宏的錄制與設定,這里我們以上圖中第二個宏的錄制與快捷鍵設定為例
點擊開始錄制,然后點擊鍵盤上的 End 鍵,然后點擊
.然后再點擊
,在窗里面設定喜歡順手的快捷鍵然后OK一下就完成了, so easy~~
3 令注冊的快捷鍵
npp自帶的有各種在瀏覽器中打開當前文件的快捷鍵,搜索某某的快捷鍵,可能這里親愛的你注意到了,第10個 Run in Python,這里實際上就是一條命令的調用.后面會詳細介紹一下.
4 的安裝引入的相關的快捷鍵,和其他的相關的快捷鍵
這里不做過多描述.
快捷鍵的指定,只需要選定想要修改的快捷鍵,雙擊就會彈窗供你修改,需要注意的是,不要修改成同樣的按鍵,這樣可能會有沖突導致按鍵的時候並不能正常的響應你指尖的操作喲(也可以先去將已經存在的一個快捷鍵刪除掉—指定為none,或者修改成別的,再回來該這個).
幾條神奇的命令
用Python運行當前腳本文件:
運行>運行,輸入框粘貼如下的命令然后保存,指定一個快捷鍵(也可以不用,這里我指定為F5,記得把之前的F5給干掉,忘記在哪一欄了,就在上面說的幾個里面,當然,也可以指定為其他的不會沖突的)
cmd /k python "$(FULL_CURRENT_PATH)" & ECHO. & PAUSE & EXIT
試試,保存文件后,F5按一下就呼出了命令行窗口運行當前的文件,是不是很方便?
Npp的主題顏色
Npp給用戶提供了各種各樣的主題配色,同樣也支持自定義的顏色配置,筆者使用的主題顏色配置,截圖一張.
我的主題風格
Vim深藍色風格
Hello Kitty粉色風格
這里簡單介紹一下如何自定義自己喜歡的顏色.以我自己使用的為例
我使用的顏色配置是在自帶的Deep Black的基礎上修改而來.
設置>語言格式設置>樣式
然后修改各種各種.這個留給好奇的你自己慢慢探索樣式里面不同的分別代表什么了~
這里順便提供一下自己已經修改好了的部分,顯示的風格見上面的 我的主題風格下面的配圖,如果想了解一下這樣配置具體做了些什么事情,可以看看下面的.
直接打開Notepad++的安裝路徑下的主題文件 X:/SomePtah/Norepad++/themes/Deep Black.xml
Ctrl+F 搜索python ,大概在第318行附近.當然,你也可以先折疊代碼到第3層次,這樣看也比較方便.
展開python的這一塊,這里就可以看到關於Python部分的代碼主題風格的顏色,字體的相關配置了,然后,我們就可以對它做一些自己愛做的事了.
這里簡單說明一下,每一條 <WordsStyle name="DEFAULT" styleID="0" fgColor="FFFFFF" bgColor="000000" fontName="" fontStyle="0" fontSize="" /> 代表了一個配置項,配置了不同的類型的代碼的顯示:默認,注釋,數字,字符串,關鍵字,類等等的,這里我們主要改的就是fgColor,bgColor,fontSize等等.你對改文件的修改就會直接反映到主題顏色,字體大小的改變上了.
后文將會給出我自己的主題風格的下載地址,嫌麻煩的也可以直接下載然后覆蓋Deep Black.xml文件(注意先備份).這段源碼附在下面
<LexerType name="python" desc="Python" ext="">
<WordsStyle name="DEFAULT" styleID="0" fgColor="FFFFFF" bgColor="000000" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="COMMENTLINE" styleID="1" fgColor="00FF00" bgColor="000000" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="NUMBER" styleID="2" fgColor="FF0000" bgColor="000000" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="STRING" styleID="3" fgColor="FFFFFF" bgColor="000000" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="CHARACTER" styleID="4" fgColor="C0C0C0" bgColor="000000" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="KEYWORDS" styleID="5" fgColor="FF6600" bgColor="000000" fontName="" fontStyle="1" fontSize="" keywordClass="instre1" />
<WordsStyle name="TRIPLE" styleID="6" fgColor="FF8000" bgColor="000000" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="TRIPLEDOUBLE" styleID="7" fgColor="FFFFFF" bgColor="000000" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="CLASSNAME" styleID="8" fgColor="0080FF" bgColor="000000" fontName="" fontStyle="1" fontSize="" />
<WordsStyle name="DEFNAME" styleID="9" fgColor="FF00FF" bgColor="000000" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="OPERATOR" styleID="10" fgColor="FFCC00" bgColor="000000" fontName="" fontStyle="1" fontSize="" />
<WordsStyle name="IDENTIFIER" styleID="11" fgColor="FFFFFF" bgColor="000000" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="COMMENTBLOCK" styleID="12" fgColor="00FF00" bgColor="000000" fontName="" fontStyle="2" fontSize="" />
<WordsStyle name="STRINGEOL" styleID="12" fgColor="FFFF00" bgColor="000000" fontName="" fontStyle="0" fontSize="" />
</LexerType>
Npp的各種插件
Npp的一個很不錯的地方就是它有豐富的插件,開源的好處就是有很多人為之添磚加瓦使之不斷完善.這里還是先截個圖列出幾個常用的插件.
下面分別對其中的一些作一點點簡單的補充說明.
JSLint 壓縮JavaScript代碼的一個小插件,作為發布代碼或者簡單的'加密'還是不錯的,實際效果,可以參看一下百度主頁源碼上面密密麻麻的一片.
JSTool,功效供JSLint正好相反,格式化js代碼的一個小工具
Light Explorer npp下的一個輕量級的文件瀏覽器,快捷鍵Alt+A(和某個快捷鍵的設定沖突了,這里需要手動刪除那一個).快速方便的呼出文件瀏覽還是很方便的.
MMIE Tools 默認自帶的插件,編碼解碼的一個玩意兒,自己摸索下~
NppExec
這個倒是可以多介紹一下,作為利用npp作為日常Python編寫的一員,這個插件倒是方便的緊.
留空…下次補上
Npp Export
這個自帶的格式化導出插件,可以將當前的代碼保留格式導出.效果杠杠滴,看下面.
在word里面粘貼出來就是這樣的效果,方便的緊~~
# coding=utf-8
print 'it is ok!'
JSON Viewer
同JSTool一樣的,也是格式化的工具.可以將不規范的json格式的字符串格式化.筆者平時編寫代碼的時候免不了需要同前后台的數據打交道,所以這個格式化數據的插件也是很不錯的.
SourceCookifier
這個插件也很不錯,我還是接着截圖說明一下,最右邊的那一坨黑漆漆的丑圖標就是該插件的圖標了.確實是夠不好看的….
設置上,看見右側圈出來的了么?選擇N++ session module. 這樣在打開的所有文件里面,當看到一個陌生的調用的話,Ctrl+鼠標左鍵 點擊函數名稱,就會跳轉到函數的定義處,是不是很炫酷,就是這么吊炸天,這對於快速熟悉一段程序真實幫助頗多啊.(右邊的側窗關閉了也是可以的喲)