• Sublime Text 3—Mac版
    • 特色功能
    • 下载安装
    • 插件安装
      • 安装Package Control
    • 配置修改
      • 备份配置
    • 插件推荐
      • 已安装的插件
      • 主题配色和代码配色
      • ST辅助类
      • 代码显示辅助类
      • 代码书写辅助类
    • 使用技巧
      • 快捷键操作
      • snippet
      • build命令和Macro命令
    • 参考文档

    Sublime Text 3—Mac版

    Mac篇其实应该和Windows差不多,主要区别是一些按键的设置和插件的配置。

    特色功能

    • super+p,搜索。这个搜索可以左侧的Folders里所以文件,而且是模糊搜索,不需要完整的文件名。配合#, @, :可以搜索变量,函数,行数。
    • 多行编辑。按住super加左击,可以出现多个光标位置。
    • 多重选择, super+d可以多重选择,结合光标键,可以批量修改。
    • 多屏编辑,super+alt+数字键。
    • Projects,通过View->Side Bar->show Side Bar左侧文件结构管理。
    • snippet, 不同格式的文件,可以设置不同的snippet,就是简写,通过tab扩展成相应的内容。
    • 各种插件支持
    • 正则表达式搜索,比如我要删除所有的空行,可以使用^[\s]*\n来选择所有空行。可以使用(?<=<h2>).+(?=</h2>)来匹配h2标签内的内容。
    • super+shift+p,功能菜单。只有你想不到,没有做不到的事情。

    下载安装

    ST3虽然没有提供稳定版本,但是相比ST2,速度提升还是很明显的。缺点就是插件不够完善,以及插件的编写全部采用Python3.x版本。这里给出ST3下载地址。

    个人最喜欢的一点新特性是:新增了跳转到函数定义处功能,在大菜单Goto中可以查看到。

    首次使用,建议先打开侧栏,方便管理文件结构。打开方式:View->Side Bar->Show Side Bar

    插件安装

    插件通过Package Control来管理。

    安装Package Control

    进入Package Control页面,选择对应版本的代码进行复制,比如ST3如下:

    1. import urllib.request,os,hashlib; h = '7183a2d3e96f11eeadd761d777e62404' + 'e330c659d4bb41d3bdf022e94cab3cd0'; 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://sublime.wbond.net/' + 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)

    使用View->Show Console打开控制台,粘贴复制的代码,敲击回车运行。待程序右下角提示success后,重启ST。

    再次进入ST后,可以通过菜单Preferences->Package Control或者按键ctrl+shift+p查找install package。输入对应的插件名称,即可安装插件。

    更多插件,可以通过Package Control中的search查找。

    配置修改

    配置包括Preferences->Settings-Default和Key Bindings-Default。

    修改配置文件时,以上两个默认文件最好不要修改,自行讲需要设置的参数写入到Settings-User和Key Bindings-User里,它们会自动覆盖Default相同属性。

    备份配置

    配置文件的路径,点击Preferences->Browse Packages打开目录,找到User目录,这里的文件就是自己的配置文件,最好备份,方便下次替换。

    插件推荐

    已安装的插件

    1. {
    2. "in_process_packages":
    3. [
    4. ],
    5. "installed_dependencies":
    6. [
    7. "0_package_control_loader",
    8. "bz2"
    9. ],
    10. "installed_packages":
    11. [
    12. "AlignTab",
    13. "All Autocomplete",
    14. "AutoFileName",
    15. "BracketHighlighter",
    16. "CSScomb",
    17. "DocBlockr",
    18. "EditorConfig",
    19. "Emmet",
    20. "Git",
    21. "HTML-CSS-JS Prettify",
    22. "JSHint Gutter",
    23. "LiveStyle",
    24. "Markdown Preview",
    25. "Modific",
    26. "Package Control",
    27. "SideBarEnhancements",
    28. "Sublimerge Pro",
    29. "Terminal",
    30. "Theme - Phoenix"
    31. ]
    32. }

    主题配色和代码配色

    配色其实分为主题配色和代码配色。主题配色就是程序的外形设置,代码配色则是打开文件高亮显示的配置。

    代码配色我是选择的自己备份的主题Peacock (SL).tmTheme,放置在了Packages/User/theme/目录下,主要是我针对markdown语法进行了设置,其他可选择的推荐Dayle Rees Color Schemes插件。

    主题配色我使用的是Theme-Phoenix插件,插播一句,编程的字体应该选择等宽类型的,所以Mac下选择的是Monaco字体。

    安装完了插件,可以在Perferences->Color Scheme中查看修改。也可以通过配置文件修改:

    1. {
    2. "caret_style": "phase",
    3. "color_scheme": "Packages/User/theme/Peacock (SL).tmTheme",
    4. "default_line_ending": "unix",
    5. "font_face": "Monaco",
    6. "font_size": 18.0,
    7. "highlight_line": true,
    8. "hot_exit": false,
    9. "highlight_modified_tabs": true,
    10. "show_encoding": true,
    11. "ignored_packages":
    12. [
    13. "Vintage"
    14. ],
    15. "original_color_scheme": "Packages/User/theme/Peacock (SL).tmTheme",
    16. "phoenix_color_green": true,
    17. "phoenix_dirty_bottom_bar_red": true,
    18. "phoenix_eighties": true,
    19. "phoenix_highlight_current_tab": true,
    20. "phoenix_sidebar_tree_large": true,
    21. "phoenix_solid_current_tab": true,
    22. "phoenix_tabs_medium": true,
    23. "rulers":
    24. [
    25. 80,
    26. 100,
    27. 120
    28. ],
    29. "soda_folder_icons": false,
    30. "tab_size": 4,
    31. "theme": "Phoenix Dark.sublime-theme",
    32. "translate_tabs_to_spaces": true,
    33. "word_separators": "./\\()\"':,.;<>~!@#$%^&*|+=[]{}`~?",
    34. "word_wrap": true,
    35. "wrap_width": 0
    36. }

    这里我列出的是我的全部配置文件,可以看到相关的主题配色、代码配色和字体设置。

    ST辅助类

    • SideBarEnhancements
      提升右侧导航栏功能

    • Sublimerge Pro
      文件对比功能

    • Markdown Preview
      书写markdown格式文本,预览等功能。

    • Terminal
      直接在对应文件所在目录打开terminal功能。

    代码显示辅助类

    • BracketHighlighter
      高亮显示匹配括号,会在左侧的行号标识处显示对应的括号位置和范围。

    • HTML-CSS-JS Prettify
      格式化代码工具,默认快捷键ctrl+shift+h

    • CSScomb
      按照一定规律格式化CSS的属性顺序。

    代码书写辅助类

    • Emmet
      必装插件,辅助书写HTML, CSS。

    • AutoFileName
      书写代码时,自动提示补充文件路径。

    • DocBlockr
      辅助书写注释。

    • JSHint Gutter
      利用jslint检测js代码是否规范的插件。

    • LiveStyle
      配合对应的chrome插件,可以达到修改文件后,自动刷新页面的效果。但目前对less,sass之类预编译语言支持不够好。

    • AlignTab
      变量竖向对齐工具。

    • All Autocomplete
      代码补全插件。

    • EditorConfig
      代码编码规范。

    • MultiEditUtils
      增强了SublimeText内置的“multi-cursor”和“multi-selection”功能

    使用技巧

    快捷键操作

    默认的快捷操作,可以查看Preferences->Key Binding,或者文档:Keyboard Shortcuts-Windows/Linux和Keyboard Shortcuts-OSX。

    个人常用的快捷键设置如下:

    1. [
    2. /*============= Emacs Style =============*/
    3. { "keys": ["ctrl+b"], "command": "move", "args": {"by": "characters", "forward": false} },
    4. { "keys": ["ctrl+f"], "command": "move", "args": {"by": "characters", "forward": true} },
    5. { "keys": ["ctrl+p"], "command": "move", "args": {"by": "lines", "forward":
    6. false} },
    7. { "keys": ["ctrl+n"], "command": "move", "args": {"by": "lines", "forward":
    8. true} },
    9. { "keys": ["ctrl+a"], "command": "move_to", "args": {"to": "bol", "extend": false} },
    10. { "keys": ["ctrl+e"], "command": "move_to", "args": {"to": "eol", "extend": false} },
    11. { "keys": ["ctrl+l"], "command": "show_at_center" },
    12. /*============= End Emacs Style =============*/
    13. /*============= switch tabs =============*/
    14. { "keys": ["ctrl+1"], "command": "select_by_index", "args": { "index": 0 } },
    15. { "keys": ["ctrl+2"], "command": "select_by_index", "args": { "index": 1 } },
    16. { "keys": ["ctrl+3"], "command": "select_by_index", "args": { "index": 2 } },
    17. { "keys": ["ctrl+4"], "command": "select_by_index", "args": { "index": 3 } },
    18. { "keys": ["ctrl+5"], "command": "select_by_index", "args": { "index": 4 } },
    19. { "keys": ["ctrl+6"], "command": "select_by_index", "args": { "index": 5 } },
    20. { "keys": ["ctrl+7"], "command": "select_by_index", "args": { "index": 6 } },
    21. { "keys": ["ctrl+8"], "command": "select_by_index", "args": { "index": 7 } },
    22. { "keys": ["ctrl+9"], "command": "select_by_index", "args": { "index": 8 } },
    23. { "keys": ["super+shift+t"], "command": "reopen_last_file" },
    24. /*============= End switch tabs =============*/
    25. /*============= Modify Default key-mapping =============*/
    26. { "keys": ["super+a"], "command": "select_all" },
    27. { "keys": ["super+t"], "command": "new_file" },
    28. { "keys": ["f5"], "command": "open_in_browser" },
    29. // autocomplate
    30. { "keys": ["ctrl+/"], "command": "auto_complete" },
    31. // paste
    32. { "keys": ["super+v"], "command": "paste_and_indent" },
    33. { "keys": ["super+shift+v"], "command": "paste" },
    34. // reindex
    35. { "keys": ["ctrl+i"], "command": "reindent" },
    36. // find and goto
    37. { "keys": ["super+f"], "command": "show_panel", "args": {"panel": "find"} },
    38. { "keys": ["super+p"], "command": "show_overlay", "args": {"overlay": "goto", "show_files": true} },
    39. { "keys": ["super+r"], "command": "show_overlay", "args": {"overlay": "goto", "text": "@"} },
    40. { "keys": ["super+l"], "command": "show_overlay", "args": {"overlay": "goto", "text": ":"} },
    41. { "keys": ["super+;"], "command": "show_overlay", "args": {"overlay": "goto", "text": "#"} },
    42. { "keys": ["super+d"], "command": "goto_definition" },
    43. { "keys": ["super+-"], "command": "jump_back" },
    44. { "keys": ["super+="], "command": "jump_forward" },
    45. // keep the shortcut as Windows
    46. { "keys": ["ctrl+d"], "command": "find_under_expand" },
    47. { "keys": ["ctrl+g"], "command": "find_all_under" },
    48. { "keys": ["ctrl+j"], "command": "join_lines" },
    49. { "keys": ["ctrl+shift+j"], "command": "expand_selection", "args": {"to": "indentation"} },
    50. { "keys": ["ctrl+shift+k"], "command": "run_macro_file", "args": {"file": "res://Packages/Default/Delete Line.sublime-macro"} },
    51. /*============= End Modify Default key-mapping =============*/
    52. /*============= Plugin =============*/
    53. // Emmet expand
    54. {"keys": ["super+e"], "args": {"action": "expand_abbreviation"}, "command": "run_emmet_action", "context": [{"key": "emmet_action_enabled.expand_abbreviation"} ] },
    55. // js Hint Grunt
    56. {"keys": ["super+j"], "command": "jshint"},
    57. // markdown preview
    58. { "keys": ["super+m"], "command": "markdown_preview", "args": {"target": "browser", "parser":"markdown"} },
    59. // terminal
    60. { "keys": ["ctrl+super+t"], "command": "open_terminal" },
    61. { "keys": ["ctrl+shift+super+t"], "command": "open_terminal_project_folder" }
    62. /*============= End Plugin =============*/
    63. ]

    其中涉及到了emacs移动光标,多标签切换,以及快速查找等方式。

    snippet

    snippet是代码片段,可以方便的自动补全。创建方式通过Tools->New 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>

    代码段写在CDATA[]中,${}为占位字符。

    tabTrigger为自动补全需要的字符,scope设置的是文件格式。

    创建完成之后,个人建议保存在User->snippet目录下,snippet需要自行创建,方便管理。

    build命令和Macro命令

    这些命令的使用请参考文档->Reference。

    参考文档

    • sublimeText官网
    • 非官方手册
    • Package Control
    • 推荐!Sublime Text 最佳插件列表
    • Gif多图:我常用的 16 个 Sublime Text 快捷键