前言
在下面这个链接中,小哥使用 Vim 中的UltiSnips定义了一系列快捷操作。
但其实在Vscode中也能做到类似的效果,参考这个知乎文章
这里我们安装 HyperSnips for Math 插件,然后在 OrangeX4’s hsnips 的基础上修改一下。
以下为我的配准文件,需要自行修改后缀。
markdown.txt
自定义snips
Hat Operation
snippet `([a-zA-Z])(bar)` "bar" iAm \overline{``rv = m[1]``} endsnippet
比如我们要输入 \overline{z},只需输入zbar即可。
通过后缀关键词触发自动补全指令。
| 指令 | 触发关键词 |
|---|---|
| tilde | htd |
| overline | bar |
| hat | hat |
| dot | hdot |
| ddot | hddot |
分数
snippet // "Fraction" iAm \\frac{${1:${VISUAL}}}{$2}$0 endsnippet

转置
通过TT 触发
priority 10000 snippet TT "Transpose" iAm ^{\mathrm{T}}$0 endsnippet
下标
snippet `([A-Za-z])(\d)` "auto subscript" iAm `` rv = m[1] + "_" + m[2]`` endsnippet priority 100 snippet `([A-Za-z])_(\d{2})` "auto subscript2" iAm `` rv = m[1] + "_{" + m[2] + "$1}$0" `` endsnippet
直接输入 A12 即可自动补全为 A_{12}
自动加粗
snippet `([a-zA-Z]|\d)bb` "bold math" iAm `` if (/[A-Z]/.test(m[1])) rv = "\\mathbf{" + m[1] + "}" else rv = "\\bm{" + m[1] + "}" `` endsnippet
自动匹配字母和数字,一般来说,通过小写的加粗斜体表示向量,大写的加粗直立体表示矩阵。这里我们通过自动识别字母的大小写来判断使用什么指令。
比如当我们输入 Abb 时变成 \mathbf{A},输入 abb 时变成 \bm{a}。
智能符号
| 触发关键词 | 指令 |
|---|---|
| oo | \infty |
| … | \cdots |
| xx | \times |
| -> | \to |
| !> | \mapsto |
| => | \implies |
| >= | \ge |
| <= | \le |
| != | \neq |
| == | \equiv |
| ~~ | \approx |
| @) | \left( ${1} \right) |
| @} | \left\\{ ${1} \right\\} |
| @> | \left<${1} \right> |
| norm | \left\| ${1} \right\|_{$2} |
常用片段
| 触发关键词 | 结果 |
|---|---|
| Case | ![]() |
| Ali | ![]() |
| comma | ![]() |
| plus | ![]() |
| i=n | ![]() |
| sumeq | ![]() |
| inteq | ![]() |
矩阵

直接输入 bmat 即可生成一个标准矩阵。

输入 matsub 可生成如图的子矩阵。

输入 matdiv 可生成雅可比矩阵

输入 mat@34 或 mata@34 可生成对应尺寸的矩阵,mata表示可同时修改矩阵中的所有元素。







