我平时typing/coding的时候非常爱使用快捷键操作和文本补全,使用快捷键真的是可以非常顺滑的生产内容增加我的效率并且让我非常的舒服。
平时我最近一直在使用vscode作为我的markdown编辑器,那么当然啦在写md的时候我也是爆用快捷键和文本补全。目前的话,我环境中提供快捷键操作的插件是Markdown Shortcuts。
事情的起因是我在之前做微机原理笔记的时候,涉及到要写入数学公式。二我在写公式的时候遇到了一个蛋疼的问题,就是我们在想高亮加粗,打斜文本,或者说是想把文本用一个括号括起来的时候,我一直是习惯先把文本打出来,按住shift+ctrl+左方向键把文本框选住, 然后就比如说点击shift+左括号, vscode就可以自动的把文本用括号框起来了,非常丝滑,也一直非常的让我满意, 但是当我想打数学符号和数学表达式的时候, 很可恶的是我就没办法用这种丝滑的方式自动的补全$$美刀符号了。
因为平时打括号,把文本高亮都是这么写的,到写公式的时候就不得了,这让我非常的生气。
同时当我想打一些相对更加复杂的公式的时候,我需要使用begin-case语句。比如说我想要公式对齐,像这个存储器访问效率,我想做一个公式换行的效果,我就需要在其中加上aligned模块来进行声明:
$$
\begin{aligned}
e & = \frac{T_1}{H \cdot T_1 + (1-H) \cdot T_2} \\
& = \frac{1}{H + (1-H) \cdot \frac{T_2}{T_1}}
\end{aligned}
$$
它的效果在编译出来之后是这样的:
e
=
T
1
H
⋅
T
1
+
(
1
−
H
)
⋅
T
2
=
1
H
+
(
1
−
H
)
⋅
T
2
T
1
\begin{aligned} e & = \frac{T_1}{H \cdot T_1 + (1-H) \cdot T_2} \\ & = \frac{1}{H + (1-H) \cdot \frac{T_2}{T_1}} \end{aligned}
e=H⋅T1+(1−H)⋅T2T1=H+(1−H)⋅T1T21
还有下面这个大括号的效果:
内存 i n t e r n a l s t o r a g e { 随机存取存储器 R A M 只读存储器 R O M 内存~internal~storage \begin{cases} 随机存取存储器~RAM \\ 只读存储器~ROM \end{cases} 内存 internal storage{随机存取存储器 RAM只读存储器 ROM
我要想实现就要要用到cases模块。
$$
内存~internal~storage \begin{cases}
随机存取存储器~RAM \\
只读存储器~ROM
\end{cases}
$$
我写的时候,只能用手一个个begin,end的敲,这更加没效率了。
我就在想 我能不能自己设置相应的shortcut快捷键或者快捷指令来简洁明了顺滑的typing 。在经过一番调查之后,我发现可以通过 VS Code 的用户设置为 Markdown 添加片段(Snippets):
我们在VSCODE中打开命令面板 (Ctrl+Shift+P)。
输入snippets : configure snippets
(也有说Preferences: Configure User Snippets的,但我这边是这个)
按回车,会出现这个界面,这里我之前有打开过markdown.json,所以在这里有记录能直接访问
当然, 在第一次进入这里的时候是前两行的访问记录咱们是看不到的。
我们直接在文本框中输入markdown
,出现的第一个json文件就是我们要点开的,这里直接回车
这样我们就进入markdown.json了
在这个json文件中就可以自由的添加我们想要的自定义补全语法片段啦。json文件中也已经给出了我们它的示例格式,翻译一下是这样:
Snippet 结构说明
prefix
: 触发该片段的关键字。body
: 插入的内容,可以是多行数组或单行字符串。- Tab Stops:
$1
,$2
, …:表示光标跳转的位置。$0
:最终光标停止的位置。
- 占位符:
${1:默认值}
:占位符,光标跳转后可以直接编辑默认值。- 相同编号的占位符是同步的。
description
: 描述片段的用途,显示在
IntelliSense 提示中。
比如,我想要快速的自动生成要给带对齐模块的数学公式模块,我就在markdown.json
中添加(记得每个添加项间加逗号,最后一项不用添加):
文本:
"Insert Equation Block with Alined" : {
"prefix": "`eq-a",
"body": [
"$$",
"\\begin{aligned}",
"$1",
"\\end{aligned}",
"$$",
"$2"
],
"description": "Insert Equation Block with Alined"
}
然后保存markd.json,重启vscode(因为修改了json配置文件),就能愉快的使用咯~
输入 `e
选第二个,按回车自动补全文本~
然后打完内容了再按一次回车 -> 光标跳转到$2
处。
bingo~~~