最好用的編輯器:SciTE

最好用的編輯器 :SciTE


    學習 PHP 有一段日子了,最開始用DW,嫌太大,我的破電腦承受不了,可視化設計是很好,但是 代碼 編 輯部分的功能不是很順手,尤其是編寫PHP代碼。後來用一衝動改用Notepad,事實證明它就是編輯器中的廢物,除了能編輯,什麼都不能,放棄!用 Notepad寫代碼的人估計不是神就是瘋子。於是去google,baidu搜啊搜,EditPlus,UltraEdit,Notepad2(這也是 一款不錯的編輯器,完全可以替代Notepad),Notepad++, Zend (又大又慢),PHPDesigner,PHPCoder,DZ,PHPxxx,...,甚至VIM(據說很強大),尋尋覓覓,終於有一天讓我找到了SciTE,它免費,它 開源 ,它小巧,它強大,一個字:趁手!
    不過對於一個從來沒用過它的人來說,很難發現它的過人之處,修改和定製它的配置不亞於編寫程序(全部是直接改配置文件,沒有配置嚮導)!所以也許有人下載下來寫了三行代碼就Delete了,“什麼玩意兒,太難用了!”。所以很少人用它來編寫和調試代碼。
    實在不忍心讓這麼好的編輯器埋沒了,於是有了這篇文字,讓大家瞭解它,配置它,使用它,最後愛上它。
    廢話不多說,先來看一下SciTE的屏幕截圖:
    1,無需安裝,下載後解壓縮即可運行,純綠色,所有文件加起來大小不超過2M。完全可以放到U盤裏。

   2,運行時截圖。多文檔打開,標籤頁,行號,書籤,語法高亮 ,代碼摺疊,右側的輸出窗口,標籤上的未保存提示,代碼縮進線,括號匹配,智能縮進。這些都是作爲一個代碼編輯器必須有的功能,SciTE當然有。現在你可能還沒有感覺到它有什麼過人之處,不要着急,接着往下看。

   3,是的,自動完成 和函數提示。



   有點兒意思了吧,遠不止這些。SciTE另外一個比較有意思的功能就是自定義縮略語,是什麼呢?比如每次都輸入<?PHP ?>是不是很煩,你可以把這段代碼定義成縮略語,就叫php把,格式呢就像這樣:
php=<?PHP\n\t//comment\n\t|\n?>
現在再輸入php,再按ctrl+B,就會出現下面的內容:
<?PHP
    //comment
   
?>
光標會停在定義中"|"符號所在的位置。
    還有一個比較貼心的設計,就是之前輸入過的單詞(不一定是英文單詞,應該是連續的字符),再次輸入這個單詞的前幾個字符,就會出現如代碼自動完成一樣的一個列表,你可以選擇想要的單詞。對我這樣打字比較慢的人來說簡直太有用了!
    SciTE最大的有點就是超強的定製性,幾乎所有的功能都可以用戶自定義,下面就來說說它的一些配置。
    怎麼圖片都顯示不出來?
    建議下載壓縮包,不要下載安裝包。包括主程序一個,動態庫一個(沒有這個DLL也可以正常運行),配置文件和語法文件(*.properties)N個,API文件(*.api)好像沒有。
    本人英文不怎麼樣,先說說漢化的方法:
    下載簡體中文的語言文件,改名爲locale.properties,複製到SciTE文件目錄中覆蓋原來的文件,再運行程序就變成了中文界面,連提示也變了。
    然後開始真正配置你自己風格的SciTE:
    運行SciTE,選擇菜單“選項-->打開Global Options文件”,打開的就是SciTE的全局配置文件,建議不要改動這個文件,以後再改動配置的時候以這個文件作爲參考和對照。然後同樣打開 “User Options文件”,空文件對不對,把Global Options文件中所有內容複製過來,意思是所有的全局配置都在User Options文件中改,User文件的配置會覆蓋Global的配置。
下面的這段作用是運行時窗口大小位置以及一些外觀,以#開頭的是註釋,很好理解吧。只說WIN平臺下的配置,其他的平臺同樣,很多配置項是註釋掉的,把行首的#去掉纔可以起作用。
# Window sizes and visibility
if PLAT_WIN(windows平臺)
    position.left=0(運行時窗口在桌面的座標,最大化時不起作用)
    position.top=0(同上)
if PLAT_GTK
    position.left=5
    position.top=22
position.width=-1(窗口初始寬度,-1表示最大化)
position.height=-1(同上)
#position.tile=1
#full.screen.hides.menu=1(全屏時隱藏菜單欄,1=true,0=false)
#minimize.to.tray=1(最小化到托盤區,1=true,0=false)
split.vertical=1(窗口垂直分割,和輸出窗口的分割)
#output.horizontal.size=200(水平模式
輸出窗口大小
#output.vertical.size=60(垂直模式輸出窗口大小)
#output.initial.hide=1(輸出窗口默認隱藏)
#horizontal.scrollbar=0(水平滾動條不可見)
#horizontal.scroll.width=10000(水平滾動條最大滾動範圍)
#output.horizontal.scrollbar=0(參考上面)
#output.horizontal.scroll.width=10000(參考上面)
#output.scroll=0(參考上面)
#error.select.line=1(編譯錯誤定位到源代碼)
#end.at.last.line=0
tabbar.visible=1(多文檔標籤欄可見)
#tabbar.hide.one=1(只有一個文檔是隱藏標籤欄)
#tabbar.multiline=1(多行顯示標籤欄)
toolbar.visible=1(工具欄可見)
#toolbar.detachable=1(可分割工具欄)
#toolbar.usestockicons=1(顯示用戶定製工具欄)
#menubar.detachable=1(可分割菜單欄)
#undo.redo.lazy=1(撤銷,重做選項,具體效果不知道)
#statusbar.visible=1(狀態欄可見)
#fileselector.width=800(打開文件對話框大小)
#fileselector.height=600(同上)
#magnification=-1(字體放大倍數)
#output.magnification=-1(同上)
   以下是編輯區外觀設置:
# Sizes and visibility in edit pane
line.margin.visible=1(行號區的縮進)
line.margin.width=3+(行號顯示的位數,3+表示默認3位數,不夠再加)
margin.width=0(行號縮進的寬度,最好不縮進)
#fold.margin.width=16(代碼摺疊區的寬度)
#fold.margin.colour=#FF0000(摺疊區顏色)
#fold.margin.highlight.colour=#0000FF(摺疊符號顏色)
#blank.margin.left=4(編輯區左邊空白寬度)
#blank.margin.right=4(同上)
buffered.draw=1(緩存載入和高亮,建議打開,可以提高速度,但是內存會佔用多一點,這應該不是什麼問題)
#two.phase.draw=0(作用同上)
use.palette=0(不清楚什麼作用)
   接着看:
# Element styles
#view.eol=1(載入時定位到文檔尾)
#control.char.symbol=.(???)
caret.period=500(光標閃爍頻率,單位毫秒)
view.whitespace=0(顯示空白符號)
view.indentation.whitespace=1(以空格和退格表示縮進)
view.indentation.guides=1(顯示縮進線,寫代碼會很有用)
highlight.indentation.guides=1(高亮時同時高亮縮進線)
#caret.fore=#FF0000(光標顏色)
#caret.width=2(光標寬度)
#caret.line.back=#FFFED8(當前行背景色)
#caret.line.back.alpha=63(當前行背景透明度)
edge.column=200(列模式下列數)
edge.mode=0(列模式開關)
edge.colour=#C0DCC0(列模式顏色)
braces.check=1(???)
braces.sloppy=1(???)
#selection.fore=#006000(選中文字的晚色)
# DADADA used as background because it yields standard silver C0C0C0
# on low colour displays and a reasonable light grey on higher bit depths
selection.alpha=70(選中文字背景的透明度)
selection.back=#0000FF(選中部分的背景色)
#whitespace.fore=#FF0000(空格顏色)
#whitespace.back=#FFF0F0(空格背景色)
#error.marker.fore=#0000A0(錯誤處的顏色)
#error.marker.back=#DADAFF(錯誤處的背景色)
#bookmark.fore=#808000(書籤顏色)
#bookmark.back=#FFFFA0(書籤處背景色)
bookmark.alpha=70(書籤背景色透明度)
find.mark=#FF0000(查找時,找到文本的顏色)
    是不是發現SciTE的定製性實在是太強了,它有好多很好的用戶選項,比如單文檔時不顯示標籤欄,全屏時隱藏菜單,更好的是你可以更改這些選項,這是其他 編輯器無法比的,大部分的選項都可以從字面的意思推斷出來作用,所以一些不是很重要的配置就不再解釋了,你也可以把藍色的文字複製到User Options文件中,不過記得把括號中的字去掉。好了,接着看:
# Checking
are.you.sure=1(關閉時提示保存)
#are.you.sure.for.build=1(編譯和運行時提示保存)
#save.all.for.build=1(編譯時自動保存所有)
#quit.on.close.last=1(關閉最後一個文檔是退出程序)
#load.on.activate=1(???)
#save.on.deactivate=1(???)
#are.you.sure.on.reload=1(重新載入文檔時提示)
#reload.preserves.undo=1(重新載入時保護撤消列表)
#check.if.already.open=1(檢查文檔是否已經被打開)
default.file.ext=.cxx
#source.default.extensions=.h|.cxx|.bat
title.full.path=1(窗口標題顯示文檔的完整路徑)
#title.show.buffers=1
#save.recent=1
#save.session=1
#open.dialog.in.file.directory=1
#strip.trailing.spaces=1(去掉行尾空格)
#ensure.final.line.end=1(去掉文檔尾空行)
#ensure.consistent.line.ends=1
#save.deletes.first=1
buffers=10(最多打開的文檔數,越多佔內存越大)
#buffers.zorder.switching=1
#win95.death.delay=1000
#translation.missing=***
#read.only=1(只讀方式打開)
#max.file.size=1(文檔最大限制)
   縮進,換行,代碼摺疊:
# Indentation
tabsize=4(tab鍵縮進的字符數)
indent.size=4(縮進字符數)
use.tabs=1(使用tab鍵)
#indent.auto=1(自動縮進,就是自動保持前一行的縮進)
indent.automatic=1(智能縮進,和上面的區別就是有反縮進)
indent.opening=1(代碼縮進,比如大括號回車自動縮進)
indent.closing=1(代碼反縮進,同上)
#tab.indents=0(tab鍵縮進)
#backspace.unindents=0(退格鍵反縮進)

# Wrapping of long lines
#wrap=1(自動換行開關,寫代碼一般不要打開自動換行)
#wrap.style=2(換行的風格,沒用過)
#cache.layout=3
#output.wrap=1(輸出窗口自動換行)
#output.cache.layout=3
#wrap.visual.flags=3(自動換行處的標記符)
#wrap.visual.flags.location=3
#wrap.visual.startindent=4

# Folding
# enable folding, and show lines below when collapsed.
fold=1(代碼摺疊開關,建議打開)
fold.compact=1(摺疊指示,建議打開)
fold.flags=16(摺疊指示區寬度)
fold.symbols=3(摺疊符號,1,2,3分別是+-,圓圈+-,正方形+-)
#fold.on.open=1(打開文檔後默認全部摺疊)
fold.comment=1(代碼註釋摺疊)
fold.preprocessor=1(摺疊預處理)
   今天先寫照麼多吧,To be continued...
    還沒有寫完,先附上下載地址吧:
   
http://www.scintilla.org/
    語言文件(有中文):
   
http://scintilla.sourceforge.net/SciTETranslation.html
    語法文件和API文件:
   
http://scintilla.sourceforge.net/SciTEExtras.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章