## Sublime
~~~
1. 常用快捷鍵
2. sublime的ctags插件
3. 設置代碼片段
~~~
### 必裝插件
漢化插件:Chinese Localization https://github.com/rexdf/ChineseLocalization
CSS3:https://github.com/y0ssar1an/CSS3
### 1. 常用快捷鍵
* * * * *
[Sublime學習資源](http://www.jianshu.com/p/d1b9a64e2e37)
本人使用的`sublime-setting`
~~~
{
"font-face": "OperatorMono-Book",
"font_size": 13,
"tab_size": 4,
"word_wrap": true,
"auto_complete": true,
"scroll_past_end": false,
"highlight_line": true,
"auto_match_enabled": true,
// "color_scheme": "Packages/Color Scheme - Default/IDLE.tmTheme",
"caret_style": "phase",
"default_encoding": "UTF-8",
"line_padding_bottom": 3,
"line_padding_top": 3,
"phpunit-sublime-terminal": "iTerm",
"remember_open_files": true,
"update_check": false,
}
~~~
### 2. sublime的ctags插件
* * * * *
原文:<http://lizelong.com/post.html?id=12>
眾所周知,sublime非常適合寫代碼,但是不適合看代碼、查代碼,比如zendstudio或者PHPstorm,在想查看父類代碼的時候,只需要按住ctrl+鼠標左鍵就好了,所以很方便。那么sublime能否實現類似的效果呢?答案是當然可以!只需要借助一款叫`CTags`的插件就ok!
安裝sublime插件的方式都是一樣的,具體步驟如下:
首先需要安裝`Package Control`(如果安裝過了就跳過這一步)
通過`ctrl+~`喚出控制臺并在控制臺粘貼以下代碼:
**sublime3:**
`import urllib.request,os,hashlib; h = 'df21e130d211cfc94d9b0905775a7c0f' + '1e3d39e33b79698005270310898eea76'; pf = 'Package Control.sublime-package'; ipp = sublime.installed_packages_path(); urllib.request.install_opener( urllib.request.build_opener( urllib.request.ProxyHandler()) ); by = urllib.request.urlopen( 'http://packagecontrol.io/' + pf.replace(' ', '%20')).read(); dh = hashlib.sha256(by).hexdigest(); print('Error validating download (got %s instead of %s), please try manual install' % (dh, h)) if dh != h else open(os.path.join( ipp, pf), 'wb' ).write(by)`
**sublime2:**
`import urllib2,os,hashlib; h = 'df21e130d211cfc94d9b0905775a7c0f' + '1e3d39e33b79698005270310898eea76'; 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()) ); by = urllib2.urlopen( 'http://packagecontrol.io/' + pf.replace(' ', '%20')).read(); dh = hashlib.sha256(by).hexdigest(); open( os.path.join( ipp, pf), 'wb' ).write(by) if dh == h else None; print('Error validating download (got %s instead of %s), please try manual install' % (dh, h) if dh != h else 'Please restart Sublime Text to finish installation')`
參考地址:https://packagecontrol.io/installation
打開Sublime,在Preferences(首選項)菜單中打開Package Control(插件控制),打開后找到install packages并點擊。或者直接使用ctrl + shift + p 并輸入install回車!
到這一步,如果沒有彈窗報錯,那直接搜索ctags, 回車執行,稍等一會看到左下角提示安裝成功就好了。如果是要安裝其他的插件,那直接搜索要安裝的插件名回車就行。
如果彈出錯誤顯示`Package Control:there are no packages for installation`,那就有點麻煩了。網上有說是IPV6的問題,有說是被墻的問題。個人經歷,我將IPV6禁用了,也根據資料改了hosts文件,都沒用。用了VPN翻墻,Google和YouTube都能正常訪問,install插件的時候還是彈窗報這個錯,后來索性沒管它了,直接去GitHub上面下的zip包,然后解壓到了 `C:\Program Files\Sublime Text 3\Data\Packages\CTags` 目錄下(前面那截請換成自己的sublime的安裝目錄)
CTags下載地址:https://github.com/SublimeText/CTags
windows使用還需要一個ctags.exe文件需要下載
下載地址:http://prdownloads.sourceforge.net/ctags/ctags58.zip
下載后解壓,這里面就包含一個ctags.exe文件,將它一個文件復制出來(其他都沒用了)放到c:/windows里面去,然后要修改相應的配置文件。 通過將 Preference(首選項) -> Package Settings(插件控制) -> Ctags -> Settings Default 中的內容拷貝到 Setting User中,將 "command": "" 中的 "" 填入Ctags.exe的路徑位置:
~~~
修改之前:"command": "",
修改之后:"command": "C:\\windows\\ctags.exe",
~~~
搞定之后,在側左欄的工程/項目文件上右鍵會看到「CTags: Rebuild Tags」菜單項,這時候我們就可以生成「.tags」的索引文件了,方式如下:
使用「Win+R」:輸入指令「`cmd`」,回車。「`cd`」指令進入要跟蹤的目標文件夾,輸入:「`ctags -R -f .tags`」 手動生成.tags文件。
當你看到文件夾中多了一個 `.tags` 的文件的時候,恭喜你,搞定了。隨便選擇一個父類名或者函數名,右鍵選擇 `Navigate to Definition` 就可以跳轉過去了,或者按住「`Ctrl + shift + 左鍵`」也可以跳轉。不過這個索引文件真不小!
### 3. 設置代碼片段
* * * * *
**打開菜單「Tools > Developer > New Snippet**」
默認是:
~~~
<snippet>
<content><![CDATA[
Hello, ${1:this} is a ${2:snippet}.
]]></content>
<!-- Optional: Set a tabTrigger to define how to trigger the snippet -->
<!-- <tabTrigger>hello</tabTrigger> -->
<!-- Optional: Set a scope to limit where the snippet will trigger -->
<!-- <scope>source.python</scope> -->
</snippet>
~~~
快捷鍵設置:
~~~
<tabTrigger>hello</tabTrigger>
~~~
關閉注釋內容即可。
~~~
<content><![CDATA[
Hello, ${1:this} is a ${2:snippet}.
這里寫代碼片段
]]></content>
~~~
CDATA[] 內就是你要補全的代碼片段。
~~~
${序號:默認值}
~~~
**修改補全的代碼片段**
如:
~~~
<snippet>
<content><![CDATA[
/**
* ${1:功能注釋}
* @param ${2:數據類型} ${3:變量名} ${4:注釋}
* @return void
*/
]]></content>
<tabTrigger>phpdoc</tabTrigger>
<!-- <scope>source.python</scope> -->
</snippet>
~~~
**保存代碼片段**
保存路徑:`C:\Program Files\Sublime Text 3\Data\Packages\User`
或者:`C:\Program Files\Sublime Text 3\Data\Packages\snippet`
(備注:具體視你安裝的路徑而定)
