Sublime Text:一款具备代码高亮、语法提示、自动完成且反应快速的编辑器软件,不只具备华丽的界面,还支持插件扩展机制,用她来写代码,绝对是一种享受。相比于难于上手的Vim,浮肿沉重的Eclipse,VS,即使体积轻巧迅速启动的Editplus、Notepad++,在SublimeText面前大略显失色,无疑这款性感无比的编辑器是Coding和Writing最佳的选择,没有之一。javascript
相比于2,Sublime Text 3就秒启动一项,就压倒性地胜利了。所以在以后的叙述中都以Sublime Text 3为主角。而且3一直在不断的完善更新,具体的差别可参看Sublime Blog.简单的说:php
- ST3支持在项目目录里面寻找变量
- 提供了对标签页更好地支持(更多的命令和快捷键)
- 加快了程序运行的速度
- 更新了API,使用Python3.3
强烈推荐朋友们使用3! 惟快不破,不解释。css
优雅使用Sublime Text,插件则是不可缺乏的存在;而插件的备份就显得很是的重要(譬如:各平台同步;更换系统/电脑,迅速使用已安装的插件)。这事儿也很简单,只需将Packages
(Preferences > Browse Packages)中内容拷贝一份,同步云端便可;至于存储何处,云盘,Github,皆无不可;譬如先前有存一份于sublime_packages,每有所需只要 Down 下来,替换掉原Packages
下内容就好。html
Sublime Text的强大就是她拥有强大的课可扩展性。您可根据本身的须要安装不一样的插件;这使得她变的无比强大的同时又不失轻便。前端
插件安装方式一:直接安装:vue
安装Sublime text 3插件很方便,能够直接下载安装包解压缩到Packages目录(菜单->preferences->packages)。java
插件安装方式二:使用Package Control组件安装:node
按Ctrl+`调出console(注:安装有QQ输入法的这个快捷键会有冲突的,输入法属性设置-输入法管理-取消热键切换至QQ拼音)粘贴如下代码到底部命令行并回车:python
1 import urllib.request,os; pf = 'Package Control.sublime-package'; ipp = sublime.installed_packages_path(); urllib.request.install_opener( urllib.request.build_opener( urllib.request.ProxyHandler()) ); open(os.path.join(ipp, pf), 'wb').write(urllib.request.urlopen( 'http://sublime.wbond.net/' + pf.replace(' ','%20')).read())
重启Sublime Text 3。若是在Perferences->package settings中看到package control这一项,则安装成功。按下Ctrl+Shift+P调出命令面板输入install 调出 Install Package 选项并回车,而后在列表中选中要安装的插件。git
PS:国内使用SublimeText3,常常可能遇到没法安装可用插件问题,可remove掉Package Control从新安装下;如遇到连Package Control也没法安装,则能够在别处拷贝一份关于Package Control的文件-(Package Control.sublime-package)存放于Installed Packages
目录之下便可。
若是如上述操做,仍是不能正确安装,而且在 sublime 的 console 安装 package control 出现 275309
错误,那么去打开 Preferences->Settings 找到 ignored_packages 配置选项,删除其中对 Package Control 的约束便可(update@16-12-06)。
无插件,不神器!根据本身的须要定制属于本身的强大插件集;下面是一些经常使用的推荐。
Sublime Text3插件:加强篇
20个强大的SublimeText插件
做为在移动端旧游以后,又Web端新游的本身,墙裂推荐如下这么几款插件:
MarkDown Editing
SublimeText不只仅是可以查看和编辑 Markdown 文件,但它会视它们为格式很糟糕的纯文本。这个插件经过适当的颜色高亮和其它功能来更好地完成这些任务。关于如何在SublimeText下高效些东西可参见文章:sublime text 2(3)下的Markdown写做 抑或是前段时间写下的追寻高效工做的一路折腾㈡
SideBarFolders
打开的文件夹都太多了? 来用这个来管理文件夹,世界原来也能够这么美好。⭐️⭐️⭐️⭐️⭐️SideBarFolders
Sublime Terminal
这个插件可让你在Sublime中直接使用终端打开你的项目文件夹,并支持使用快捷键。
ColorPicker
一般,若是你想使用一个颜色选择器则可能打开 Photoshop 或 GIMP。而在 Sublime Text 中,你可使用内置的颜色选择器。安装完成后,只要按下Ctrl / Cmd + Shift + C 快捷键。
SublimeREPL
这多是对程序员颇有用的插件。SublimeREPL 容许你在 Sublime Text 中运行各类语言(NodeJS , Python,Ruby, Scala 和 Haskell 等等)。
Ctags插件
有童鞋抱怨Sublime Text不能支持函数的跳转(好比像Eclipse那样,按住Control点击该方法或者对象,便可跳转到定义的地方; Alt+←便可回到原处)。其实Sublime Text也能够借助插件实现之(固然,有些状况下:Can not find defination)毕竟这个也是借助正则来匹配完成的。所以这个也就要求代码很规范。这个插件相对来说会有些麻烦,具体的能够参见:Sublime Text ctags 的配置.
Update @2016-11: 在最新的3124版本中,Sublime已经注入了函数Show Definition
功能————which will show where a symbol is defined when hovering over it with the mouse;具体可参见Sublime Text 3 Build 3124。如此一来,Ctags 插件就显得很鸡肋了,并且它的配置辣么麻烦。
SublimeLinter插件
SublimeLinter 是前端编码利器——Sublime Text 的一款插件,用于高亮提示用户编写的代码中存在的不规范和错误的写法,支持 JavaScript、CSS、HTML、Java、PHP、Python、Ruby 等十多种开发语言。这篇文章介绍如何在 Windows 中配置 SublimeLinter 进行 JS & CSS 校验。
好比写例如像lua这样的弱语言脚本代码,有这个能够规避掉不少不应有的低级错误吧?固然这也须要你SublimeLinter安装完毕以后再安装一个SublimeLinter-lua
便可。具体的使用能够参见:借助 SublimeLinter 编写高质量的 JavaScript & CSS 代码
SideBarEnhancements插件
SideBarEnhancements是一款很实用的右键菜单加强插件;在安装该插件前,在Sublime Text左侧FOLDERS栏中点击右键,只有寥寥几个简单的功能;安装了就至关于给其丰了大胸通常。⭐️⭐️⭐️⭐️
更强大的是,该插件还能让咱们自定义快捷键呼出某个浏览器以预览页面!这样就不用到项目目录下寻找和拖动到特定浏览器中预览了。
安装此插件后,点击菜单栏的preferences->package setting->side bar->Key Building-User,键入如下代码:
1
2
3
4
5
6
7
8
9
10
11
|
[
{
"keys": ["ctrl+shift+c"], "command": "copy_path" },
//chrome
{
"keys": ["f2"], "command": "side_bar_files_open_with",
"args": {
"paths": [],
"application": "C:\\Users\\jeffj\\AppData\\Local\\Google\\Chrome\\Application\\chrome.exe",
"extensions":".*"
}
}
]
|
这里设置按Ctrl+Shift+C复制文件路径,按F2便可在Chrome浏览器预览效果(若是须要的话,也能够根据本身的须要为Firefox,Safari,IE,Opera等加上),固然你也能够本身定义喜欢的快捷键,最后注意代码中的浏览器路径要以本身电脑里的文件路径为准。
HTML-CSS-JS Prettify
一款集成了格式化(美化)html、css、js三种文件类型的插件,即使html,js写在PHP文件以内。插件依赖于nodejs,所以须要事先安装nodejs,而后才能够正常运行。插件安装完成后,快捷键ctrl+shift+H完成当前文件的美化操做。插件对html、css文件的美化不是很是满意,但还能够,后面将说明如何修改css美化脚本。本人用起来超级爽的,鉴于篇幅,就不赘述,能够参见这篇介绍。
CSScomb CSS属性排序:
有时候看看本身写的CSS文件,会不会以为属性很乱查找不易维护难?CSScomb能够按照必定的CSS属性排序规则,将杂乱无章的CSS属性进行从新排序。选中要排序的CSS代码,按Ctrl+Shift+C,便可对CSS属性从新排序了,代码今后简洁有序易维护,若是不款选代码则插件将排序文件中全部的CSS属性。固然,能够本身自定义CSS属性排序规则,打开插件目录里的CSScomb.sublime-settings文件,更改里面的CSS属性顺序就好了。由于这个插件使用PHP写的,要使他工做须要在环境变量中添加PHP的路径,具体请看github上的说明。
SublimeTmpl 快速生成文件模板
一直都很奇怪为何sublime text 3没有新建文件模板的功能,像html头部的DTD声明每次都要复制粘贴。用SublimeTmpl这款插件终于能够解脱了,SublimeTmpl能新建html、css、javascript、php、python、ruby六种类型的文件模板,全部的文件模板都在插件目录的templates文件夹里,能够自定义编辑文件模板。⭐️⭐️⭐️⭐️+
SublimeTmpl默认的快捷键:
1
2
3
4
5
6
|
ctrl+alt+h html
ctrl+alt+j javascript
ctrl+alt+c css
ctrl+alt+p php
ctrl+alt+r ruby
ctrl+alt+shift+p python
|
若是想要新建其余类型的文件模板的话,先自定义文件模板方在templates文件夹里,再分别打开Default (Windows).sublime-keymap、Default.sublime-commands、Main.sublime-menu、SublimeTmpl.sublime-settings这四个文件照着里面的格式自定义想要新建的类型,这里就详细介绍了,请各位本身折腾哈~
Javascript-API-Completions:
支持Javascript、JQuery、Twitter Bootstrap框架、HTML5标签属性提示的插件,是少数支持sublime text 3的后缀提示的插件,HTML5标签提示sublime text3自带,不过JQuery提示仍是颇有用处的,也可设置要提示的语言。sublime-jq-plugin
SFTP:快速编辑远程服务器文件
在Win下用Xftp
和 WinScp
,被这种须要切换点击or F5刷新的手动操做蛋疼到无语;故此一碰见这SFTP
,顿觉这世界都美好了许多。固然Sublime下面也有些其余同步插件,好比FtpSnyc
,可是配置起来的错误提示一点都不人性化,就绝不留情的舍弃了。Sublime下有SFTP
,只要Ctrl+S
便可同步本地到服务器,妥妥的爽歪歪有么有?如何配置,请参见在 Sublime Text中使用 SFTP 插件快速编辑远程服务器文件;如欲使用FtpSync
可参见Sublime使用及FtpSync远程同步;大道至简,因简而悦;开心垒码,值得折腾。
WakaTime – 记录你的Code时间;
WakaTime能够作到精确地统计到你花在某个项目上的时间;WakaTime针对不一样的IDE,拥有不一样的插件,在Sublime上安装着插件,就能统计到我使用Sublime进行的全部项目的行为。能够高效管理和知晓本身code时间;而且,统计完善, 适合发朋友圈装逼(若是你喜欢的话)~
Waka的基本设计和rescuetime相似。每一个人注册完将获取一个key,装一个客户端,把key输进去(登录是同一个道理),而后它就把本地的全部行为带个key扔给服务器来统计,一段时间以后给你个报表。不过Waka作的真的很精准,精确到每个文件用了多少秒,每一种语言用了多少时间。
安装和使用都很简单,请参见这里。另一篇比较详细的文章时间都去哪了?用RescueTime和WakaTime来记录你的时间,对RescueTime和WakaTime有一个更为详细的叙述,能够一读。
DocBlockr: 代码块注释
能够快速的对函数进行注释。保持代码规范。支持多种语言,有 JavaScript (including ES6), PHP, ActionScript, Haxe, CoffeeScript, TypeScript, Java, Apex, Groovy, Objective C, C, C++ and Rust.
/*
:回车建立一个代码块注释/**
:回车在自动查找函数中的形参等等。它会生成 JSDoc 格式的注释。若是你从没有使用过相似的工具,DocBlockr 会让你以为之前没有它是如何写代码的。帮助你创造你的代码注释,经过解析功能,参数,变量,而且自动添加基本项目;若是你愿意其更为便捷,不妨再结合AutoHotKey
,高效注释,由此开启。
sublime-text-git: Git 版本控制
可视化的操做:帮助你与你的Git repo协议进行交互。它支持不少命令像init,push, pull, branch, stash,等等。使用它固然提早须要安装 Git,并作好响应的配置;对于这个插件,不妨看下这篇文章 Using Git Inside of Sublime Text to Improve Workflow,相信她的伴随不会让你失望的。⭐️⭐️⭐️⭐️⭐️
advancedNewFile: 快速建立文件
当咱们在 Sublime Text 编辑器里咱们能够经过快捷键command+n
(win: ctrl+n
),来新建一个文件,而后command+s
(Win:ctrl+s
)进行弹出保存框,填写文件名进行保存。仍是老问题,麻烦!!咱们接下来就经过安装advancedNewFile插件来提高咱们在Sublime Text编辑器下的建立文件速度。⭐️⭐️⭐️⭐️
关乎其使用,安装完成以后,运用快捷键command+alt+n
(win: ctrl+alt+n
)
,Sublime Text底部会弹出输入框;咱们只需在这个输入框里输入咱们须要新建的文件名回车便可(咱们甚至能够带路径,譬如:src/components/perfect.vue;这就会在当前项目目录下,创建该文件;须要注意的是这路径前面不可加 ‘/‘, 这会使得创建的路径成为用户目录,而非改项目目录)。默认状况下文件会存储在当前目录,若是当前没有目录,会存储在用户的家目录。
TrailingSpaces: 检测并一键去除代码中多余的空格
这款插件自己倒没什么。可是若是你写前端,并处在当下这个时代,她就颇有用(话说,Eslint 等工程限制级工具必须使用吧,那么项目对于空格的约定确定是有必要的,但也会令你头疼吧?那么这款插件的做用就体现出来了)她能够自动将多余的空格标红,以示提醒。固然,若是你想一键摒除之,这也很好办,加入一点配置便可:在 Preferences / Key Bindings – User加上以下代码便可(数组内部,固然快捷键可自行约定,我这里用的是 ctrl+shift+d
);(⭐️⭐️⭐️⭐️⭐️ For Front-End)
1
|
{ "keys": ["ctrl+shift+d"], "command": "delete_trailing_spaces" }
|
剩下些许其余的能够按需安装的插件,好比:
Vue
框架开发,是一个很酷爽的存在,那么此插件也就颇有必要拥有;同时Jade
, SASS
等插件也是颇有拥有的必要,谁用谁知道(说到用vue, 这vue-cli
就蛮有使用的必要了( Webpack, Eslint, Test等都配置完善,十分贴心); 而写Js代码,于稍大项目 Eslint 就颇有使用必要,而 sublime 在针对使用 Eslint 的 *.vue
文件,目测尚未很好格式化插件,坐等诞生😳)。
Commond Shift P
打开命令面板:例如打开Package Control安装各类插件;能够能够输入Set(Snytax)来改变使用的语言环境,瞬间切换等等。设置快捷键。在SublimeText里,打开Preferences -> Key Bindings - User,我设置的快捷键:
1
2
3
4
5
|
[
{ "keys": ["ctrl+f9"], "command": "build" },
{ "keys": ["f10"], "command": "build", "args": {"variant": "Run"} },
{ "keys": ["ctrl+shift+x"], "command": "toggle_comment", "args": { "block": true } },
]
|
具体可参见这边文章Sublime Text3 快捷键汇总及设置快捷键配置环境变量
定制属于本身的专属快捷键:
好比就拿定制Sublime Text(2/3)编译lua 的快捷键来讲:
首先:下安装lua环境(MAC)
1
2
3
4
|
curl -s https://raw.githubusercontent.com/rudix-mac/rpm/2014.10/rudix.py | sudo python - install rudix
或者:curl -O https://raw.githubusercontent.com/rudix-mac/rpm/2014.10/rudix.py
sudo python rudix.py install rud
|
安装IED:SublimeText3;完毕后上面选择:Build System–New Build System 输入:
1
2
3
4
5
|
{
"cmd": ["/usr/local/bin/lua", "$file"],
"file_regex": "^(...*?):([0-9]*):?([0-9]*)",
"selector": "source.lua"
}
|
保存为Lua.sublime-build,而后Tools-Build System上就能选择lua来编译脚本了)
PS:网上找到的大多数都是 “cmd”: [“lua”, “$file”]可能我是用rudix自动来安装lua的,须要改一下路径。
新建一个xx.lua文件,随便写个语句,选择lua为build system,按一下command+b
,就能跑出来了。 以下图所示:LuaShortCutSublimeText
WindowS下面的定制请参看这里Sublime Text(2/3)编译lua
—更新2015.05.21 15:50 ShenZhen@nanshan
对于这个依赖于插件的强大性感无比开源编辑器;优雅的适用之,就在于合理的使用须要的插件,走一条快准狠的键盘一刀流。这个固然能够本身用python来写,可是通常的需求基本上都已经有人完成,仍是不浪费时间本身造轮子了。今儿就再赘述一些使用的经验,让使用她能够更加优雅。
(1) Ctrl+O(Command+O)能够实现头文件和源文件之间的快速切换
(2) 经过 View -> Side bar 可在左侧显示当前打开的文件列表;默认快捷键 Ctrl+k+b
(Win) ‘Command+k+b’,这样很繁琐,能够配置成本身以为舒服的。好比个人的配置就采用和 Atom 相同,使用Command+\
;能够在 Preferfences –> Key Bindings User –> 中加入以下一条便可(Windows,命令配置写”Ctrl+\“):
{ “keys”: [“Command+\“], “command”: “toggle_side_bar” }
(3) ST3虽然不像notepad++能够在sidebar上显示函数列表,可是可经过Ctrl+R查看
(3) 经过 Preference -> Key binding user 可根据我的操做习惯自定义快捷键(包括ST3自带的和插件的)
(4) 双击可选中光标所在单词,三击可选中光标所在行(等同于Ctrl+L
(Command+L));
(5) Ctrl+Shift+T能够打开以前关闭的tab页,这点同chrome是同样的
(6)Ctrl+R定位函数;Ctrl+G定位到行;
(7) 单个文件批量修改:纯相同的内容:选中须要修改的内容Alt+F3
(Mac下默认的是Ctrl+Command+G
) , 或者连续 Ctrl+D(Win) /连续 Command+D(Mac)以后从新写便可,使用Ctrl + U
进行回退,使用Esc退出多重编辑。
不纯相同却有必定规律可循的内容:这个就须要借助SublimeText强大正则的支持了。可使用Ctrl+H
(Mac下是Alt+Command+F
)调出:SublimeText
正则表达式是很是强大的文本查找&替换工具,Sublime Text中使用Alt + R切换正则匹配模式的开启/关闭。Sublime Text的使用Boost里的Perl正则表达式风格。鉴于篇幅,加之自己就对这个不甚熟悉,这里就再也不多啰嗦;如下是一些能够参考的文章:
(8) 有时咱们须要对一片区域的全部行进行同时编辑,Ctrl+Shift+L
能够将当前选中区域打散,而后进行同时编辑:SublimeText
(9)有打散天然就有合并,Ctrl + J
(mac下Command+J)能够把当前选中区域合并为一行:SublimeText
(10)在Ctrl + P
(Command+P)匹配到文件后,咱们能够进行后续输入以跳转到更精确的位置:
@symbol
跳转到symbol符号所在的位置#keyword
跳转到keyword所在的位置:12
跳转到文件的第12行。(11)Ctrl + Enter
(Mac~Command+Enter)在当前行下面新增一行而后跳至该行;Ctrl + Shift + Enter
在当前行上面增长一行并跳至该行。
(12)Sublime Text的查找有不一样的模式:Alt + C
切换大小写敏感(Case-sensitive)模式,Alt + W切换整字匹配(Whole matching)模式,除此以外Sublime Text还支持在选中范围内搜索(Search in selection),这个功能没有对应的快捷键,但能够经过如下配置项自动开启。
“auto_find_in_selection”: true
这样以后在选中文本的状态下范围内搜索就会自动开启,配合这个功能,局部重命名(Local Renaming)变的很是方便:SublimeText
(13)Windows下Ctrl + ←/→
进行逐词移动,相应的,Ctrl + Shift + ←/→
进行逐词选择。SublimeText
而Mac下的Command+←/→
是从一端移动到另外一端;相应的,Command + Shift + ←/→
是从一端选择到另外一端。Mac 下 option 加上左右键能够逐词移动;
(14) Windows下Ctrl + ↑/↓
移动当前显示区域,Ctrl + Shift + ↑/↓
移动当前行。SublimeText
而Mac下的Command + ↑/↓
是从当前行移动到头/尾;相应的,Command + Shift + ↑/↓
是从当前行选择到头/尾;
(15)使用Ctrl + N
在当前窗口建立一个新标签,Ctrl + W
关闭当前标签,Ctrl + Shift + T
恢复刚刚关闭的标签。
(16)编辑代码时咱们常常会开多个窗口,因此分屏很重要。Windows下:Alt + Shift + 2
进行左右分屏,Alt + Shift + 8
进行上下分屏,Alt + Shift + 5
进行上下左右分屏(即分为四屏)。
(17)Sublime Text基本的手动格式化操做包括:Ctrl + [
向左缩进(等同于将一块选中Shift+Tab),Ctrl + ]向右缩进(等同于将一块选中后Tab键),注解: Ctr+[ 和 Ctr+[ 针对一块连续内容使用,无需选中;此外Ctrl + Shift + V能够以当前缩进粘贴代码(很是实用)。
(18) (好吧,尝试了下Windows下的这个,目测不行,看来须得安装下Clipboard-history插件~(粘贴板历史记录)才行啊)(Mac下Command+Shift+V),粘贴之时能够调出以前粘贴过的内容(以一个轻量弹框显示以供选择),哇哦,才发现这个功能,感受棒棒哒😄😄。Ctrl+Shift+V
SublimeText
(19) Sublime text 删除插件步骤:“Ctrl+Shift+P”—“Remove Package”—“找到须要删除的插件,并点击便可删除”;
(20) 做为强大而小巧,性感且快捷的SublimeText,怎么可以容许不时弹个框提醒你购买或者别的,而且顶部有未注册这样破坏美感的存在呢?OK,输入Sublime text 3最新版破解方法中提供的注册码,就妥妥的哦了。
SublimeText 她不只仅是做为性感无比,强大可大编辑器的存在;要知道在现在这么靠脸吃饭的时代,她的美者这方面怎么可能不臻至完美呢?Mac和Windows都默认十多种不一样风格的主题,想必会有您喜欢😍的。即使没有也不要紧,咱们能够本身定制本身喜欢的风格主题。在线制做专属Sublime Text主题。这个网址能够轻松按照本身的意愿制做喜欢的主题。完毕以后将生成的xx.sublime.theme文件,点开Preferences -> Browsr Packages这个,放在这个直属目录之下,便可在Theme处选择这个主题了,亲测没有问题。
后记:做为如此便捷的她(Sublime Text3),值得分享确定不止这些,在Coding and Writing路上,要继续去发现和发扬她的美,未完待续…
–写于2015.04.17 22:49 ShenZhen@nanshan
—更新2015.08.31 11:59 ShenZhen@nanshan—
首先安装nodejs:
固然你可使用其它诸如jsc之类的环境来运行js, 本文使用的是nodejs. 首先确保你的电脑已经安装好nodejs, 并已将其添加到环境变量中 (通常安装时自动添加或者询问是否添加)
添加build system:
在sublime text中依次打开Tools -> Build System -> New Build System… 粘贴如下代码后保存(如Node.sublime-build), 而后把Build System设成Automatic
{ “cmd”: [“node”, “–use-strict”, “–harmony”, “$file”], “selector”: “source.js”}
附加说明:
在以上的build文件中(Node.sublime-build), node是执行命令, –harmony和–use-strict是执行参数, $file是当前文件名, 因此一次build操做实际上至关于在命令行中执行了node –use-strict –harmony filename
. –harmony表示启用ES Harmony features, 而这些features目前只能在strict模式下运行, 因此须要同时添加use-strict参数(详见what-is-extended-mode).
若是不想启用es6的特性,把build文件更改为如下代码保存便可.
{ “cmd”: [“node”, “$file”], “selector”: “source.js”}
具体使用:
在sublime test中新建一个test.js文件, 而后输入你的测试代码, 好比:
1
2
3
|
for (let i = 0; i < 3; i++) {
console.log('i:', i);
}
|
使用快捷键 ctrl + b
, 将获得如下执行结果:
1
|
i: 0i: 1i: 2[Finished in 0.1s]
|
舒适注解:
不只主题能够更换,图标也能够。在Dribbble上有大量从新设计的Sublime Text精美图标。更换方法:
.icn
s格式的最好。若是没有,用iConvert转换之。open /Applications/Sublime\ Text.app/Contents/Resources/
Sublime Text 3.icns
或Sublime Text 2.icns
文件。若是你常用SublimeText从事英文创做,那么启用拼写检查就很是有用处了。选择Preferences > Settings – User
菜单,添加如下代码:
“spell_check”: true,
本文转自:http://www.jeffjade.com/2015/12/15/2015-04-17-toss-sublime-text/?jianshu