Sublime 用 completions 自定义多个 snippets 快速编写 Latex

从我旧的github page博客网站搬过来的。。。。。。

作为不是一个学计算机的学生,之前打文档的时候一直不知道可以用代码片段snipperts直接呼出使用,减少代码的出错几率与提高效率。因为要经常打 LaTeX \LaTeX LATEX 数学公式,后来忍无可忍,在网上找了下教程Mitchell,并自己做了一个 completions (completions为一个文件包含多个snippets),使用了一段时间,感觉挺好用的就分享给大家。



首先,先介绍一下基础的单个Snippets的用法。

Snippet

首先在Sublime Text的菜单里 Tools->Developer->New Snippet...创建新的代码片段。点击后,出现以下模板

<snippet>
    <content><![CDATA[
Hello, ${1:this} is a ${2:snippet}.
]]></content>
    <!-- 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>
  • content: Hello, ${1:this} is a ${2:snippet}. 这个是自定义的代码片段,表示将会显示的数据内容。 ${1:this} 这个是 PlaceHolder 占位符,之后会讲
  • tabTrigger: 开启Tab触发,这个里面填写的是触发字符串,当在编辑时,和此内容匹配时,即可用Tab直接呼出content内容来替换当前位置tabTrigger的内容
  • scope: 应用范围,因为我是用markdown来编写博客,所以我用的是text.html.markdown,text.html。 用于python,就是source.python。针对js就是source.js,以此类推

这里是snippet代码片段例子

<snippet>
    <content><![CDATA[
呼出的文字
]]></content>
    <!-- Optional: Set a tabTrigger to define how to trigger the snippet -->
    <tabTrigger>呼</tabTrigger>
    <!-- Optional: Set a scope to limit where the snippet will trigger -->
    <scope>text.html.markdown</scope>
</snippet>

确认无误,我们保存文件即可完成一个代码片段的添加。

代码片段的文件一定要保存为:.sublime-snippet 的后缀,否则无法识别,路径放在:.\Data\Packages\User


Completions

因为像上面这样一个个创建snippet,其实是个很麻烦并且很繁琐的事情,所以为了方便管理使用,Completions提供了个一个文件补全多个__snippets__的效果。

Completions的文件后缀为.sublime-completions,路径放在:.\Data\Packages\User

初始的completions文件是这样的:

{
   "scope": "text.html.markdown,text.html",
 
   "completions":
   [
      { "trigger": "doc", "contents": "'''\n${1:TODO DOC HERE}\n'''" }
   ]
}

这是一个针对markdown文件的completions,当在.md文件中输入doc 之后,按tab ,则可以完成contents插入到当前位置(替换掉已经的输入)。

  • scope: 应用范围,和snippet一样
  • completions: 这里面定义你需要的各种代码片段
  • trigger: 关键字,和snippet的tabTrigger类似,不过要放在""里。
  • contents: 内容模板,就是要替换trigger中的内容,和snippet的tabTrigger类似,不过要放在""里。
  • 如果有特殊字符,记得使用转义. \\\"\"。。。。。。

这里是我自己用的My completions,用来更方便的打 LaTeX \LaTeX LATEX数学公式


PlaceHolder

在snippet或者completions中,content(s)里面是可以使用占位符的,占位符以$开头,可以一般有两种方式:

  1. $+数字:这个占位符的数字从1开始,可以一直递增,也可以重复,如:

    Here is the message from Xiuchuanz.com, My Name is $1:
    Current Time: $2
    message: $3
    —— $1
    

    在插入后,光标会停留在$1的位置(注意,这里有两个地方),当你输入内容的时候,这两个占位符的地方都将同时输入。使用Tab来移动到下一个位置($2的位置)。也许我们想为每个位置提供默认值,这个时候可以使用第二种方式:

  2. ${数字:默认内容}:这个占位符中数字和上种方式一致,如:

    Here is the message from Xiuchuanz.com, My Name is ${1:Xiuchuan}:
    Current Time: ${2:13/04/2019 18:04 UK}
    message: ${3:Welcome Guest}
    —— ${1:Xiuchuan}
    

    这个时候,插入的内容是有默认值的,如果不用改变,直接Tab到下一个位置即可


My completions

这里是我自己用的completions,用来更方便的打 LaTeX \LaTeX LATEX 数学公式

{
    "scope": "text.html.markdown,text.html",

    "completions":
    [
      { "trigger": "\\ve", "contents": "\\lvert $1 \\rvert"},
      { "trigger": "\\Ve", "contents": "\\lVert $1 \\rVert"},
      { "trigger": "\\bra", "contents": "\\lbrace $1 \\rbrace"},

      { "trigger": "\\disp", "contents": "\\displaystyle"},
      { "trigger": "\\fra", "contents": "\\frac{$1}{$2}"},
      { "trigger": "\\dfra", "contents": "\\displaystyle \\frac{$1}{$2}"},
      { "trigger": "\\sum", "contents": "\\displaystyle \\sum_{${1:down}}^{${2:up}}"},
      { "trigger": "\\int", "contents": "\\int_{${1:\\mathbb\\{R\\}^n}}"},
      { "trigger": "\\dint", "contents": "\\displaystyle \\int_{${1:\\mathbb\\{R\\}^n}}"},
      { "trigger": "\\lim", "contents": "\\displaystyle \\lim_{$1}"},

      { "trigger": "\\al", "contents": "\\alpha"},
      { "trigger": "\\be", "contents": "\\beta"},
      { "trigger": "\\de", "contents": "\\delta"},
      { "trigger": "\\ga", "contents": "\\gamma"},
      { "trigger": "\\ep", "contents": "\\epsilon"},
      { "trigger": "\\pa", "contents": "\\partial"},
      { "trigger": "\\da", "contents": "\\dagger"},
      { "trigger": "\\pe", "contents": "\\perp"},
      { "trigger": "\\vp", "contents": "\\varphi"},
      { "trigger": "\\tilde", "contents": "\\widetilde{$1}"},
      { "trigger": "\\hat", "contents": "\\widehat{$1}"},
      { "trigger": "\\bar", "contents": "\\overline{$1}"},

      { "trigger": "\\la", "contents": "\\longleftarrow"},
      { "trigger": "\\ra", "contents": "\\longrightarrow"},
      { "trigger": "\\sl", "contents": "\\backslash"},
      { "trigger": "\\biarrow", "contents": "\\longleftrightarrow"},

      { "trigger": "\\mb", "contents": "\\mathbb{$1}"},
      { "trigger": "\\mc", "contents": "\\mathcal{$1}"},
      { "trigger": "\\mf", "contents": "\\mathfrak{$1}"},
      { "trigger": "\\ms", "contents": "\\mathsf{$1}"},
      { "trigger": "\\mr", "contents": "\\ \\mathrm{$1} \\ "},

      { "trigger": "\\where", "contents": "\\ \\mathrm{where} \\ "},
      { "trigger": "\\with", "contents": "\\ \\mathrm{with} \\ "},
      { "trigger": "\\as", "contents": "\\ \\mathrm{as} \\ "},
      { "trigger": "\\and", "contents": "\\ \\mathrm{and} \\ "},
      { "trigger": "\\fa", "contents": "\\ \\forall \\ "},
      { "trigger": "\\te", "contents": "\\ \\exists \\ "},
      

      { "trigger": "\\cup", "contents": "\\cup_\\{${1:k}=0\\}^\\{${2:\\infty}\\}"},
      { "trigger": "\\cap", "contents": "\\cap_\\{${1:k}=0\\}^\\{${2:\\infty}\\}"},

      { "trigger": "hlink", "contents": "[${1:title}]:<${2:link}> \"${1:title}\""},
      { "trigger": "mdpost", "contents": "---\nlayout: post\ntitle: \"${1:title}\"\ndescription: \"${2:description}\"\ndate: 2019-${3:month}-${4:date}\ntag: ${5:tage}\n---\n"},
      { "trigger": "dlfile", "contents": "<a href=\"/files/${1:文件}\" target=\"_blank\">${1:文件}下载</a>"},
      
    ]
}
### 回答1: Sublime Text 是一款非常流行的文本编辑器,可以帮助开发者快速编写 HTML。以下是一些使用 Sublime Text 编写 HTML 的技巧: 1. 使用 Emmet 插件:Emmet 是一款能够快速编写 HTML 和 CSS 的插件,可以大大提高编写效率。在 Sublime Text 中安装 Emmet 插件后,只需要输入简单的缩写,就可以快速生成 HTML 代码。 2. 使用代码片段:Sublime Text 中内置了许多代码片段,可以帮助开发者快速编写 HTML。只需要输入片段的名称,然后按下 Tab 键,就可以快速生成代码。 3. 使用自动补全功能:Sublime Text 中的自动补全功能可以帮助开发者快速输入 HTML 标签和属性。只需要输入标签或属性的首字母,然后按下 Tab 键,就可以快速生成代码。 4. 使用多行编辑功能:Sublime Text 中的多行编辑功能可以帮助开发者同时编辑多行代码。只需要按下 Ctrl + Shift + L 键,就可以选中所有相同的文本,然后进行编辑。 总之,Sublime Text 是一款非常强大的文本编辑器,可以帮助开发者快速编写 HTML 代码。 ### 回答2: Sublime Text是一款非常流行的文本编辑器,其具有强大的插件和编辑功能,使得快速编写HTML变得更加简单和高效。以下是使用Sublime Text快速编写HTML的指南: 1. 安装Sublime Text和插件 首先,需要从Sublime Text官网下载并安装Sublime Text编辑器。然后在插件管理器中安装HTML的插件,例如Emmet、HTML-CSS-JS Prettify等,这些插件可以帮助您快速编写、格式化和更新HTML代码。 2. 利用快捷键和自动补全功能 Sublime Text拥有许多快捷键和自动补全功能,可以帮助您更快地编写HTML代码。例如,当您输入HTML标签时,Sublime Text会自动弹出建议框,您只需按下Tab键即可快速插入标签。此外,您还可以使用快捷键来添加标签、注释和属性,以及快速更改代码。 3. 重复使用代码片段和模板 Sublime Text还提供了代码片段和模板功能,可以大大加快HTML编写速度。您可以在Sublime Text中创建自己的代码片段和模板,然后重复使用它们来快速创建HTML代码。 4. 使用LiveReload插件 LiveReload是一种自动刷新浏览器的插件,可以减少您在编辑和测试HTML页面时的重复操作。 它可以检测您的HTML页面,并在保存更改时自动重新加载页面,从而减少了反复刷新浏览器的时间。 总结起来,Sublime Text可以帮助您快速编写HTML,减少了许多繁琐的操作和时间浪费。使用它的插件、快捷键和自动化功能,您可以轻松地编写高效的HTML代码。 ### 回答3: Sublime Text是一款非常流行的文本编辑器,可以在Windows、Mac和Linux上运行。它是专为代码编写而设计的,拥有灵活的插件和主题系统。 Sublime Text的快速编写HTML功能非常强大,可以让程序员更快地编写HTML代码。以下是一些Sublime Text的快速编写HTML功能: 1. 快速输入标签名:在输入标签名时,当您输入“<”,Sublime Text会自动弹出可能的标签名列表。您只需输入标签的首字母或几个字母,并使用前/向上箭头键浏览并按Tab键进行选择。 2. 快速生成HTML结构:如果您想快速生成HTML结构,只需输入“html:5”,这将快速生成HTML骨架,并在文档中添加必要的元素。 3. 快速输入属性名和属性值:Sublime Text允许您快速输入属性名和属性值,并自动保存您输入过的值。当您输入属性值时,Sublime Text会弹出一个列表,其中包含您以前输入过的值。 4. 快速注释代码:在选择代码并按下Ctrl+/(在Windows和Linux上),或Command+/(在Mac上),Sublime Text将自动添加注释标记。 5. 代码折叠:Sublime Text允许您折叠大段的HTML代码,使其变得更易于管理。您只需选择您想要折叠的代码,并按下Ctrl+Shift+I(在Windows和Linux上)或Command+Option+I(在Mac上)即可。 总之,Sublime Text是编写HTML代码的强大工具。这些快速编写HTML的功能可以节省开发人员的时间,使他们更专注于代码编写
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值