如何在Sublime Text 2中实现$$$+TAB自定义替换及LaTeX自动补全配置
在Sublime Text 2中实现LaTeX自定义补全的方案
当然可以实现你想要的功能!我来一步步给你讲清楚怎么操作:
1. 让$$$ + TAB触发自定义环境
完全没问题,你可以通过自定义代码片段来实现:
- 打开Sublime Text 2,点击顶部菜单栏的
Tools -> New Snippet - 把默认的模板内容替换成下面这段:
<snippet> <content><![CDATA[ \begin{myenvironment} $0 \end{myenvironment} ]]></content> <tabTrigger>$$$</tabTrigger> <scope>text.tex.latex</scope> <description>插入自定义myenvironment环境</description> </snippet>
简单解释下:
<content>里的就是你要插入的代码,$0是触发补全后光标最终停留的位置;<tabTrigger>设置的就是触发字符,这里填$$$,按下TAB就会触发;<scope>限定了这个代码片段只在LaTeX文件中生效,避免在其他类型文件里误触发。- 保存文件时,命名为
MyEnv.sublime-snippet(后缀必须是.sublime-snippet),保存路径选Packages/User/(可以通过Preferences -> Browse Packages快速打开这个文件夹)。
2. 现成的LaTeX自动补全插件
Sublime Text 2有不少成熟的LaTeX补全插件,推荐几个常用的:
- LaTeXTools:这是最主流的LaTeX插件之一,自带大量标准LaTeX命令、环境的自动补全,还集成了编译、预览、正向/反向搜索等全套功能,非常适合日常LaTeX写作。
- LaTeX-cwl:基于cwl格式文件提供补全,覆盖了很多常用宏包的命令,能补全一些LaTeXTools没包含的小众命令。
- SublimeLaTeX:另一个老牌LaTeX插件,同样提供丰富的自动补全,不过功能相对LaTeXTools稍弱一些。
你可以通过Package Control安装这些插件(如果还没装Package Control,按`Ctrl+``打开控制台,粘贴官方安装代码即可)。
3. 需要编辑哪些配置文件?
- 自定义代码片段:刚才创建的
.sublime-snippet文件就保存在Packages/User/目录下,你可以随时修改这个文件调整补全内容。 - 集中管理补全条目:如果想把多个自定义补全放在同一个文件里,可以在
Packages/User/下创建LaTeX.sublime-completions文件,格式如下:
{ "scope": "text.tex.latex", "completions": [ { "trigger": "$$$", "contents": "\\begin{myenvironment}\n\t$0\n\\end{myenvironment}" }, { "trigger": "mycmd", "contents": "\\mycustomcommand{$1}" } ] }
- 插件配置:如果用LaTeXTools这类插件,想要修改它的补全行为,可以编辑
Packages/User/LaTeXTools.sublime-settings(不要直接修改插件目录下的默认配置,避免插件更新丢失自定义),在里面添加或修改补全相关的设置项。 - 全局补全设置:调整全局的补全触发逻辑(比如延迟时间、是否显示补全提示),可以打开
Preferences -> Settings - User,添加对应的配置参数。
内容的提问来源于stack exchange,提问作者Basj
相关产品推荐
相关产品推荐

