零、sublime的优势
- 容易上手
- 支持多点编辑
- 包管理:Package Control
- 速度快
- 深度可订制,配置文件放github上 sublime-config
- 快速文件切换 cmd + p 输入文件名
- cmd + shift + p 打开命令面板
- 启用vim模式
- 学的是习惯技巧,sublime死了,技巧习惯可配置到其他编辑器
- 社区活跃
一、安装
以下操作均是在Mac环境下操作的。
1.1 下载安装
Mac下的安装,官网:http://www.sublimetext.com
brew cask install sublime-text
1.2 打开sublime
图形界面打开
按cmd + space快捷键,再输入sublime
命令行打开
# 输入subl即可,好多安装方式都会创建sublime的链接并加入到/usr/local/bin目录下
subl
# 如果没有这个命令可以手动创建软链
ln -s /Applications/Sublime\ Text.app/Contents/SharedSupport/bin/subl /usr/local/bin/subl
说明
不购买,会经常弹出提示框 买个license,help-->enter license
1.3 简单使用
配置的备份与恢复
- 打开sublime subl
- 打开一个目录,打开
- 显示左侧目录树面板:side bar
- 打开命令面板:cmd + shfit + p ,输入side bar
- 命令快捷键:cmd + k,cmd + b
- 放大/减小字体:cmd + +/cmd + -
## 二、快捷键
2.1 常用快捷键
打开新的tab cmd + n
切换tab ctrl + tab
下一行合并到当前行 cmd + j
左/右缩进 cmd + ]/cmd + [
选择当前行 cmd + l
复制 cmd + c
粘贴 cmd + v
撤销 cmd + z
加/取消注释 cmd + /
当前行之后/前开辟一行 cmd + enter/shift + cmd + enter
块选择,进入多点编辑模式 option + 选中文本
移动粒度 right以字符为单位 alt + right以单词为单位 cmd + left/right移动到行首/尾 up/down可以上下左右移动
切换语法验证类型 cmd + shift + p 输入css ,选中Syntax:css
打开左侧目录树面板 cmd + k,cmd + b
选中光标所在位置单词,持续按则会选中下一个相同的单词 cmd + d
2.2 命令绑定到快捷键
打工命令面板(cmd + shift + p),输入key bindings,选择Key Bindings - User,输入如下内容
[
{ "keys": ["shift+tab"], "command": "reindent", "args": {"single_line": false} },
]
2.3 工作台查看命令日志
打开工作台 ctrl + `,输入 sublime.log_commands(True)
这样所有的执行记录都会在工作台上输出
三、自定制
3.1 找到sublime的配置目录
Sublime Text -> Preferences -> Browse Packages...
# 下面是具体的目录,类似于vim的.vim目录 pwd
/Users/snddfhv/Library/Application Support/Sublime Text 3/Packages/User
# 该目录下有如下配置
# 快捷键绑定的配置
-rw-r--r-- 1 x staff 144B 5 10 23:26 Default (OSX).sublime-keymap
# sublime的基本配置
-rw-r--r-- 1 x staff 509B 5 10 23:35 Preferences.sublime-settings
# 扩展包的安装信息
-rw-r--r-- 1 x staff 160B 5 10 23:15 Package Control.sublime-settings
3.2 快捷键绑定配置文件
Default (OSX).sublime-keymap
[
{ "keys": ["shift+tab"], "command": "reindent", "args": {"single_line": true} },
{ "keys": ["alt+space"], "command": "auto_complete" },
]
3.3 基本配置文件
Preferences.sublime-settings
{
"color_scheme": "Packages/Color Scheme - Default/Monokai.sublime-color-scheme",
"auto_complete": true,
"auto_complete_commit_on_tab": true,
"file_exclude_patterns":
[
".DS_Store",
"*.sublime-workspace",
"*.scssc"
],
"folder_exclude_patterns":
[
".git",
"log",
"tmp/cache",
".vagrant"
],
"font_size": 16,
"ignored_packages":
[
"Vintage"
],
"line_padding_bottom": 1,
"line_padding_top": 1,
"tab_size": 2,
"theme": "Adaptive.sublime-theme",
"translate_tabs_to_spaces": true
}
其他配置说明
"line_numbers": false, //是否显示行号
"gutter": false, //是否显示边列
"draw_centered": true, //是否居中显示
"wrap_width": 80, //换行宽度(单位:字符)
"word_wrap": true, //是否自动换行
"scroll_past_end": true //滚动能否超过结尾
3.4 配置信息备份github
https://gitee.com/yysue/sublime-config
四、安装扩展包
4.1 安装Package Control
https://packagecontrol.io/installation
上这个网站上复制一段安装脚本
打开工作台(Ctrl+`),粘贴安装脚本
可能会重启
4.2 安装扩展
安装步骤:
打开命令面板(cmd+shift+p),输入install package回车,
等待加载插件列表,输入要安装的插件名,回车
4.2.1 AdvancedNewFile
新建文件:alt+cmd+n
4.2.2 Git
先打开命令模板,再输入git 命令
在填写commit结束时,按cmd + w结束填写
4.2.3 SyncedSideBar
当前编辑的文件在左侧目录树中同步选中
4.3 扩展包的安装配置文件
Package Control.sublime-settings
{
"in_process_packages":
[
],
"installed_packages":
[
"AdvancedNewFile",
"Git",
"RailsCasts Colour Scheme",
"SyncedSideBar",
"VimModelines"
]
}
五、快速查找文件与字符串
5.1 打开一个文件
cmd + p,输入READ,回车
输入cont@aaa 方法名
输入cont:199 行号
输入cont#aa 查找字符串
5.2 查找与替换
本文件中查找:cmd + f 查找替换:cmd + alt + f
目录中查找:cmd + shift + f 下一个/上一个匹配项f4/shift + f4
跳回到上一次操作位置:ctrl + -/ctrl + shift + -
六、代码补齐
6.1 Emmet插件
安装Emmet插件,没有安装就有了?
帮助文档 https://docs.emmet.io/cheat-sheet/ https://docs.emmet.io/actions/
6.1.1 常用操作
p20 tab
m-0-auto tab
.nav tab
#nav tab
.sidebar>.nav tab
ul.nav>li*5 tab
6.1.2 wrap with abbreviation功能
选中单词,打开命令面板,输入wrap,.sidebar>.nav
6.1.3 删除标签
选中单词,打开命令面板,输入remove,回车,cmd + ',断续删除
https://codepen.io/ 在线编辑,也支持类似功能
6.2 Snippet 代码片段
tools -> Developer -> New Snippet
6.2.1 配置说明
- 内容 content
- 光标停顿位置${1:默认值} tab可在位置间切换
- 触发词 tabTrigger
- 对哪些文件有效 scope text.html.markdown
- 保存成jekyll-header.sublime-snippet 后缀必须是.sublime-snippet
- 自动保存到User目录下
Snippet的配置文件:jekyll-header.sublime-snippet
<snippet>
<content><![CDATA[
---
layout: default
title: ${1:标题}
---
${2}
]]></content>
<!-- Optional: Set a tabTrigger to define how to trigger the snippet -->
<tabTrigger>top</tabTrigger>
<!-- Optional: Set a scope to limit where the snippet will trigger -->
<scope>text.html.markdown</scope>
</snippet>
查看文件的scope
alt + cmd + p
6.3 Completions files 补全文件
参考:http://docs.sublimetext.info/en/latest/reference/completions.html
丰富的补全文件:https://www.sublimecodeintel.com/SublimeCodeIntel
保存文件名为all.sublime-completions
{
// completions 的设置有时候会失灵 ( Mac Yosemite + sublime3 )不行就改成 snippet 吧,那个还是一直都很好用
"scope": "text.html.markdown",
"completions":
[
{ “trigger”: "hhh", "contents": "{% highlight ${1:ruby} %\n${2}\n{% endhighlight %}}"},
{ "trigger": "l", "contents": "[${1}](${2})${3}" },
{ "trigger": "media", "contents": "![](http://media.happycasts.net/pic/${1}.png)" }
],
// "scope": "source.css",
// "completions":
// [
// { "trigger": "xxx", "contents": "xxx" },
// ]
}
6.4 tab补齐规则
设置语法 ,打开命令面板,输入 Set Synatx html
6.4.1 触发词 + tab
Setting - Default中有如下默认配置:
"tab_completion": true,
意思是打开一个文件,敲一个触发词,然后敲 tab 是能补全成一个片段的。
tab补全功能会在下面4个地方找触发词,参考这里
1. Snippets
2. API-injected completions via on_query_completions()
通过 API on_query_completions() 设置的内容,这个咱们暂时不管
3. Completions files
专门的自动补全文件,也就是 xxx.sublime-completions
4. Words in the buffer
当前文件中已经敲过的词
上面4个地方找到的触发词可能出现在补全列表上,如何触发补全列表呢?
6.4.2 触发词前缀 + alt + space
默认是ctrl + space,这与系统中切换中英文输入法冲突,改为alt + space
在keymap - User中添加如下配置:
{ "keys": ["alt+space"], "command": "auto_complete" },se
6.5 自动补全
Setting - Default中有如下默认配置:
"auto_complete": true,
功能是输入了触发词,那么不用敲 tab ,就可以显示可能的触发词了(补全列表),默认只要敲 Enter或Tab 就可以补全了。
但是,自动补全的不是在每种文件类型中都会被触发的,Settings Default 中是这样设置的
// Controls what scopes auto complete will be triggered in
"auto_complete_selector": "source - comment, meta.tag - punctuation.definition.tag.begin",
// Additional situations to trigger auto complete
"auto_complete_triggers": [ {"selector": "text.html", "characters": "<"} ],
有一个问题,自动补全生效的时候,回车就不能用来换行了,怎么解决?
在setting - User中添加如下配置,默认是false:
"auto_complete_commit_on_tab": true,
这样就可以敲 tab 来补全,而 Enter 现在就可以用来输入换行了。
七、批处理任务
测试、编译、执行
http://sublime-text-unofficial-documentation.readthedocs.io/en/latest/reference/build_systems.html
7.1 chrome打开html文件
Tools -> Build System -> New Build System -> ...
保存文件名为bowse.sublime-build
{
"cmd": ["/Applications/Google Chrome.app/Contents/MacOS/Google Chrome", "$file"],
"selector": "text.html"
}
build Tools/Build System
cmd + b
7.2 build 我的 jekyll 页面
这是参考文章的一个demo:http://happypeter.github.io/happysublime/10_build.html
八、启用vim模式
打开命令面板,输入Settings,找到基本配置文件:Preferences.sublime-settings,加入以下配置(默认情况下,会有这一项Vintage):
"ignored_packages":[],