当前位置: 首页 > article >正文

【工欲善其事】巧用 Sublime Text 生成带格式的 HTML 片段

文章目录

  • 【工欲善其事】巧用 Sublime Text 生成带格式的 HTML 片段
    • 1 问题由来
    • 2 操作流程
      • 步骤1:打开代码片段定制页
      • 步骤2:在新标签页输入定制 XML
      • 步骤3:保存定义内容
      • 步骤4:功能测试
    • 3 拓展

【工欲善其事】巧用 Sublime Text 生成带格式的 HTML 片段


1 问题由来

Markdown 文档编辑神器 Typora

【图 1 Markdown 文档编辑神器 Typora】

用惯了 Typora 这类专门写 Markdown 文章的软件后,偶尔遇到一些不方便处理的 HTML 标记就显得很不流畅。比如给某个按键添加 <kbd></kbd> 标签,Typora 里就没有对应的快捷键。通常我都是用行内的代码块来替代(快捷键:Ctrl + Shift + `),比如按下 Ctrl 键,就表示成 Ctrl,而不是通过手动添加 <kbd> 标签变成 Ctrl

但最近刚好就碰到需要大量输入这样的按键格式的场景。因为我想把 Vim 的操作技巧再整理整理,以前落下的笔记顺便完善完善。结果里面就有大量按键组合需要输入。如果都做成代码块的格式倒也不是不行,可转念一想,自己天天写博客都在提醒大家注意文档的语义化,写的时候虽然麻烦些,但后面这类高质量内容就可以很方便地用于其他场合,比如屏幕阅读工具、NLP 语料库的数据训练等等,所以还是写成 <kbd> 标签更合适。

那么,有没有什么方法可以加速这个格式化过程呢?

我想到了 Sublime Text 提供的自定义代码片段(Snippets)功能。

2 操作流程

根据 Sublime Text 的官方文档,定制代码片段成功后,只需要在某个语法环境里(比如默认的纯文本环境,即 plain text)输入一串快捷字符(如小写英文字母 k),然后按下 Tab 键,编辑器就能快速生成 <kbd></kbd>,并且光标还能自动定位到标签之间。这样,只需输入我想要文本内容,再全选、剪切、粘贴——就大功告成了!

具体步骤如下:

步骤1:打开代码片段定制页

位置:Tools | Developer | New Snippet...

步骤 1 截图

【图 2 打开代码片段定制页】

步骤2:在新标签页输入定制 XML

内容如下:

<snippet>
	<content><![CDATA[<kbd>${1:Your Key}</kbd>]]></content>
	<!-- Optional: Set a tabTrigger to define how to trigger the snippet -->
	<tabTrigger>k</tabTrigger>
	<!-- Optional: Set a scope to limit where the snippet will trigger -->
	<scope>text.plain</scope>
    <description>自动生成按键元素 &lt;kbd>&lt;/kbd>,并让光标定位到开闭标签之间</description>
</snippet>

除了默认打开时的纯文本环境(text.plain),常见的语法环境对应的 <scope> 节点的取值如下:

语法环境scope 取值
JavaScriptsource.js
HTMLsource.html
CSSsource.css
Javasource.java
Csource.c
C++source.cpp
PHPsource.php
Rubysource.ruby
Gosource.go
Shell 脚本source.shell
基础 HTMLtext.html.basic
JSONsource.json
XMLtext.xml

步骤3:保存定义内容

步骤2 中定义的内容会以文件形式默认保存到 Sublime Text 数据目录下的 User 包(Package)里面,格式为:<CUSTOM_SNIPPET_NAME>.sublime-snippet,比如我这个片段,就命名为:keyboard_tag_pair.sublime-snippet

图 3 保存定义内容

【图 3 保存定义内容】

如果没有自动定位到这里也无妨,用这段 PowerShell 脚本查看即可:

echo $env:APPDATA

再不行,就用最原始的方式:在 Sublime Text 图标上右键,选择打开文件所在的位置:

图 4 从应用图标反向查找 Sublime Text 安装路径

【图 4 从应用图标反向查找 Sublime Text 安装路径】

再次强调,新增的这个片段文件,它的扩展名一定得是 *.sublime-snippet 形式,否则编辑器无法正确识别!!!

一定得是 *.sublime-snippet 形式!!!
一定得是 *.sublime-snippet 形式!!!
一定得是 *.sublime-snippet 形式!!!

重要的事情说三遍。

步骤4:功能测试

由于该片段在纯文本环境生效(定义作用域时写的 <scope>text.plain</scope>),因此只需打开一个空白标签,输入小写英文字母 k,然后按下 Tab 键,应该就会看到下面的效果:

自动生成的 HTML 代码片段测试效果

【图 5 自动生成的 HTML 代码片段测试效果】

然后输入 Ctrl,就变成了:

图 6 直接输入中间的文字内容

【图 6 直接输入中间的文字内容】

这时再全选、剪切(或复制),就可以粘贴到 Typora 生成按键效果的字符内容了!

3 拓展

既然可以自定义 <kbd></kbd> 这样的 HTML 标记内容,发表博文时自定义的一些 HTML 片段也可以用它来生成。

如果需要多个占位符(如上面的 Your Key 提示信息),可以使用 ${2:placeholder2}${3:placeholder3} 这样的格式指定占位符出现的具体位置;调用时通过 Tab 键能可以实现按指定的序号依次选中每个需要手动输入的地方。最后再全选复制出来,就都搞定了。

要是定义片段的时间过于久远,或者不知道当前这台电脑定义了那些可用的片段,可以通过这行 PowerShell 脚本查看:

ls $env:APPDATA/"Sublime Text"/packages/User/*.sublime-snippet

这里的 $env:APPDATA/"Sublime Text" 就是当前电脑 Sublime Text 的安装路径。

最后的最后,再介绍一个快速浏览自定义代码片段的操作:使用快捷键 Ctrl + Shift + P 弹出命令条,输入 snippet: 就能看到已经定义好的代码片段:

图 7 通过快捷命令栏快速浏览可用的自定义代码片段

【图 7 通过快捷命令栏快速浏览可用的自定义代码片段】

更多配置详情,可以参考 Sublime Text 的官方文档:https://www.sublimetext.com/docs/completions.html#snippets。


http://www.kler.cn/news/326613.html

相关文章:

  • node.js从入门到快速开发一个简易的web服务器
  • uniapp view设置当前view之外的点击事件
  • vue 项目中的配置文件(.env)的用法
  • Java-IO模型
  • HTML5实现唐朝服饰网站模板源码
  • Go函数式编程与闭包
  • ubuntu22安装AI环境
  • 详解Python的装饰器
  • 汽车一键启动开关
  • 分糖果C++
  • OpenEuler虚拟机安装保姆级教程 | 附可视化界面
  • Linux常用操作练习题:
  • 【RabbitMQ 项目】前置技术:含同步操作的线程池——C++11<future>使用
  • 使用dockerfile来构建一个包含Jdk17的centos7镜像(构建镜像:centos7-jdk17)
  • Temporal Dynamic Quantization for Diffusion Models阅读
  • Spring中如何为静态变量注入值
  • 虚拟环境默认安装到C盘的修改办法
  • rust一些通用编程的概念
  • 在 Vue 中使用 ECharts:解决 Dialog 中 Tooltip 不显示的问题
  • Webshell分类
  • STM32DMA学习日记
  • 基于基于微信小程序的社区订餐系统
  • 软件测试|数据库常见面试题
  • Java常用三类定时器快速入手指南
  • 音视频整体解码流程和同步流程
  • 单节点集群数据写入测试
  • ESXI识别USB设备
  • 【min25筛】【CF2020F】Count Leaves
  • 【优选算法】(第五篇)
  • RabbitMQ 队列之战:Classic 和 Quorum 的性能洞察