Snippet效率神器

Sublime的这个功能真的是强!强!强!能省不少时间。比如我就不太熟悉html的语法,但是写博客总得插入一些图片,而要想把图片排版好就必须得写html,有了snippet,这简直就不是事儿。snippet字如其义,就是插入一个小片段,比如说我有两张图需要并排,我就可以设置如下的snippet,通过输入insert images再按tab键的方式快速插入对应的html代码,完成排版工作。其中${1:}这样的表达是占位符,前面的数字是跳转顺序,当你填完一处之后按tab键就可以跳转到下一处。

<snippet>
	<content><![CDATA[
<table>
	<tr>
		<td>
			<center>
				<img src=${1:src}/>
				Fig1. ${2:Title}
			</center>
		</td>
		<td>
			<center>
				<img src=${3:src}/>
				Fig2. ${4:Title}
			</center>
		</td>
	</tr>
</table>
]]></content>
<tabTrigger>insert images</tabTrigger>
	<!-- Optional: Set a tabTrigger to define how to trigger the snippet -->
	<!-- <tabTrigger>hello</tabTrigger> -->
	<!-- Optional: Set a scope to limit where the snippet will trigger -->
	<!-- <scope>source.python</scope> -->
</snippet>

常用快捷键

分类 功能 快捷键
通用操作 打开命令面板 Ctrl + Shift + P
通用操作 新建python文件 Ctrl + Alt + Shift + P
通用操作 新建文件 Ctrl + N
通用操作 保存文件 Ctrl + S
通用操作 另存为 Ctrl + Shift + S
通用操作 打开文件 Ctrl + O
通用操作 切换项目 Alt + shift + P
通用操作 关闭当前标签页 Ctrl + W
通用操作 关闭所有标签页 Ctrl + Shift + W
通用操作 切换全屏模式 Fn + F11
通用操作 切换侧边栏显示/隐藏 Ctrl + K + B
通用操作 build当前文件(运行) Ctrl + B
通用操作 显示build结果 Shift + Esc
通用操作 隐藏build结果 Esc
导航与跳转 快速跳转文件 Ctrl + P
导航与跳转 跳转到指定行号 Ctrl + G
导航与跳转 跳转到符号(函数/类) Ctrl + R
导航与跳转 返回上一个光标位置 Ctrl + -
导航与跳转 前进到下一个光标位置 Ctrl + Shift + -
导航与跳转 跳转到匹配括号 Ctrl + M
导航与跳转 跳转到行首行尾 Fn + Home / Fn + End
编辑操作 复制当前行 Ctrl + Shift + D
编辑操作 删除当前行 Ctrl + Shift + K
编辑操作 合并多行 Ctrl + Shift + J
编辑操作 行缩进 Ctrl + ]
编辑操作 行取消缩进 Ctrl + [
编辑操作 注释/取消注释 Ctrl + /
编辑操作 批量重命名所选内容 Ctrl + D(多次按)
编辑操作 撤销操作 Ctrl + Z
编辑操作 粘贴并自动缩进 Ctrl + Shift + V
选择与多光标 扩展选区(词→行→块) Ctrl + DCtrl + LCtrl + A
选择与多光标 竖向多光标选择 Ctrl + Alt + ↑/↓
搜索与替换 查找 Ctrl + F
搜索与替换 替换 Ctrl + H
搜索与替换 全局搜索(多文件) Ctrl + Shift + F
窗口与标签页 切换标签页 Ctrl + Tab
自定义快捷键 终止build Ctrl + Shift + C
自定义快捷键 进入交互式界面 Ctrl + Alt + Shift + I
自定义快捷键 在交互式界面运行当前程序 Ctrl + Alt + Shift + R
自定义快捷键 在交互式界面调试当前程序(需设置断点) Ctrl + Alt + Shift + D

Sublime的project功能

Sublime的这个功能也是蛮好用的,可以把一个文件夹另存为一个project,然后通过快捷键alt+shift+p就可以在这些project间实现快速切换。比如我平时就是写代码和写博客的需求,我就分别创建一个代码project和一个博客project。

Fig1. 创建项目

Sublime REPL插件

SublimeREPL 是一个 Sublime Text 插件,允许用户在编辑器内直接运行交互式编程环境(REPL,Read-Eval-Print Loop)。还可以使用python自带的PDB(python debugger)调试代码。

设置sublime repl的快捷键
[ // 进入交互式界面 { "keys":["ctrl+alt+shift+i"], "caption": "SublimeREPL: Python - IPython", "command": "run_existing_window_command", "args": { "id": "repl_python_ipython", "file": "C:/Users/sheyu/AppData/Roaming/Sublime Text/Packages/SublimeREPL/config/Python/Main.sublime-menu" } }, // 通过交互式界面运行当前程序 { "keys":["ctrl+alt+shift+r"], "caption": "SublimeREPL: Python - RUN current file", "command": "run_existing_window_command", "args": { "id": "repl_python_run", "file": "C:/Users/sheyu/AppData/Roaming/Sublime Text/Packages/SublimeREPL/config/Python/Main.sublime-menu" } }, // pdb是python debugger的缩写,在交互式界面调试当前程序 { "keys": ["ctrl+alt+shift+d"], "caption": "SublimeREPL: Python - PDB current file", "command": "run_existing_window_command", "args": { "id": "repl_python_pdb", "file": "C:/Users/sheyu/AppData/Roaming/Sublime Text/Packages/SublimeREPL/config/Python/Main.sublime-menu"} }, ]

使用pdb调试代码的基本命令

  • b:查看所有以及设置的断点。
  • b linenume:在linenum行设置一个断点。
  • cl linenum:删除linenum处的断点。
  • condition linenum cond:当cond满足时linenum行的断点才启用。
  • r:运行到下一处断点(不包括该断点对应行)。如果没有设置断点,就运行到最后一行(不包含最后一行)。
  • unt linenum:运行到linenum行(不包含)或遇到断点。
  • n:运行当前所在行,不进入函数内部。
  • s:运行当前行,进入函数内部。
  • j linenum:跳到linenum行,不执行。
  • p x:查看变量x的取值。

Sublime的Sublime Tmpl插件

SublimeTmpl能新建html、css、javascript、php、python、ruby六种类型的文件模板,所有的文件模板都在插件目录的templates文件夹里,可以自定义编辑文件模板。

Fig2. sublime tmpl的模板文件

修改hosts屏蔽sublime的更新检查

设置"update_check":false是不起作用的,在hosts文件中添加如下语句可以屏蔽更新检查,原理——127.0.0.1 是本地回环地址(指向本机)。将www.sublimetext.com解析到 127.0.0.1 后,当 Sublime Text 尝试访问官网(www.sublimetext.com)检测更新会被重定向到本机。由于本机无响应,这些请求会失败,软件无法完成更新检查。但是这么干会有一个负面作用,就是这台电脑没办法访问sublimetext的主页了。

127.0.0.1 www.sublimetext.com