Sublime Text 2 與 TextMate 2 相比有哪些優缺點
Sublime Text 是一個代碼編輯器(Sublime Text 2是收費軟件,但可以無限期試用),也是HTML和散文先進的文本編輯器。Sublime Text是由程序員Jon Skinner于2008年1月份所開發出來,它最初被設計為一個具有豐富擴展功能的Vim。
Sublime Text具有漂亮的用戶界面和強大的功能,例如代碼縮略圖,Python的插件,代碼段等。還可自定義鍵綁定,菜單和工具欄。Sublime Text 的主要功能包括:拼寫檢查,書簽,完整的 Python API , Goto 功能,即時項目切換,多選擇,多窗口等等。Sublime Text 是一個跨平臺的編輯器,同時支持Windows、Linux、Mac OS X等操作系統。
2012年6月26日推出新版本的Sublime Text 2.0,與之前版本相比主要有較大的改善:支持 Retina 視網膜屏、快速跳到下一個、文本拖放、改善構建系統、CSS 自動完成和高亮設置等。
Sublime Text 2 與 TextMate 2 相比有哪些優缺點
Sublime用了2年,中間也用了一段時間TextMate。現在用ST做主力(付費用戶),原因如下:
1. ST用起來體感比Textmate快
2. ST的Layout在大顯示器上非常方便
3. 快速瀏覽文件的特性很貼心。
4. 根據Project類型來定義ST對我這種一會前端,一會后臺的開發者來說很方便,也便于重用或團隊復用。
結合上Grunt,除了沒有真正的Intelin和Debug能力,已經很接近一個全功能的IDE了,而且速度飛快。
請教textmate2 格式化代碼的方法
在格式化html時
cmd+opt+[
text->indent lection
bundles->html->reformat html
textmate mac版這款多功能純文本編輯器如何使用?有老司機有教程嗎?感謝!
TextMate大部分嘗試模仿NSTextView系統組件的行為,正如應用程序(如Mail,Safari和基本上所有其他Cocoa應用程序)所使用的那樣。
本部分介紹了與文本編輯相關的一些額外功能。
一、自動配對字符(引號等)
編寫結構化文本(如標記或源代碼)時,會有成對的字符。例如,在編程語言中,你很少輸入一個左大括號({)而不需要大括號(})。
為了幫助您保持這些字符的平衡,TextMate會在輸入開頭字符后在插入符號后面插入適當的結束字符。如果輸入結束字符,TextMate足夠智能,可以覆蓋自動插入的字符。如果您鍵入開頭字符,然后使用反向刪除(⌫)將其刪除,則自動插入的字符也將被刪除。如果您只想刪除自動插入的字符,請改用forward delete(⌦)。
也可以通過選擇文本并鍵入開始字符來將選定內容打開/關閉。例如,如果您鍵入foo,選擇它并鍵入,(則TextMate將使它(foo)在插入結束括號后放置插入符號。
實際的字符對在捆綁首選項中定義,針對不同的語言和上下文使用不同的設置。例如,在源代碼中,除了注釋和字符串之外,撇號被設置為使自己成為關閉字符。這是通過使用范圍選擇器實現的。
與自動配對字符有關的兩個有用的快捷方式(定義為源包中的宏并針對幾種語言重寫)是:
1.⌘↩
移動到行尾并插入換行符。
例如,如果你寫:
print("foo
然后,您將需要")脫字符的右側,現在可以使用⌘+來跳過這兩個字符并插入一個新行。
2.⇧⌘+
移動到行尾,插入一個;,然后插入一個換行符。
二、完成
TextMate在⎋(轉義)上有一個簡單而有效的完成功能。它將根據當前文檔中的匹配完成當前單詞。如果有多個匹配項,您可以連續按⎋循環選擇這些匹配項。也可以使用cycle向后循環。
這些比賽按照脫字符號的距離排序,這意味著候選人距離脫字號較近的候選人將被推薦在離候選人較遠的地方。
有兩種可能性來增加這種默認完成。兩者都通過捆綁首選項完成。
第一個選項是提供應始終提出的候選人名單。例如,Objective-C包含一個常用的Cocoa框架方法列表。這是一系列候選人,例如:
completions = ( 'retain', 'relea', 'autorelea', 'description' );
另一個選項是設置一個自定義shell命令來收集完成。shell命令將具有可用的TM_CURRENT_WORD 環境變量(作為需要完成的單詞)以及其他變量。
例如,C包有一個自定義完成命令設置,用于當插入符號位于預處理程序include指令內時,它看起來像這樣:
completionCommand = 'find "$TM_DIRECTORY" \
-name "$TM_CURRENT_WORD*.h" -maxdepth 2 \
-exec baname "{}" \;|sort';
這將查找匹配項,當前目錄(和直接子目錄)中的任何文件,其中包含當前詞作為前綴和.h擴展名。
當您提供自己的完成命令(或列表)時,您可能想要禁用默認匹配。這可以通過設置disableDefaultCompletion來完成。
三、復制并粘貼
1剪貼板歷史記錄
每次復制或剪切文本時,都會將文本壓入堆棧。
通過按^⌘⌘V你會看到所有以前的剪報列表,并可以選擇一個你想要使用箭頭鍵粘貼。使用return來插入它并轉義以關閉列表。如果您關閉了該列表,則當前選定的剪輯將是您下次使用粘貼功能時粘貼的內容。無需從列表中選擇剪輯,您可以使用⇧⌘V將上一個剪輯粘貼到列表中。在那之前再次使用該鍵將前進到剪輯等等。要返回,您可以使用⌥⌘V。當您想從一個文檔創建多個副本,然后將這些LIFO樣式(后進先出)粘貼到另一個文檔(或同一文檔中的另一個位置)時,這些等價鍵就很有用。
2.重新縮進的粘貼
當粘貼文本時,TextMate將估計粘貼文本的縮進以及當前縮進級別,并調整粘貼文本以使其與當前縮進相匹配。
估算是使用重新縮進文本部分中提到的縮進規則完成的。
如果您暫時想要避免這種情況,您可以使用^⌘V粘貼文本。您也可以在首選項的文本編輯部分中永久禁用重新縮進粘貼。
四、編輯模式
1.免費編輯
您可以在編輯→模式子菜單(⌥⌘E)中啟用或禁用免編輯編輯。
在這種模式下,插入符號的移動不會受到行尾或制表位的限制。
在使用ASCII圖時,在給定列上插入某些內容(并且不想插入填充)以及其他幾種情況時,這很有用。
當進行欄選擇時,(暫時)啟用freehanded模式,允許您在行末尾進行選擇。
也可以通過在按住選項鍵(⌥)的同時單擊鼠標來將插入符號放在行尾以外。
2.覆蓋模式
通過在編輯→模式子菜單(⌥⌘O)中啟用覆蓋模式,文檔中已存在的字符將在您鍵入而不是正常插入時被覆蓋。
使用列數據時這很有用,例如:
想象一下,我們想要覆蓋第一列中的一些值。有點類似,我們可能有一條固定寬度的行,并希望替換其中的一部分,但保留寬度,例如我們可以使用這樣的代碼,我們必須將該值與第20列對齊,但要覆蓋標簽:
printf("Value is %3d", 37).
五、查找和替換
除了標準查找對話框外,TextMate還有一個查找子菜單(位于編輯菜單中),它為您提供查找和替換操作的關鍵等價物。
1.在查找對話框中插入換行符和制表符
查找對話框使用正常的系統控制來接受輸入。您可以使用替換文本字段旁邊的箭頭在單行和多行文本控件之間切換。如果需要在任一文本字段中插入換行符或制表符,可以在按住選項卡(⇥)或返回(↩)鍵的同時按住選項(⌥)。這將插入一個文字標簽或換行符。2查找剪貼板
兩個有用的關鍵等價物是⌘E和⌘G。第一個將選擇復制到共享查找剪貼板。這適用于大多數應用程序,并允許您通過按⌘G查找該字符串的下一個匹配項。
查找剪貼板適用于各種應用程序,因此無論是在Safari,TextEdit,Mail,TextMate,Terminal,Console還是類似應用程序中,都可以將選定文本復制到查找剪貼板,切換應用程序并使用⌘G查找該字符串。
另外TextMate提供了⇧⌘E將選擇復制到替換剪貼板。這通常對于保存查找對話框很有用,例如,如果您希望用|項目列表中的管道字符()替換換行符,選擇一個換行符,請按⌘E將其用作查找字符串。現在輸入a |,選擇它并按⇧⌘E,以便它被復制到替換剪貼板。
然后下一步是按^⌘F在整個文檔中執行替換,或者選擇希望替換的范圍,然后使用^⇧⌘F替代。
六、移動文本
1.增加/減少縮進級別
在文本菜單中,有一個Shift⌘和Shift Right操作綁定到⌘[和⌘]。這些將按一個選項卡的大小增加和減少縮進。
在許多歐洲的鍵盤布局中,這些鍵都比較尷尬,除此之外,還可以使用⌥⇥和⌥⇤(其中⇤使用achieved實現)。
2.向上/向下/向左/向右移動文本
如果您想要向上/向下移動一行/一行或移動一個字/列選擇,可以通過按住^⌘并使用箭頭鍵移動選擇來完成。它也適用于在沒有選擇的情況下向上/向下移動線條。
3.重新縮進文本
如果您的代碼已打破縮進,您可以選擇它并使用文本→縮進選擇(沒有選擇縮進當前行)。
估算縮進的規則是使用包首選項按語言設置的。有關更多詳細信息
七、選擇文字
選擇文字是通過按住⇧的同時使用正常的移動鍵來實現的。另外,編輯→選擇子菜單可以選擇當前的單詞,行,段落,括號和整個文檔。
1.編輯多行
有時需要為可變長度的行添加后綴,或者可能需要編輯這些行的最后部分。
雖然您可以使用查找和替換,但更簡單的方法是選擇需要編輯的行,然后使用文本→編輯選中的每一行(⌥⌘A),并且插入符號將放在第一行的末尾在選擇線。
您現在可以鍵入新文本,刪除文本或返回并編輯現有文本,并且將通過所有(先前選定的)行進行鏡像。要離開此模式,只需將插入符號從當前行移開即可。
2.列選擇
可以通過按住⌥并用鼠標進行選擇,或者定期選擇,然后按⌥一次(在兩種選擇之間切換)來選擇列數據。
您可以對列選擇使用所有常規操作,例如移動選區,替換選區,轉置(線),來自文本菜單的操作,通過shell命令過濾選區等。
八、列移動/打字
使用向上/向下箭頭鍵⌥會將插入符號移至當前列的第一行/最后一行。按住⇧將其選中。例如,如果您的列數據如上所示,并且前面有插入符號foo,請按⌥⇧↓鍵,它會將插入符向前移動,fud并將文本保留在之間foo并將其fud選中。
您現在可能想要按⌥一次切換到零寬度列選擇,然后開始輸入以在每行上鍵入。或者使用→→然后→選擇整個列(在列模式下)。
九、智能選項卡行為
當在一行的開頭使用Tab鍵時,TextMate會插入盡可能多的制表符,因為它估計對于該行是正確的。如果該行已經有文本,則脫字符將移到本文的前面。
如果該行已經具有正確的縮進(或以上),則將插入單個選項卡。
十、拼寫檢查
TextMate支持系統范圍內的“檢查拼寫時的拼寫”。這可以在編輯→拼寫子菜單中更改。
您可以調出拼寫錯誤的單詞來獲取拼寫建議。
由于TextMate適用于結構化文本,因此可以排除文件的部分內容。這是通過創建一個完成的首項在包編輯器,設置spellChecking到0并在填充范圍選擇與選擇的目標為不進行拼寫檢查。
默認情況下,源代碼除了字符串和注釋以外,還禁用了拼寫檢查,還包括HTML,LaTeX,Markdown等中的關鍵字,標簽和類似內容。
十一、使用空格而不是制表符
TextMate可以使用空格而不是制表符。這是通過點擊狀態欄中的“Tab Size”并啟用軟標簽來完成的。
此設置只會影響當前的語言和所有具有尚未設置選項的公共根目錄的語言。這同樣適用于拼寫檢查,軟包裝和實際標簽大小的狀態。當啟用軟標簽時,TextMate將在大多數情況下像使用硬標簽一樣操作,但文檔確實包含空格。