1)文本編輯器數(shù)量眾多,而人的精力有限,polaris不可能把所有的文本編輯器都“研究”一遍。所以,如果您很喜歡的文本編輯器,polaris沒有涉及,可以留言告之,polaris會嘗試使用;
2)蘿卜青菜,各有所愛。polaris寫作本序列文章的目的不是強制您使用哪個編輯器(呵呵,polaris也不可能有那個能耐),也不是貶低某個編輯器, 而是希望這一序列文章能夠給那些還在使用Notepad但想換一個文本編輯器的網(wǎng)友提供一些參考意見,同時也希望給那些還在尋找一款合適編輯器的網(wǎng)友提供 一些參考,另一方面就是,polaris覺得這些文本編輯器確實挺好用,至少polaris用起來很順手。
3)如果polaris有說的不對或不好的地方,還請您指正。如果您不同意polaris的觀點,可以留言給出自己的觀點,但請您“嘴上”留情,你不同意polaris的觀點,您的觀點也不一定就正確,咱們應(yīng)該討論,共同進(jìn)步!翱谒畱(zhàn)”的確很沒意思。
4)希望這一序列文章能夠起到拋磚引玉的作用。您有更好的見解或覺得有更好用的編輯器,歡迎分享。
引言
在 polaris的印象中,對文本編輯器的使用,大概追溯到當(dāng)時看視頻學(xué)JAVA的時候,不過當(dāng)時對文本編輯器沒什么印象,F(xiàn)在對當(dāng)時使用的情況都很模糊 了,只記得當(dāng)時使用的應(yīng)該是UltraEdit,但對其卻知之甚少。真正使用文本編輯器應(yīng)該是在幾年前接觸到EditPlus,然后在polaris使用 的任何電腦上,都會安裝上它,成了裝機必備軟件之一。
EditPlus V3.2.0.634 漢化綠色特別版下載:http://elephantinaurance.com/soft/10622.html
一開始喜歡上它,一來是因為其界面簡潔,但功能卻十分強大;二來是其啟動速度十分快。 在polaris認(rèn)識的人中,有不少人使用UltraEdit,說實話,這款軟件的確做得很優(yōu)秀,然而,一開始polaris就覺得其界面太過復(fù)雜,感覺 很多功能根本用不上,看著不爽,因而也就沒有用下去。最近又將其裝上了,感覺還是挺好用的,當(dāng)然功能也很強大(裝上也主要是想多試用各種編輯器,了解各大 編輯器的功能,選擇一款最適合自己的或給新手一點幫助),在后續(xù)文章中,polaris可能會介紹UltraEdit,F(xiàn)在還是回到今天的主角上來—— EditPlus。
介紹之前,引用momo對EditPlus的評價[via]:
經(jīng)過多種文本編輯軟件的比較使用,我發(fā)現(xiàn) Windows 下最好的文本編輯器是 EditPlus。
當(dāng)然,我知道因個人習(xí)慣不同,各類用戶可能會對文本編輯器提供的各種功能有不同程度的依賴,但我還是得推薦 EditPlus,因為它有以下幾項突出的優(yōu)點:
1)啟動速度快。這幾乎是最令人欣賞的一項特性 ,我知道 UltraEdit 是一個功能極其豐富而且強大的編輯器,但它的啟動速度太慢了,我沒理由為打開一個寥寥數(shù)行的文本文件等上好幾秒。
2)界面簡潔。這也是非常令人欣賞的特性,也許某些比較 Geek 的用戶會對龐雜而豐滿的程序主菜單仰慕不已,但我并不愿意為了一些并不常用的功能犧牲眼前電腦屏幕上更多的空間,正相反,我喜歡“Keep it simple, stupid”的界面設(shè)計,能用,夠用就好。
3)完善的代碼高亮。最近一直使用的是 EmEditor 6.0,但在編寫 Perl 腳本時,我發(fā)現(xiàn) EmEditor 的語法高亮有一定問題,它甚至不能正確識別 =comment … =cut 這樣的 Perl 注釋語句(polaris注:該問題EmEditor其實很容易解決,只需要自行配置語法注釋即可)。而在 EditPlus 下,這種注釋被支持得非常好。還有就是在EmEditor下,經(jīng)常出現(xiàn)多個雙引號高亮錯誤的情況,還以為自己寫錯代碼了(polaris注:在EmEditor10.0 版本中沒有發(fā)現(xiàn)該問題)……
4)代碼折疊功能。這個功能在 EditPlus 版之前似乎沒有提供,但現(xiàn)在已經(jīng)有了,而且效果不錯,至少比 EmEditor 的強很多(polaris注:現(xiàn) 在的EmEditor版本代碼折疊功能也很強大了)。從我迷上玩博客以后,常常為分析 HTML/CSS 模版代碼感到疲憊,因為必須把網(wǎng)頁元素間的內(nèi)在結(jié)構(gòu)搞清楚才能有效地控制它們的顯示效果。我以前的一篇文章曾經(jīng)提到 用 Notepad++ 內(nèi)置的代碼折疊功能分析網(wǎng)頁源碼,不過說實話那個開源軟件的確有很多需要改進(jìn)的地方,尤其是中文支持方面遠(yuǎn)不如 EditPlus,EmEditor 這類商業(yè)軟件(polaris注:EditPlus和EmEditor都是東方人編寫的,一開始就對東方象形文字支持很好,畢竟開發(fā)者的母語就是象形文字,不過Notepad++是中國臺灣人編寫的,為啥這方面不如商業(yè)軟件呢?)。
5)多文檔編輯界面。這是個比較細(xì)節(jié)的特性,在 EmEditor 中,如果把最后一篇活動文檔關(guān)閉,則主程序也會隨之關(guān)閉,這給我?guī)砹艘恍┎槐。尤其是?dāng)我希望創(chuàng)建新的空白文檔時,我不得不在開始菜單中重新啟動編輯器(polaris注:現(xiàn)行的EmEditor版本已無此問題)。而在 EditPlus 中,只要不點擊最右上角的關(guān)閉按鈕,編輯器始終是打開狀態(tài),我個人認(rèn)為這樣更方便一些。除此之外,在界面外觀設(shè)計上 EditPlus 也有很多過人之處,我不能很好地將這種獨特的屬性描述出來,但我可以做一個比喻,如果把各種文本編輯器都看作一個美女的話,EditPlus 就屬于那種苗條纖巧,落落大方的類型,相比之下 EmEditor 則略顯富態(tài)(polaris注:EmEditor在這方面的確比不上EditPlus,啟動速度也略差些),而 UltraEdit 簡直就是肥婆了。
1 EditPlus簡介
EditPlus是由韓國人編寫的一款共享軟件(1-user license: US$35),官方網(wǎng)址是 www.editplus.com 。最新版本是EditPlus 3.2(2010-08-04)。EditPlus是功能全面的文本、HTML、程序源代碼編輯器。
主要特點如下:
(1)默認(rèn)支持HTML、CSS、PHP、ASP、Perl、C/C++、Java、JavaScript和VBScript等語法高亮顯示,通過定制語法文件,可以擴展到其他程序語言,在官方網(wǎng)站上可以下載(大部分語言都支持)。
(2)EditPlus提供了與Internet的無縫連接,可以在EditPlus的工作區(qū)域中打開Intelnet瀏覽窗口。
(3)提供了多工作窗口。不用切換到桌面,便可在工作區(qū)域中打開多個文檔。
(4)正確地配置Java的編譯器“Javac”以及解釋器“Java”后,使用EditPlus的菜單可以直接編譯執(zhí)行Java程序。
總之,EditPlus功能強大,界面簡潔美觀,且啟動速度快;中文支持比較好;支持語法高亮;支持代碼折疊;支持代碼自動完成(但其功能比較弱),不支持代碼提示功能;配置功能強大,且比較容易,擴展也比較強。像PHP、Java程序等的開發(fā)環(huán)境,只要看一下資料,幾分鐘就可以搞定配置,很適合初學(xué)者學(xué)習(xí)使用。有不錯的項目工程管理功能。內(nèi)置瀏覽器功能,這一點對于網(wǎng)頁開發(fā)者來說很是方便。本人特別推薦。
2 EditPlus特色功能介紹
EditPlus功能眾多,有不少功能很多編輯器都是有的,就不進(jìn)行介紹,當(dāng)然也會有一些功能polaris沒有用到,自然也就不可能拿出來介紹。(說明:由于polaris使用文本編輯器的數(shù)量有限,以下功能也許有些編輯器已有了,如您知曉,可以留言分享)
2.1 使用EditPlus書寫電子郵件
發(fā)送電子郵件時,可以寫在EditPlus中寫好。寫完之后,執(zhí)行“文件”→“其他”→“發(fā)送郵件...”,會啟動當(dāng)前系統(tǒng)默認(rèn)的郵件客戶端,當(dāng)前文檔會被拷貝入郵件正文,這樣只要輸入發(fā)送人地址就可以將郵件發(fā)出去了。
2.2 鎖定文件不讓其他程序修改
執(zhí)行“文件”→“其他”→“鎖定文件”,該文件便被鎖定,其他程序便無法修改它。
2.3 復(fù)制為HTML
在“編輯”→“剪貼板”中有若干功能,如圖:
其中有一項“復(fù)制為HTML”,polaris覺得很有特色,也很有用處。您可以復(fù)制試試,看看粘貼后是什么樣子。
2.4 HTML預(yù)覽
這個功能不少文本編輯器都有,或者通過插件可以實現(xiàn),然而polaris覺得EditPlus的HTML預(yù)覽功能用起來最舒服、方便,也許這跟EditPlus界面簡潔有關(guān)。
對HTML文件直接按Ctrl+B或點擊HTML工具欄的HTML預(yù)覽圖標(biāo)就會自動在一個文檔中啟動瀏覽,這對于測試HTML文件或JavaScript有一定的好處(當(dāng)然,更專業(yè)的測試或調(diào)試有專門的工具)。
2.5 有特色的窗口設(shè)置
在“窗口”→“其他”菜單中,有若干有特色的設(shè)置:
通過這里,可以將EditPlus前端顯示或透明顯示等。如果您閑任務(wù)欄圖標(biāo)太多,您可以選中“最小化為托盤圖標(biāo)”,這樣最小EditPlus的時候,EditPlus的圖標(biāo)便不會在任務(wù)欄中顯示,而是最小化為托盤圖標(biāo)了。
3 EditPlus使用技巧
在此推薦一篇文章《EditPlus 使用技巧集萃》,這篇文章在網(wǎng)上被多次署名或不署名轉(zhuǎn)載。目前可知的最早出處是 dream4ever,但原始網(wǎng)址不可訪問,Liangjh是主要編者。[via]。這里面的技巧,在現(xiàn)在的EditPlus版本中已經(jīng)很容易實現(xiàn),可能算不上什么技巧了,比如刪除空行,現(xiàn)在的版本已經(jīng)直接提供了該命令。然而,有不少技巧還是值得一看,polaris也對其進(jìn)行了轉(zhuǎn)載,格式或某些內(nèi)容進(jìn)行了改動,點擊此處查看。
4 自定義語法文件
很多時候,使用EditPlus并不需要自定義語法文件,因為官方網(wǎng)站上已經(jīng)有大量語法文件可供下載。在此介紹自定義語法高亮文件,主要是為了方便修改已有語法文件,使其更適合自己。
4.1 語法高亮
EditPlus 支持強大的、可自定義的語法高亮功能,內(nèi)置了 HTML, CSS, PHP, ASP, Perl, C/C++, Java, JavaScript, VBScript 的語法文件,你也可以創(chuàng)建自己的語法文件來支持其它設(shè)計語言。
要支持自己的語法類型,你必須創(chuàng)建一個語法文件并把它添加到“參數(shù)選擇”對話框中的“設(shè)置與語法”中。
語法文件是一個擴展名為“.stx”并按預(yù)定格式編寫的純文本文件,這種格式非常簡單。建議查看用于 C/C++ 的語法文件(cpp.stx),以它為例來學(xué)習(xí)創(chuàng)建這種語法文件。
#TITLE=C/C++
#DELIMITER=,()}[]-+*%/="'~!&|\<>?:;.
#QUOTATION1='
#QUOTATION2="
#CONTINUE_QUOTE=n
#LINECOMMENT=//
#LINECOMMENT2=
#COMMENTON=/*
#COMMENTOFF=*/
#COMMENTON2=
#COMMENTOFF2=
#ESCAPE=\
#CASE=y
#PREFIX1=
#PREFIX2=
#PREFIX3=
#PREFIX4=
#PREFIX5=
#SUFFIX1=
#SUFFIX2=
#SUFFIX3=
#SUFFIX4=
#SUFFIX5=
#HTML_EMBEDDED=
#SCRIPT_BEGIN=
#SCRIPT_END=
#HEREDOC=
#AUTOCASE=
#NUMBER_PATTERN=cpp
#SPECIAL_STX=cpp
所有語法聲明必須以“#”為前綴,具體解釋如下:
#TITLE
這里定義語法文件標(biāo)題,它必須出現(xiàn)在語法文件的首行,否則 EditPlus 將不能正確讀取它的信息。
#DELIMITER
指定用于分解關(guān)鍵字的定界符。你不必指定空格和制表符,它們是程序內(nèi)置的缺省定界符。
#QUOTATION1
指定引用語標(biāo)記,例如單引號,這里只能定義一個字符。
#QUOTATION2
指定另一種引用語標(biāo)記,例如雙引號,這里只能定義一個字符。
#CONTINUE_QUOTE
這個選項允許不停止引用而將它延續(xù)到下一行。定義為“y”時允許跨行引用,定義為“n”時不允許跨行引用,“n”是默認(rèn)值。
#LINECOMMENT
指定行內(nèi)注釋標(biāo)記。如果你以“!”作為行內(nèi)注釋符的前綴,那么僅在它位于行首時才會起作用。
#LINECOMMENT2
指定另一種行內(nèi)注釋標(biāo)記。如果你以“!”作為行內(nèi)注釋符的前綴,那么僅在它位于行首時才會起作用。
#COMMENTON
指定一個塊級注釋的啟始標(biāo)記。
#COMMENTOFF
指定一個塊級注釋的結(jié)束標(biāo)記。
#COMMENTON2
指定另一種塊級注釋的啟始標(biāo)記。
#COMMENTOFF2
指定另一種塊級注釋的結(jié)束標(biāo)記。
#ESCAPE
指定避讓字符,這里只能定義一個字符。
#CASE
指定敏感性。取值為“n”或“n” 默認(rèn)值為“n”。
#PREFIX1 - #PREFIX5
指定前綴關(guān)鍵字,任何跟隨前綴的單詞將被視為已經(jīng)處理的關(guān)鍵字。
#SUFFIX1 - #SUFFIX5
指定后綴關(guān)鍵字,任何在后綴之前的單詞將被視為已經(jīng)處理的關(guān)鍵字。
#HTML_EMBEDDED
如果是像 PHP 這樣的 HTML 植入腳本,指定為“y”?梢詤⒖肌皃hp.stx”中的用法。
#SCRIPT_BEGIN
指定 HTML 植入腳本的啟始標(biāo)記,僅在“#HTML_EMBEDDED”定義為“y”時發(fā)生作用,請參考“php.stx”中的用法。
#SCRIPT_END
指定 HTML 植入腳本的結(jié)束標(biāo)記,僅在“#HTML_EMBEDDED”定義為“y”時發(fā)生作用,請參考“php.stx”中的用法。
#HEREDOC
指定一個字符串用于 Perl和 PHP 文件中的 heredoc。例如:#HEREDOC=<<EOF.
#AUTOCASE
如果希望使用關(guān)鍵字自動完成特性,將它定義為“y”。
#NUMBER_PATTERN
'cpp'用于 C/C++數(shù)字語法高亮。
#SPECIAL_STX
“html”用于 HTML 語法文件,“cpp”用于 C/C++ 語法文件,“perl”用于 Perl 語法文件,留空則可用于其它語法文件。
同其它語言一樣,你也可以在語法文件中插入注釋,注釋行必須以英文的分號“;”啟始。如果你希望指定英文分號作為一個關(guān)鍵字,必須以避讓字符“^”作為它的前綴。
關(guān)鍵字組 Keyword groups#KEYWORD=Reserved words
abstract
boolean
break
#KEYWORD=Compiler directives
...
每個關(guān)鍵字組以#KEYWORD=啟始,之后定義該組的描述。關(guān)鍵字清單從下一行開始,如果需要在關(guān)鍵字里包含“#”,必須以避讓字符“^”為前綴,像 “^#”這樣。在這種情況下,“#”標(biāo)記不應(yīng)該包含在“#DELIMITER”定義中。你最多可以定義 10 個關(guān)鍵字組。
4.2 用戶文件保存機制
在 EditPlus 官網(wǎng)上用戶文件頁面上有一個用戶文件(stx、ctl、acp 文件)集合。若您愿意與其他用戶分享您的文件,您可以提交您自己的語法文件到<submit@editplus.com> 。(正文完)
“我的最愛”--補充說明:更新本文的時候,原本打算把標(biāo)題中的“我的最愛”去掉,因為這個時候,polaris最愛的已經(jīng)不是EditPlus,而是轉(zhuǎn)為EmEditor,最后想想還是保留原樣,畢竟現(xiàn)在polaris是EmEditor為主,EditPlus與Vim為輔,而且EditPlus是曾經(jīng)的最愛。