Sublime 2 配置
在隊友的推薦下,愛上了這款神一樣的文本編輯器,熟練之后編輯效率真心是大幅提升啊。
?
一、Package Control
Sublime擁有很強大的插件功能,而自帶的缺少個管理工具,這個包可以用來很方便地管理各種插件,
詳細說明如下:
功能:安裝包管理
簡介:sublime插件控制臺,提供添加、刪除、禁用、查找插件等功能。一個好用的插件安裝器。
使用:https://sublime.wbond.net/installation
安裝方法:
1.CTRL+` ,調出控制臺
2.粘貼以下代碼至控制臺
import urllib2,os; pf='Package Control.sublime-package'; ipp = sublime.installed_packages_path(); os.makedirs( ipp ) if not os.path.exists(ipp) else None; urllib2.install_opener( urllib2.build_opener( urllib2.ProxyHandler( ))); open( os.path.join( ipp, pf), 'wb' ).write( urllib2.urlopen( 'http://sublime.wbond.net/' +pf.replace( ' ','%20' )).read()); print( 'Please restart Sublime Text to finish installation')回車安裝。
?
完成以后輸入CTRL+SHIFT+P 調出控制臺,輸入:pci (即Package Control Install的簡寫)即可調出控制菜單,之后就可以方便地通過這個工具來安裝其他功能強大的插件包了。
?
1.ConvertToUTF8
支持中文顯示
2.其他的......以后再加吧
?
二、Sublime 綁定編譯器之后就能變成一個簡易的IDE
(1)G++篇
在把編譯器的地址加入系統環境變量之后,從CMD中就可以直接調用G++了。Sublime的強大功能就是可以預設在編輯器內調用命令行,Build和Run命令都是預先設置好的,只要CMD能用,不太需要增加其他設定即可調用。
Build 的快捷鍵是:CTRL+B
Run 的快捷鍵是:CTRL+SHIFT+B
測試了一下,默認狀態下,編譯可以直接用,但是調用Run的時候出了點問題,所以還需要再改下配置文件:
Preference -> Bowser Packages?-> /C++/C++.sublime-build
默認的配置文件是這樣的:
1 { 2 "cmd": ["g++", "${file}", "-o", "${file_path}/${file_base_name}"], 3 "file_regex": "^(..[^:]*):([0-9]+):?([0-9]+)?:? (.*)$", 4 "working_dir": "${file_path}", 5 "selector": "source.c, source.c++", 6 7 "variants": 8 [ 9 { 10 "name": "Run", 11 "cmd": ["bash", "-c", "g++ '${file}' -o '${file_path}/${file_base_name}' && '${file_path}/${file_base_name}'"] 12 } 13 ] 14 }問題出在最后一段,這里是通過bash進行運行的,而Windows下沒有bash,運行當然會出錯了,改成:
1 { 2 "cmd": ["g++", "${file}", "-o", "${file_path}/${file_base_name}"], 3 "file_regex": "^(..[^:]*):([0-9]+):?([0-9]+)?:? (.*)$", 4 "working_dir": "${file_path}", 5 "selector": "source.c, source.c++", 6 7 "variants": 8 [ 9 { 10 "name": "Run", 11 //"cmd": ["bash", "-c", "g++ '${file}' -o '${file_path}/${file_base_name}' && '${file_path}/${file_base_name}'"] 12 "cmd": ["${file_path}/${file_base_name}"] 13 } 14 ] 15 }即可。
?
可以運行了之后,然后又碰到個讓人惱火的事情......這貨只能在里面運行,不會像其他正常的IDE那樣彈出一個CMD的窗口出來,也就是說,沒有辦法輸入數據,這是個嚴重的問題。
?
幾經周折,終于讓我找到了解決的方案。
?
參考了:http://blog.csdn.net/lhshu2008/article/details/17582949?的方案:
改build文件為:
1 { 2 "cmd": ["g++", "${file}", "-o", "${file_path}/${file_base_name}"], 3 "file_regex": "^(..[^:]*):([0-9]+):?([0-9]+)?:? (.*)$", 4 "working_dir": "${file_path}", 5 "selector": "source.c, source.c++", 6 7 "variants": 8 [ 9 { 10 "name": "Run", 11 "cmd": ["${file_path}/${file_base_name}"] 12 //"cmd": ["cmd", "/c", "g++", "${file}", "-o", "${file_path}/${file_base_name}", "&&", "cmd", "/c", "${file_path}/${file_base_name}"] 13 }, 14 { 15 "name": "RunInCommand", 16 "cmd": ["cmd", "/c", "start", "cmd", "/c", "${file_path}/${file_base_name} & pause"] 17 }, 18 { 19 "name": "BuildAndRun", 20 "cmd": ["cmd", "/c", "g++", "${file}", "-o", "${file_path}/${file_base_name}", "&&", "start", "cmd", "/c", "${file_path}/${file_base_name} & pause"] 21 } 22 ] 23 }然后修改快捷鍵配置:
Preference -> Key Bindings -- User
1 [ 2 { "keys": ["f10"], "command": "build", "args": {"variant": "RunInCommand"} } 3 ]這樣,按F10調用cmd窗口來運行程序,終于解決了
翻了下默認的配置,F7和CTRL+B的功能居然是一樣的,浪費我一個快捷鍵啊....0.0
于是把默認的F7改為:
1 "keys": ["f7"], "command": "build", "args": {"variant": "BuildAndRun"}即上面定義的編譯后調出CMD窗口來運行
這樣夠了,,除了不能用debug,這個簡易的IDE擁有超強的文本編輯功能,還是相當好用的。
(2)JAVA篇
由上面的G++配置啟發,我想到了JAVA也可以這么改。JAVA本身就沒有太好的IDE,往常可能大多數童鞋都是直接拿CMD調的比較多,既然sublime如此強大,改一下正好可以彌補JAVA的問題。
但是對sublime的調用語法了解太少,cmd指令部分差幾個空格都會出問題。。。汗。。。另外一個是java運行的時候需要調用java.exe,而且后面不能輸入絕對路徑,試了好久才終于解決所有問題。
調了一晚上,終于把JAVA的配置部分也完成了。
?
首先還是系統環境變量配置,這里就不記了,配好之后要保證能從CMD里面調用javac和java就行
?
之后還是一樣,在JAVA對應的文件夾里面找到JAVA的sublime編譯配置文件,改成下面這樣:
Preference -> Bowser Packages?-> /JAVA/JavaC.sublime-build
1 { 2 "cmd": ["javac", "${file}"], 3 "file_regex": "^(...*?):([0-9]*):?([0-9]*)", 4 "selector": "source.java", 5 "encoding": "gbk", 6 "variants": 7 [ 8 { 9 "name": "Run", 10 "cmd": ["java", "${file_base_name}"] 11 }, 12 { 13 "name": "RunInCommand", 14 "cmd": ["cmd", "/c", "start", "cmd", "/c", "java ${file_base_name} & pause"] 15 }, 16 { 17 "name": "BuildAndRun", 18 "cmd": ["cmd", "/c", "javac", "${file}", "&&", "start", "cmd", "/c", "java ${file_base_name} & pause"] 19 } 20 ] 21 }
因為JAVA編譯錯誤的時候會產生中文提示(CMD設為中文的情況下),所以加上encoding? gbk這一句就不會出現因為字符碼引起的錯誤了
?
鍵位設置等等其他的都跟G++一樣,只是換了其中的指令部分(媽蛋,這里同一個語句放在前一個引號和后一個引號結果都會不一樣,,,明明在最后的調試臺上看到的指令一模一樣,真不知道這是鬧哪樣,也就是在這里卡了很久,一直跟我報錯)
?
CTRL+B 編譯
CTRL+SHIFT+B sublime內運行
F10 調用CMD窗口運行
F7 編譯并且調用CMD窗口運行
?
運行緩慢的eclipse之流可以去死了~~~~哈哈哈,大勝利~~~~!!!
?
三、用Snippet保存代碼段
Sublime中有個很方便的功能是根據標簽自動補全提前保存好的代碼段。
Tools -> New Snippet 新建一個Snippet文件,能看到默認的模板內容是這樣:
1 <snippet> 2 <content><![CDATA[ 3 Hello, ${1:this} is a ${2:snippet}. 4 ]]></content> 5 <!-- Optional: Set a tabTrigger to define how to trigger the snippet --> 6 <!-- <tabTrigger>hello</tabTrigger> --> 7 <!-- Optional: Set a scope to limit where the snippet will trigger --> 8 <!-- <scope>source.python</scope> --> 9 </snippet>Sublime中的Snippet用XML語言描述,而且是一個文件對應一個Snippet。
CDSTA[] 中寫上需要保存的代碼段;
<tabTrigger></tabTrigger> 中間是觸發條件
<scope></scope> 中間是指定這一個Snippet在什么語言中可以使用,不指定就是全局通用
?
下面這段:
1 <snippet> 2 <content><![CDATA[ 3 /* *********************************************** 4 ID : Chen Fan 5 LANG : G++ 6 PROG : ${1:} 7 ************************************************ */ 8 9 #include<iostream> 10 #include<cstdio> 11 #include<cstring> 12 13 using namespace std; 14 15 int main() 16 { 17 ${0:/* code */} 18 19 return 0; 20 } 21 22 ]]></content> 23 <!-- Optional: Set a tabTrigger to define how to trigger the snippet --> 24 <tabTrigger>jcf</tabTrigger> 25 <!-- Optional: Set a scope to limit where the snippet will trigger --> 26 <!-- <scope>source.python</scope> --> 27 </snippet>寫好之后,當我編輯C++文件時,輸入jcf+TAB,即可迅速調出上面這段起始代碼了,中間的 ${0:} 指定復制完成之后光標最后的位置
?
重點來了!
${0:}這種標號可以有多個!
試驗了一下,默認是從1開始按照升序的順序跳轉(如果有多個標號),改完一個地方之后按下TAB即可跳到下一個標號,最后在0處結束。即上面的這段snippet,貼出來之后光標首先會停在PROG:后面,改好后按下TAB即可跳轉至下面的代碼部分,很多常用的代碼段都可以用這種方式自定義添加,大大加快了代碼編輯的速度。
?
然后還有個問題,Sublime默認給出的main()函數的Snippet是帶argc和argv的,這就讓有強迫癥的我很不爽,然后又找不到默認的設置在哪,郁悶了好久。
?
好在后來終于找到了:
Preference -> Bowser Packages -> /C++ 這個目錄下存放了所有默認指定了C++格式的snippet,改之即可。
其他格式專屬的snippet應該也是在其對應的文件夾中
?
四、Vim模式
據說Sublime的作者原本打算做一個類Vim的編輯器的,在Sublime中也隱藏了一個Vim模式,可以兼容大部分的Vim操作。
開啟的方法很簡單:
Preference?-> Settings -- user
調出設置文件,初始的時候應該里面只有一句話:
"ignored_packages": [Vintage]
這是是一個包的禁用列表,其中的Vintage應該就是VIM的啟動組件,將其從列表中刪掉即可
?
編輯模式下按ESC進入VIM模式
?
轉載于:https://www.cnblogs.com/jcf94/p/4003286.html
總結
以上是生活随笔為你收集整理的Sublime 2 配置的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 请问比比赞是什么品牌?
- 下一篇: SimpleDateFormat使用具体