Sublime

Sublime 是一个跨平台的编辑器,同时支持 Windows、Linux、Mac OS X 等操作系统,由程序员 Jon Skinner 于 2008 年 1 月份所开发出来,它最初被设计为一个具有丰富扩展功能的 Vim。

Package Control

  1. 打开 Sublime Text 控制台:View > Show Console
  2. 复制下面的代码到控制台,然后回车;

    • 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')
  3. 重启 Sublime Text,然后打开 Package Control:ctrl + shift + p > package control

字体

  1. 打开用户设置:Preferences > Setting - User
  2. 添加配置项:"font_face": "YaHei Consolas Hybrid"

插件

必备

  • ConvertToUTF8: 编辑和保存文件编码为 GBK, BIG5, EUC-KR, EUC-JP, Shift_JIS 等格式。
  • EncodingHelper: 在状态栏显示文件编码。

代码导航

语法高亮

语法检查

语法分析

代码片段

代码格式

Markdown

  • MarkdownEditing
  • Markdown Preview

其他

主题

我自己使用的主题是 Theme - Spacegray,可以访问网址 https://packagecontrol.io/browse/labels/theme 寻找自己想要的主题。

  1. 打开命令面板:ctrl + shift + p
  2. 查找命令:Package Control: install Package
  3. 查找主题:Theme - Spacegray
  4. 打开用户设置:Preferences > Setting - User,并添加下列配置项:
    • "theme": "Spacegray.sublime-theme"
    • "color_scheme": "Packages/Theme - Spacegray/base16-eighties.dark.tmTheme"

更多主题

配色

快捷键

代码导航

  • 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:标尺

问题

参考文献

文档

社区论坛

推荐书籍

视频

精选博文

其他

Mac

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
[
/* tab */
{ "keys": ["super+pageup"], "command": "prev_view" },
{ "keys": ["super+pagedown"], "command": "next_view" },
/* find */
{ "keys": ["f3"], "command": "find_next" },
{ "keys": ["shift+f3"], "command": "find_prev" },
/* cursor*/
{ "keys": ["super+left"], "command": "move", "args": {"by": "subwords", "forward": false} },
{ "keys": ["super+right"], "command": "move", "args": {"by": "subword_ends", "forward": true} },
{ "keys": ["home"], "command": "move_to", "args": {"to": "bol", "extend": false} },
{ "keys": ["end"], "command": "move_to", "args": {"to": "eol", "extend": false} },
/* line */
{ "keys": ["super+up"], "command": "swap_line_up" },
{ "keys": ["super+down"], "command": "swap_line_down" },
/* comment */
{ "keys": ["super+shift+forward_slash"], "command": "toggle_comment", "args": { "block": true } }
]

Linux

  1. 解决 Sublime Text 无法使用中文输入法:http://www.jianshu.com/p/bf05fb3a4709