一、基础
1.重要文档:
sublime Text3官方文档中文版:http://feliving.github.io/Sublime-Text-3-Documentation/
sublime Text插件下载站点:https://sublime.wbond.net/
Sublime Text install package control:https://sublime.wbond.net/installation
非常好的參考文档:https://github.com/jikeytang/sublime-text
2.安装Package Control:
输入ctrl+`或者view->show console:输入
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)
就可以安装。如不清楚,參考:https://sublime.wbond.net/installation
3.插件推荐:
Soda主题:https://github.com/buymeasoda/soda-theme/
Alignment
AutoFileName .自己主动补全文件(文件夹)名
BracketHighlighter突出显示括号/引號
ColorHighlighter 背景显示16进制颜色
DocBlockr 生成凝视模板
Emmet (ex-Zen Coding) 用过Zen-Coding的都知道, 把你节省的时间用于享受生活
SideBarEnhancements不支持ST3
Sublime CodeIntel – 智能代码提示
MarkdownPreviewer – Markdown 实时预览插件
FreeMarker:Freemarker模板语言辅助
SublimeCodeIntel 代码提示,支持css,js,html,php,python,perl等插件主页:https://github.com/Kronuz/SublimeCodeIntel
JSHint、JsFormart、jQuery、jQuery Snippets pack
Autoprefixer、Color Highlighter、ConvertToUTF8
SFTP、git、svn
YUI Compressor js代码压缩
Maven
Tag、ctags
LESS, lessCSS代码提示 、scss
Indent XML-json/xml转换
sublimeLinter
HTML5
pretty json、json
Terminal、SublimeTmpl
各种snippets
3.相关技巧和问题解决
1.将sublime切换到vim模式
在preferences->settings default:里面有这样一段,意思就是忽略vim模式
{
"ignored_packages":
[
"Vintage"
],
}
所以我们应该再preferences->settings user里面加入�:
{
"ignored_packages":[],
}
2.关于Sublime Text3光标变粗的解决:
在preferences->settings user里面加入�:
"caret_extra_top": 0,
"caret_extra_bottom": 0,
"caret_extra_width": 1
解决方式參考的是:http://my.oschina.net/f839903061/blog/198142
3.soda theme主题的安装:
进入项目地址看其教程。
4.eclipse快捷键覆盖sublime快捷键。
对:Default (Windows).sublime-keymap这个文件进行更改,改为:
国人版
[ /** * 经常使用快捷键(Sublime默认) * -------------- * * 光标一个单词一个单词的移动 * { "keys": ["ctrl+left"], "command": "move", "args": {"by": "words", "forward": false} }, * 按住shift来选文字时, 一个个单词的选而不是一个个字母 * { "keys": ["ctrl+shift+left"], "command": "move", "args": {"by": "words", "forward": false, "extend": true} }, * * 类似光标一个个单词的移动 * { "keys": ["alt+left"], "command": "move", "args": {"by": "subwords", "forward": false} }, * { "keys": ["alt+shift+right"], "command": "move", "args": {"by": "subword_ends", "forward": true, "extend": true} }, * * 缩进 * { "keys": ["ctrl+]"], "command": "indent" }, * { "keys": ["ctrl+["], "command": "unindent" }, * * 删除整个单词 * { "keys": ["ctrl+backspace"], "command": "delete_word", "args": { "forward": false } }, * { "keys": ["ctrl+delete"], "command": "delete_word", "args": { "forward": true } }, * * 行排序(比如选中几个JSON字段, 让这些字段名按字母顺序排序) * { "keys": ["f9"], "command": "sort_lines", "args": {"case_sensitive": false} }, * * 參考 * ---------------------- * Using Sublime Text as your IDE * http://www.chromium.org/developers/sublime-text * * Web Development With Sublime Text 2 * http://www.paulund.co.uk/web-development-with-sublime-text-2 */ // editor配置 { "keys": ["ctrl+v"], "command": "paste_and_indent" }, { "keys": ["ctrl+shift+v"], "command": "paste" }, /** * 适配eclipse快捷键 * * 以下这位仁兄早就有了这个想法 * Eclipse shortcuts for Sublime Text 2 * http://icoloma.blogspot.com/2011/10/eclipse-shortcuts-for-sublime-text-2.html */ { "keys": ["alt+/"], "command": "auto_complete" }, { "keys": ["ctrl+i"], "command": "reindent" }, // 当前行和以下一行交互位置 { "keys": ["alt+up"], "command": "swap_line_up" }, { "keys": ["alt+down"], "command": "swap_line_down" }, // 复制当前行到上一行 { "keys": ["ctrl+alt+up"], "command": "duplicate_line" }, // 复制当前行到下一行 { "keys": ["ctrl+alt+down"], "command": "duplicate_line" }, // 删除整行 { "keys": ["ctrl+d"], "command": "run_macro_file", "args": {"file": "Packages/Default/Delete Line.sublime-macro"} }, // 光标移动到指定行 { "keys": ["ctrl+l"], "command": "show_overlay", "args": {"overlay": "goto", "text": ":"} }, // 高速定位到选中的文字 { "keys": ["ctrl+k"], "command": "find_under_expand_skip" }, // { "keys": ["ctrl+shift+x"], "command": "swap_case" }, { "keys": ["ctrl+shift+x"], "command": "upper_case" }, { "keys": ["ctrl+shift+y"], "command": "lower_case" }, // 在当前行的下一行插入空行(这时鼠标能够在当前行的任一位置, 不一定是最后) { "keys": ["shift+enter"], "command": "run_macro_file", "args": {"file": "Packages/Default/Add Line.sublime-macro"} }, // 定位到对于的匹配符(譬如{})(从前面定位后面时,光标要在匹配符里面,后面到前面,则反之) { "keys": ["ctrl+shift+p"], "command": "move_to", "args": {"to": "brackets"} }, // 这个命令默认使用的是ctrl+shift+p { "keys": ["ctrl+p"], "command": "show_overlay", "args": {"overlay": "command_palette"} }, // outline { "keys": ["ctrl+o"], "command": "show_overlay", "args": {"overlay": "goto", "text": "@"} }, // 当前文件里的keyword(方便高速查找内容) { "keys": ["ctrl+alt+o"], "command": "show_overlay", "args": {"overlay": "goto", "text": "#"} }, // open resource { "keys": ["ctrl+shift+r"], "command": "show_overlay", "args": {"overlay": "goto", "show_files": true} }, // 文件内查找/替换 { "keys": ["ctrl+f"], "command": "show_panel", "args": {"panel": "replace"} }, // 全局查找/替换, 在查询结果中双击跳转到匹配位置 {"keys": ["ctrl+h"], "command": "show_panel", "args": {"panel": "find_in_files"} }, // plugin配置 { "keys": ["alt+a"], "command": "alignment" }, {"keys": ["ctrl+shift+f"], "command": "js_format"} ]
国外版:
[ { "keys": ["f12"], "command": "htmlprettify"}, { "keys": ["f1"], "command": "fold" }, { "keys": ["f2"], "command": "unfold" }, { "keys": ["ctrl+l"], "command": "show_overlay", "args": {"overlay": "goto", "text": "@"} }, { "keys": ["ctrl+space"], "command": "auto_complete" }, { "keys": ["ctrl+space"], "command": "replace_completion_with_auto_complete", "context": [ { "key": "last_command", "operator": "equal", "operand": "insert_best_completion" }, { "key": "auto_complete_visible", "operator": "equal", "operand": false }, { "key": "setting.tab_completion", "operator": "equal", "operand": true } ] }, { "keys": ["ctrl+d"], "command": "run_macro_file", "args": {"file": "Packages/Default/Delete Line.sublime-macro"} }, { "keys": ["ctrl+shift+c"], "command": "toggle_comment", "args": { "block": false } }, { "keys": ["ctrl+shift+c"], "command": "toggle_comment", "args": { "block": true } }, { "keys": ["ctrl+shift+f"], "command": "reindent" , "args": {"single_line": false}}, { "keys": ["alt+up"], "command": "swap_line_up" }, { "keys": ["alt+down"], "command": "swap_line_down" }, { "keys": ["ctrl+alt+j"], "command": "join_lines" }, { "keys": ["ctrl+alt+down"], "command": "duplicate_line" }, { "keys": ["shift+ctrl+r"], "command": "show_overlay", "args": {"overlay": "goto", "show_files": true} }, { "keys": ["ctrl+shift+s"], "command": "save_all" }, { "keys": ["ctrl+l"], "command": "show_overlay", "args": {"overlay": "goto", "text": ":"} }, { "keys": ["shift+ctrl+f4"], "command": "close_all" }, { "keys": ["shift+ctrl+y"], "command": "lower_case" }, { "keys": ["shift+ctrl+x"], "command": "upper_case" } ]
此处 參考:https://gist.github.com/ufologist/5590481#file-default-windows-sublime-keymap
https://gist.github.com/thbkrkr/3194275
4.快捷键:
1。默认快捷键:
1. Ctrl+L 选择整行(按住-继续选择下行)
2. Ctrl+Shift+K(shhift+del) 删除整行, ctrl + KK 从光标处删之行尾,Ctrl+K Backspace 从光标处删除至行首
3. Ctrl+Shift+D 复制光标所在整行,插入在该行之前
4. Ctrl+D 选词 (按住-继续选择下个同样的字符串,再按,可跳到对应的方法定义处
5. Ctrl+Shift+M 选择括号内的内容(按住-继续选择父括号)
6. Ctrl+/ 凝视整行(如已选择内容,同“Ctrl+Shift+/”效果)
7. Ctrl + alt + / 取消凝视
8. Ctrl+Shift+UP 与上行互换 ctrl + shift + up: 列模式编辑
9. Ctrl + R 跳转当前页的目标方法
10. Ctrl+K + U 大写
11. Ctrl+K + L 小写
12. 鼠标中间 列模式编辑
13. Ctrl+Shift+[] 代码折叠
14. ctrl+k ctrl+1: 折叠全部代码
15. Ctrl + K,B 打开側边栏
16. ctrl + 回车: 光标后插入行, Ctrl+Shift+Enter 光标前插入行
17. ctrl + m: 匹配括号
18. vim mode下 查找上一个下一个的快捷键是 是* #
19. ctrl +z, y: 撤销,恢复撤销
20. alt + .: 闭合当前标签
21. Ctrl+F2: 设置书签
22. F2: 下一个书签
23. Shift+F2: 上一个书签
24. ctrl + p: 即时的文件切换
25. ctrl + shift + a: 选择标签内的内容
26. ctrl + 单击: 多行任意位置加入�光标
27. alt + F3( mac: ctrl + command + g): 选择页面中全部同样的词
28. ctrl + F3: 跳转到下一个选中的词
29. Ctrl+Shift+P Set Syntax:html : 设置文件类型
30. Shift + 右键: 连续多行光标选中 (by Gary Gauh)
2.Emmet快捷键:
1. match_pair_outward: ctrl+,向外匹配 2. match_pair_inward: ctrl+alt+,向内匹配 3. matching_pair: ctrl+alt+j,高速匹配html标签(phpstorm: ctrl + []) 4. split_join_tag: shift+ctrl+`,高速成对改动html标签 5. remove_tag: shift+ctrl+;删除包裹的html标签(phpstorm: ctrl + shift + del) 6. increment_number_by_1: ctrl+up,数字高速增长,步长为1 7. decrement_number_by_1: ctrl+down,数字高速递减,步长为1 8. increment_number_by_01: alt+up,数字高速增长,步长为0.1 9. decrement_number_by_01: alt+down,数字高速递减,步长为0.1 10. increment_number_by_10:shift+alt+up,数字高速增长,步长为10 11. decrement_number_by_10: shift+alt+down,数字高速递减,步长为10 12. select_next_item:shift+ctrl+. 选择下一个属性 13. select_previous_item: shift+ctrl+,, 选择上一个属性 14. wrap_as_you_type: shift+ctrl+g,包裹内容
3.VIM模式快捷键:
一. 移动: h,j,k,l: 左,下,上,右。 w: 下一个词的词首。W:下一个单词(不含标点)。 e:下一个词的词尾。E:不含标点。 b:上一个词的词首。B:不含标点。 <>: v 模式选中后进行缩进。 >><<:向前向后缩进。 二. 跳转: %: 能够匹配{},"",(),[]之间跳转。 H、M、L:直接跳转到当前屏幕的顶部、中部、底部。 #H:跳转到当前屏的第#行。 #L:跳转到当前屏的倒数第#行。 zt: 当前编辑行置为屏顶。 zz: 当前编辑行置为屏中。 zb: 当前编辑行置为屏底。 G:直接跳转到文件的底部。 gg: 跳转到文件首。 gd: 跳转到光标所在函数和变量的定义。 ():跳转到当前的行首、行尾。 {}:向上、向下跳转到近期的空行。 [{:跳转到眼下区块开头。 ]}:跳转到眼下区块结尾。 0: 跳转到行首。 $: 跳转到行尾。 2$: 跳转到下一行的行尾。 #:跳转到该行的第#个位置。 #G: 15G,跳转到15行。 :#:跳转到#行。 f'n':跳转到下一个"n"字母后。 ctrl+b: 向后翻一页。 ctrl+f:向前翻一页。 ctrl+u: 向后翻半页。 ctrl+d: 向前翻半页。 ctry+e: 下滚一行。 三. 选择: 1.v: 开启可视模式。 V: 开启逐行可视模式。 2.^V: 矩形选择。 3.v3w: 选择三个字符。 4.ab:包含括号和()内的区域。 5.aB:包含括号和{}内的区域。 6.ib:括号()内的区域。 7.iB:括号{}内的区域。 8.aw:标记一个单词。 四. 编辑: 1. 新增: i: 光标前插入。 I: 在当前行首插入。 a: 光标后插入。 A: 当前行尾插入。 O: 在当前行之前插入新行。 o: 在当前行之后插入新行。 2. 改动 c(change) 为主: r: 替换光标所在处的字符。 R:替换光标所到之处的字符。 cw: 更改光标所在处的字到字尾处。 c#w: c3w 改动3个字符。 C:改动到行尾。 ci':改动配对标点符号中的文本内容。 di':删除配对标点符号中的文本内容。 yi':复制配对标点符号中的文本内容。 vi':选中配对标点符号中的文本内容。 s:替换当前一个光标所处字符。 #S:删除 # 行,并以新文本取代。 3. 删除 d(delete) 为主: D:删除到行尾。 X: 每按一次,删除光标所在位置的前面一个字符。 x: 每按一次,删除光标所在位置的后面一个字符。 #x: 删除光标所在位置后面6个字符。 d^: 删至行首。 d$: 删至行尾。 dd:(剪切)删除光标所在行。 dw: 删除一个单词/光标之后的单词剩余部分。 d4w: 删除4个word。 #dd: 从光标所在行開始删除#行。 daB: 删除{}及其内的内容。 diB: 删除{}中的内容。 n1,n2 d:将n1,n2行之间的内容删除。 4. 查找: /: 输入keyword,发现不是要找的,直接在按n,向后查找直到找到为止。 ?: 输入keyword,发现不是要找的,直接在按n,向前查找直到找到为止。 *: 在当前页向后查找同一字。 #: 在当前页向前查找同一字。 5. 复制 y(yank)为主: yw: 将光标所在之处到字尾的字符拷贝到缓冲区中。 #yw: 复制#个字到缓冲区。 Y:相当于yy, 复制整行。 #yy:表示复制从光标所在的该行往下数#行文字。 p: 粘贴。全部与y相关的操作必用p来结合粘贴。 ]p:粘贴到合适的缩进处。 n1,n2 co n3:复制第n1行到第n2行之间的内容到第n3行后面。 6. 大写和小写转换: gUU: 将当前行的字母改为大写。 guu: 将当前行的字母改为小写。 gUw: 将当前光标下的单词改为大写。 guw: 将当前光标下的单词改为小写。 a. 整篇大写: ggguG gg: 光标到文件第一个字符。 gu: 把选择范围全部小写。 G: 到文件结束。 b. 整篇小写:gggUG 7. 其他: J:当前行和下一行合并成一行。 8. 移动: n1,n2 m n3:将n1行到n2行之间的内容移至n3行下。 五.退出: 1. w filename: 保存正在编辑的文件filename 2. wq filename: 保存后退出正在编辑的文件filename 3. q:退出不保存。 六.窗体操作: 1. ctrl+w p: 在两个切割窗体之间来回切换。 2. ctrl+w j: 跳到以下的切割窗 3. ctrl+w h: 跳到左边的切割窗。 4. ctrl+w k: 跳到上面的切割窗。 5. ctrl+w l: 跳到右边的切割窗。 七.折叠: zo 將游標所在處的折疊打開。open。 zc 將游標所在處已打開的內容再度折疊起來。close。 zr 將全文的全部折疊依層次通通打開。reduce。 zm 將全文已打開的折疊依層次通通再折疊起來。more。 zR 作用和 zr 同,但會打開含巢狀折疊(折疊中又還有折疊)的全部折疊。 zM 作用和 zm 同,但對於巢狀折疊亦有作用。 zi 這是個切換,是折疊與不折疊指令間的切換。 zn 打開全文的全部折疊。fold none。 zN 這是 zn 的相對指令,回復全部的折疊。
此处參考:https://github.com/jikeytang/sublime-text
六、基础配置实例:
Package Control.sublime-settings文件:
{ "auto_upgrade_last_run": null, "installed_packages": [ "Alignment", "AutoFileName", "BracketHighlighter", "Color Highlighter", "DocBlockr", "EditorConfig", "Emmet", "jQuery", "JsFormat", "JSLint", "MarkdownEditing", "Package Control", "PlainTasks", "SideBarEnhancements", "SmartMarkdown", "SublimeBlockCursor", "SublimeCodeIntel", "Tag", "Theme - Soda", "ToggleQuotes" ] }
Preferences.sublime-settings文件:
{ "color_scheme": "Packages/Color Scheme - Default/Monokai.tmTheme", "font_face": "Monaco", "font_size": 12.0, "highlight_line": true, "highlight_modified_tabs": true, "ignored_packages": [ "JSLint" ], "rulers": [ 80 ], "theme": "Soda Dark.sublime-theme", "translate_tabs_to_spaces": true, "word_wrap": true }
五、我的Sublime配置举例:
进入Preferences-settings-User
我的配置例如以下:
{
"ignored_packages":
[
"Vintage"
],
"theme" : "Soda Dark.sublime-theme",
// 是否显示行号
"line_numbers": true,
// 是否显示行号边栏
"gutter": true,
// 行号边栏和文字的间距
"margin": 4,
// 是否显示代码折叠button
"fold_buttons": true,
// 无论鼠标在不在行号边栏,代码折叠button一直显示
"fade_fold_buttons": true,
// 是否打开拼写检查
"spell_check": false,
// Tab键制表符宽度
"tab_size": 4,
// 按回车时,自己主动与制表位对齐
"auto_indent": true,
"font_size": 11,
"highlight_line": true,
"match_tags": true,
// 默认编码格式
"default_encoding": "UTF-8",
}
快捷键键总结
选择类 Ctrl+D 选中光标所占的文本,继续操作则会选中下一个同样的文本。 Alt+F3 选中文本按下快捷键,就可以一次性选择全部的同样文本进行同一时候编辑。举个栗子:高速选中并更改全部同样的变量名、函数名等。 Ctrl+L 选中整行,继续操作则继续选择下一行,效果和 Shift+↓ 效果一样。 Ctrl+Shift+L 先选中多行,再按下快捷键,会在每行行尾插入光标,就可以同一时候编辑这些行。 Ctrl+Shift+M 选择括号内的内容(继续选择父括号)。举个栗子:高速选中删除函数中的代码,重写函数体代码或重写括号内里的内容。 Ctrl+M 光标移动至括号内结束或開始的位置。 Ctrl+Enter 在下一行插入新行。举个栗子:即使光标不在行尾,也能高速向下插入一行。 Ctrl+Shift+Enter 在上一行插入新行。举个栗子:即使光标不在行首,也能高速向上插入一行。 Ctrl+Shift+[ 选中代码,按下快捷键,折叠代码。Ctrl+Shift+] 选中代码,按下快捷键,展开代码。 Ctrl+K+0 展开全部折叠代码。 Ctrl+← 向左单位性地移动光标,高速移动光标。Ctrl+→ 向右单位性地移动光标,高速移动光标。 shift+↑ 向上选中多行。shift+↓ 向下选中多行。Shift+← 向左选中文本。Shift+→ 向右选中文本。 Ctrl+Shift+← 向左单位性地选中文本。Ctrl+Shift+→ 向右单位性地选中文本。 Ctrl+Shift+↑ 将光标所在行和上一行代码互换(将光标所在行插入到上一行之前)。 Ctrl+Shift+↓ 将光标所在行和下一行代码互换(将光标所在行插入到下一行之后)。 Ctrl+Alt+↑ 向上加入�多行光标,可同一时候编辑多行。Ctrl+Alt+↓ 向下加入�多行光标,可同一时候编辑多行。 编辑类 Ctrl+J 合并选中的多行代码为一行。举个栗子:将多行格式的CSS属性合并为一行。 Ctrl+Shift+D 复制光标所在整行,插入到下一行。 Tab 向右缩进。Shift+Tab 向左缩进。 Ctrl+K+K 从光标处開始删除代码至行尾。Ctrl+Shift+K 删除整行。 Ctrl+/ 凝视单行。Ctrl+Shift+/ 凝视多行。 Ctrl+K+U 转换大写。Ctrl+K+L 转换小写。 Ctrl+Z 撤销。Ctrl+Y 恢复撤销。Ctrl+U 软撤销,感觉和 Gtrl+Z 一样。 Ctrl+F2 设置书签Ctrl+T 左右字母互换。F6 单词检測拼写 Ctrl+鼠标左键 能够同一时候选择要编辑的多处文本 搜索类 Ctrl+F 打开底部搜索框,查找keyword。 Ctrl+shift+F 在目录内查找,与普通编辑器不同的地方是sublime同意加入�多个目录进行查找,略高端,未研究。 Ctrl+P 打开搜索框。举个栗子:1、输入当前项目中的文件名称,高速搜索文件,2、输入@和keyword,查找文件里函数名,3、输入:和数字,跳转到文件里该行代码,4、输入#和keyword,查找变量名。 Ctrl+G 打开搜索框,自己主动带:,输入数字跳转到该行代码。举个栗子:在页面代码比較长的文件里高速定位。 Ctrl+R 打开搜索框,自己主动带@,输入keyword,查找文件里的函数名。举个栗子:在函数较多的页面高速查找某个函数。 Ctrl+: 打开搜索框,自己主动带#,输入keyword,查找文件里的变量名、属性名等。 Ctrl+Shift+P 打开命令框。场景栗子:打开命名框,输入keyword,调用sublime text或插件的功能,比如使用package安装插件。 Esc 退出光标多行选择,退出搜索框,命令框等。 显示类 Ctrl+Tab 按文件浏览过的顺序,切换当前窗体的标签页。 Ctrl+PageDown 向左切换当前窗体的标签页。Ctrl+PageUp 向右切换当前窗体的标签页。 Alt+Shift+1 窗体分屏,恢复默认1屏(非小键盘的数字) Alt+Shift+2 左右分屏-2列Alt+Shift+3 左右分屏-3列Alt+Shift+4 左右分屏-4列Alt+Shift+5 等分4屏 Alt+Shift+8 垂直分屏-2 Alt+Shift+9 垂直分屏-3屏 Ctrl+K+B 开启/关闭側边栏。 F11 全屏模式 Shift+F11 免打搅模式
我的小站原文:
其它參考资料:http://wiki.junnan.org/pages/software/editor_ide.html
http://www.douban.com/note/276794943/