Sublime 是一个跨平台的编辑器,同时支持 Windows、Linux、Mac OS X 等操作系统,由程序员 Jon Skinner 于 2008 年 1 月份所开发出来,它最初被设计为一个具有丰富扩展功能的 Vim。
Package Control
- 打开 Sublime Text 控制台:
View > Show Console
; 复制下面的代码到控制台,然后回车;
Sublime Text 3
1
import urllib.request,os,hashlib; h = '2915d1851351e5ee549c20394736b442' + '8bc59f460fa1548d1514676163dafc88'; 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)
Sublime Text 2
1
import urllib2,os,hashlib; h = '2915d1851351e5ee549c20394736b442' + '8bc59f460fa1548d1514676163dafc88'; 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')
重启 Sublime Text,然后打开 Package Control:
ctrl + shift + p
>package control
;
字体
- 打开用户设置:
Preferences > Setting - User
- 添加配置项:
"font_face": "YaHei Consolas Hybrid"
插件
- 仓库地址: https://packagecontrol.io/
- 统计地址: https://packagecontrol.io/stats
- 概览地址: https://packagecontrol.io/browse
- 文档地址: https://packagecontrol.io/docs
必备
- ConvertToUTF8: 编辑和保存文件编码为 GBK, BIG5, EUC-KR, EUC-JP, Shift_JIS 等格式。
- EncodingHelper: 在状态栏显示文件编码。
代码导航
语法高亮
语法检查
语法分析
- SublimeLinter
- SublimeLinter-html-tidy
- SublimeLinter-contrib-mdl
- SublimeLinter-json
- SublimeLinter-jshint
- SublimeLinter-jscs
- SublimeLinter-contrib-eslint
- SublimeLinter-jsxhint
- SublimeLinter-csslint
- SublimeLinter-contrib-scss-lint
- SublimeLinter-contrib-sqlint
- SublimeLinter-javac
- SublimeLinter-xmllint
代码片段
- Emmet
- AngularJS
- Babel Snippets:React Snippet
- Better CoffeeScript
- Bootstrap 3 Snippets
- Comment-Snippets
- Console API Snippets (JavaScript)
- DocBlockr
- JavaScript Console
- JavaScript Snippet
- CSS Media Query Snippets
- CSS Snippets
- HTML Snippets
- jQuery Snippets pack
http://www.hongkiat.com/blog/sublime-code-snippets/ - Nodejs
- React-native-snippets
- ReactJS
- TypeScript
代码格式
- EditorConfig
- HTML/CSS/JS Prettify
- HTMLBeautify
- JsFormat
- Sublime-CSS-Format
- CSS Format
- Pretty JSON
- SublimeAStyleFormatter
- CodeFormatter
- Alignment
- SqlBeautifier
- Indent XML
Markdown
- MarkdownEditing
- Markdown Preview
其他
- SideBarEnhancements: 增强侧边栏
- SideBarGit: 侧边栏增加 git 命令
- Focus File on Sidebar
- Modific: 高亮自从上一次提交后的修改行
- ExpandRegion: 扩展选区
- MultiEditUtils
- Color Highlighter: 颜色高亮
- ApplySyntax: 语言分析增强
- IMESupport: Windows 下输入法支持, 解决输入法的输入栏不在光标位置的问题
- Package Syncing: 插件同步工具
- HexViewer: 十六进制文件查看
- Clipboard History: 剪贴板历史
- SyncedSideBar
- Terminal: 从当前文件或项目根路径启动控制台
- [BracketHighlighter](https://sublime.wbond.net/packages/BracketHighlighter: 括号高亮
- Autoprefixer: CSS 自动加前缀
- Vintageous:vi / vim 模拟器
- Alignment
- Can I Use
- Tag
- AutoFileName
- AllAutocomplete
- SublimeREPL:在编辑器中运行多种编程语言
- ColorPicker
- zeal
View In Browser:在浏览器中打开文件,并支持本地服务器
- node.js simply not working, at all:解决无法运行 Node 的问题
Vintageous:vi/vim 模拟器
主题
我自己使用的主题是 Theme - Spacegray
,可以访问网址 https://packagecontrol.io/browse/labels/theme 寻找自己想要的主题。
- 打开命令面板:
ctrl + shift + p
- 查找命令:
Package Control: install Package
- 查找主题:
Theme - Spacegray
- 打开用户设置:
Preferences > Setting - User
,并添加下列配置项:"theme": "Spacegray.sublime-theme"
"color_scheme": "Packages/Theme - Spacegray/base16-eighties.dark.tmTheme"
更多主题
- https://sublime.wbond.net/browse/labels/theme
- soda-theme
- Nexus
- Flatland
- Material Theme
- Spacegray Light
- Spacegray Dark
- Tomorrow Color Schemes
- 2015 – 2016 最新 Sublime Text 主题
配色
快捷键
代码导航
- ctrl + p: 文件定位
- 查找文件, 斜杠代表路径, 支持模糊匹配
@
: 符号跳转#
: 关键字跳转:
: 行号跳转
- ctrl + ;: 词语定位
- ctrl + r: 函数定位
- ctrl + g: 行数定位
- F12:查看定义
- alt+minus:返回
代码查找
- 选中关键字
- f3: 下一个
- shift f3: : 上一个
- ctrl + f: 普通查找
- enter: 下一个
- shift + enter: 上一个
- alt + enter: 选中其出现的所有位置
- alt + r: 切换正则表达式模式
- alt + c: 切换大小写敏感模式
- alt + w: 切换整字匹配模式
- ctrl + h: 查找替换
- ctrl + shift + h: 替换当前关键字
- ctrl + alt + enter: 替换所有匹配关键字
- ctrl + shift + f: 在文件夹中查找
- ctrl + i: 代码字符串定位
代码选择
- ctrl + m: 光标在开闭括号之间跳转
- ctrl + shift + m: 将匹配括号中的内容选中
- ctrl + left/right: 向左或向右移动一个单词的光标
- ctrl + d: 选中相同的词(可用于修改本地变量名)
- ctrl + k:
- ctrl + alt + up/down: 将选中的区域分割成多行选中状态
- shift + 鼠标右键拖动: 多重光标选中
- ctrl + l: 选中一行
- ctrl + shif + j: 已缩进层级为依据,一层层向外选中
- alt + f3: 选择所有相同的词
- ctrl + shift + ‘: 选中 HTML 一对标签(Emmet)
- ctrl + shift + space: 扩展选取(ExpandRegion)
代码编辑
- ctrl + shift + enter: 向光标前插入一行
- ctrl + enter: 向光标后插入一行
- shift + ctrl + up/down: 上下移动行
- ctrl + shift + d: 复制粘贴当前行
- ctrl + shift + v: 以当前缩进粘贴代码
- ctrl + J: 拼接行(css格式化时挺有用)
- ctrl + k, k: 从光标开始的地方删除到行尾
- ctrl + shift + backspace: 左侧全部删除
- ctrl + shift + delete: 右侧全部删除
- ctrl + shift + k: 删除当前行
- ctrl + x: 删除当前行
- ctrl + t: 相邻字母互换位置
- ctrl + [: 向左缩进
- ctrl + ]: 向右缩进
- ctrl + /: 注释
- ctrl + shift + /: 当前位置插入块注释
- ctrl + z: 恢复至前编辑状态
- ctrl + y: …
- ctrl + k, u: 转换选中文本为大写
- ctrl + k, l: 转换选中文本为小写
- ctrl + e: emmet
- ctrl + shift + y: 将光标处的表达式计算,对于数学不好的很有用
视图
- ctrl + shit [: 折叠代码
- ctrl + shift ]: 展开代码
工程
- shift + alt + p: 切换项目
窗口/标签
- ctrl + shift + n: 创建一个新窗口
- ctrl + n: 新增标签
- ctrl + shift + t: 打开最后一次关闭的文件
- ctrl + tab: 循环遍历标签
- ctrl + shift + tab: 反向循环遍历标签
- ctrl + pgup: 前一标签
- ctrl + pgdn: 后一标签
- ctrl + w: 关闭标签
- ctrl + shift + w: 关闭所有标签
分屏
- Alt + Shift + 2: 左右分屏
- Alt + Shift + 8: 上下分屏
- Alt + Shift + 5: 上下左右分屏
- ctrl + 数字: 跳转到指定屏
- ctrl + shift + 数字键: 将当前屏移动到指定屏
通用
- ctrl + f2: 设置书签
- f2: 切换书签
- f11: 全屏
- shift + f11: 无干扰全屏
- ctrl + shift + p: 打开命令行, 并利用缩写快速查找命令
- package control/pc: 包管理器, 常用命令: pci(安装插件), pcr(卸载插件), pcd(禁用插件), pce(启用插件)
- project: 项目
- snippet: 代码片段
- set syntax/ss: 语法设置命令
- ctrl + k, ctrl + b: 隐藏/打开侧边栏
项目
配置
- trim_trailing_white_space_on_save,自动移除行尾多余空格,处女座更安心了
- ensure_newline_at_eof_on_save,文件末尾自动保留一个空行,懂的人自然知道它的用处
- font_face 设置字体。Microsoft YaHei Mono 是一款混合字体,专为代码优化,看起来很舒服。当然你也可以使用你自己喜欢的字体,或者删掉本行,使用默认字体
- disable_tab_abbreviations 设置为 true ,禁用 Emmet 的 tab 键功能(请使用 ctrl+e),系统自带的 tab 功能还是可圈可点的。当然你也可以不设置它,以完全使用 Emmet 的 tab 补全功能
- translate_tabs_to_spaces 很明白就是把代码 tab 对齐转换为空格对齐,tab_size 配合设置空格数。这个需求因人而异了,不喜欢可以去掉
- draw_minimap_border,用于右侧代码预览时给所在区域加上边框,方便识别
- save_on_focus_lost,窗口失焦立即保存文件,嘛嘛再也不用担心你忘记保存了
- highlight_line,当前行高亮
- word_wrap,设置自动换行
- fade_fold_buttons,默认显示行号右侧的代码段闭合展开三角号
- bold_folder_labels,侧边栏文件夹显示加粗,区别于文件
- highlight_modified_tabs,高亮未保存文件
- default_line_ending: “unix”, 使用 unix 风格的换行符
- auto_find_in_selection: true ,开启选中范围内搜索(而不是整个文档
- ignored_packages: 禁用的插件
- auto_find_in_selection: 在选中范围内搜索和替换
- caret_style: phase, 使光标闪动更加柔和
- rulers: [80, 100], 行宽标尺
- draw_white_space: all, 显示空白字符
- folder_exclude_patterns: 文件夹排除模式
1
2
3
4
5
6
7
8"folder_exclude_patterns": [
".svn",
".git",
".hg",
"CVS",
"node_modules",
"bower_components"
]
自动换行
- word_wrap
- true:开启自动换行(不会出现水平滚动条)
- false: 关闭自动换行(出现水平滚动条)
- auto:如果代码的话,开启自动换行,否则不自动换行
- wrap_width
- 0:超出窗口宽度时自动换行
- 大于零:代码长度超出该值时自动换行
- rules:标尺
问题
- Getting full JS autocompletion under Sublime Text
- http://emmet.io/blog/sublime-tern/
- http://sublimecodeintel.github.io/SublimeCodeIntel/
不支持
.eslintignore
:default to .eslintignore, allow overrides
参考文献
文档
- 官方文档:http://www.sublimetext.com/docs/3/
- 非官方文档: http://sublime-text-unofficial-documentation.readthedocs.org/
社区论坛
- 官方论坛:http://www.sublimetext.com/forum/
- Stack Overflow Sublime Text
- Stack Overflow Sublime Text 2
- Stack Overflow Sublime Text 3 — 比官方文档还要全面
- Package Control: https://sublime.wbond.net/ — 大量的Sublime Text插件和主题
推荐书籍
- Mastering Sublime Text — 书中介绍的插件很实用,但对编辑技巧介绍不全
- Instant Sublime Text Starter
视频
- Getting Started with SublimeText:https://www.youtube.com/watch?v=04gKiTiRlq8
- Sublime Text Pefect Workflow:https://www.youtube.com/watch?v=bpEp0ePIOEM&list=PLuwqxbvf3olpLsnFvo06gbrkcEB5o7K0g
- 前端开发工具技巧介绍—Sublime篇: http://www.imooc.com/learn/40
精选博文
其他
- Sublime Text:初学者不知道的那些事
- 译:Sublime Text 2 项目设置
- Sublime Text 知乎话题
- Sublime Text 有哪些实用技巧
- 常用代码片段
- Sublime Text 2 Tips and Tricks
- Sublime Text 2 入门及技巧
- 一些必不可少的Sublime Text 2插件
- Sublime Text 3 调教你的私人利器(上
- Sublime Text 3 调教你的私人利器(下)
- Commands — Sublime Text Unofficial Documentation
- http://code.tutsplus.com/categories/sublime-text
- https://github.com/jikeytang/sublime-text
- 前端开发工具技巧介绍—Sublime篇
- 快乐的sublime编辑器
- Sublime Text 手冊
- Tuts+ Premium Course: Perfect Workflow in Sublime Text 2
- sublime text 使用攻略
- Emmet 插件使用教程
- 前端开发工具技巧介绍
- Raining » sublime Text 快捷键常用总结
- 我的 Sublime Text 2 笔记
- KeymapManager增加检测快捷键冲突的功能
- Emmet:HTML/CSS代码快速编写神器
- Sublime Text 2快捷键大全
- sublime-text-3-win 快捷键练习
- /markdown-to-pdf
- [KeymapManager增加检测快捷键冲突的功能http://www.welefen.com/keymapmanager-add-check-plugins-keymap-conflict-feature.html]
- 如何优雅地使用Sublime Text
- Sublime Text 2 - Files not opening a new tab?
Mac
1 | [ |
Linux
- 解决 Sublime Text 无法使用中文输入法:http://www.jianshu.com/p/bf05fb3a4709
- …