Sublime Text 2 代码片断

原文:Snippets

不管是在编码,还是写畅销书,你都可能会需要一遍又一遍的用到一些文本的小片断。使用片断来结束这种单调无聊的码字吧,片断是一种智能的模板,它能在合适的上下文中插入你需要的文本内容。

创建一个新的片断,选择 Tools | New Snippet... Sublime Text 将为你生成一个片断的基本的骨架。

片断可以保存在任何的包文件夹中,但为了简单起见,你可以保存在 Packages/User 文件夹下。

格式

通常的片断存在于某一个 Sublime Text 的包中。它们是一些以
sublime-snippet 为扩展名的简单的 XML 文件。举例来说,你可以在 Email 包下面创建一个 greeting.sublime-snippet
的片断。

典型的版本的结构如下(包含默认提示):


1 <snippet>
2 <content><![CDATA[Type your snippet here]]></content>
3 <!-- Optional: Tab trigger to activate the snippet -->
4 <tabTrigger>xyzzy</tabTrigger>
5 <!-- Optional: Scope the tab trigger will be active in -->
6 <scope>source.python</scope>
7 <!-- Optional: Description to show in the menu -->
8 <description>My Fancy Snippet</description>
9 </snippet>

snippet 中包含了所有 Sublime Text 需要的信息,插入什么、是否插入、何时插入。

content

实际插入的内容,代码片断可以从简单到非常复杂,接下来的例子我们会看到。

在创建自定义的代码片断的时候,需要注意以下:

* 如果想得到字符 $ ,必须进行转义:\$

* 如果片断中包含缩进,统一使用 tab。插入片断的时候,如果 translateTabsToSpaces 选项打开,会自动将 tab 转换成
space

文本内容必须包含在 <![CDTAT[...]]> 中,否则将失效。

tabTrigger

定义了一个触发插入片断的字符序列,当输入该序列后,按下 tab 键将插入片断。

tab 是隐含的绑定,不需要特意指定。

scope

定义了该片断的作用域,也就是只有在指定的扩展名的文件里面才会生效。更多信息请戳:Scopes

description

将会显示在片断的上下文菜单中,如果留空,将默认显示该片断的文件名。

通过以上内容,已经可以开始写一个自己的代码片断了。

特性


环境变量

片断可以从环境变量中访问上下文件信息。Sublime Text 会自动给以下列出来的变量赋值。

当然你也可以进行扩展,加入自己的变量。自定义的变量需要定义在 .sublime-options 文件中。






































$PARAM1, $PARAM2… 传给 insert_snippet 命令的参数
$SELECTION 片断触发后将被选中 
$TM_CURRENT_LINE 片断触发后光标所在行的内容
$TM_CURRENT_WORD 片断触发后光标所在单词 
$TM_FILENAME 文件名(包含扩展名)
$TM_FILEPATH 文件路径
$TM_FULLNAME 电脑用户名
$TM_LINE_INDEX 片断触发时光标所在的列,从0算起
$TM_LINE_NUMBER 片断触发时光标所在的行,从1算起
$TM_SELECTED_TEXT 同 $SELECTION
$TM_SOFT_TABS 如果 translate_tabs_to_spaces 为 true 时 YES,否则 NO
$TM_TAB_SIZE 每个 tab 需要的 space 数量,由 tab_size 控制

看几个使用了变量的片断例子:


====================================
USER NAME: $TM_FULLNAME
FILE NAME: $TM_FILENAME
TAB SIZE: $TM_TAB_SIZE
SOFT TABS: $TM_SOFT_TABS
====================================

# Output:
====================================
USER NAME: guillermo
FILE NAME: test.txt
TAB SIZE: 4
SOFT TABS: YES
====================================

字段


在字段的标记下,你可以通过按 tab 键依次的在代码片断中跳转位置。字段的作用就是当你插入片断的时候帮助你完成个性化的设置。

First Name: $1
Second Name: $2
Address: $3

以上的例子中,当你按下 tab 后光标会跳到 $1 的位置。当第二次按 tab,将跳转到 $2,依此类推。当然,你也可以按 shift+tab
来返回上一个位置。如果在按完最高的那个 tab 之后再按 tab,Sublime Text
将把光标定位到片断内容的最后,这样你就可以进入普通的编辑模式了。

如果你想控制最后的定位点的位置,使用 $0 来标记。

可以在任何时间,通过按 Esc 退出字段的循环。

镜像字段

相同的字段将互相标记为镜像字段:当你编辑第一个的时候,剩下的地方将被填充同样的内容,也就是在相同的字段的位置都会出现光标,所以接下来的输入对所有字段位置都有效。

First Name: $1
Second Name: $2
Address: $3
User name: $1

在这个例子中,“User name” 后面的位置将被填充为和 “First Name” 后面位置一样的值。

占位符

稍微扩展一下字段的语法,你就可以为一个字段定义一个默认值。当你的有一个比较通用的代码片断,但同时你又想很方便的自定义的时候,占位符就非常有用。

First Name: ${1:Guillermo}
Second Name: ${2:López}
Address: ${3:Main Street 1234}
User name: $1

变量也可以用作占位符:

First Name: ${1:Guillermo}
Second Name: ${2:López}
Address: ${3:Main Street 1234}
User name: ${4:$TM_FULLNAME}

还可以嵌套占位符:

Test: ${1:Nested ${2:Placeholder}}

替换

除占位的语法外,还可以通过替换来执行更复杂的操作。使用替换来动态的生成文本。

替换的语法如下:

${var_name/regex/format_string/}
${var_name/regex/format_string/options}

var_name

  变量名:1,2,3...

regex

  Perl 风格的正则表达式。更多请戳:Boost
library reference for regular expressions

format_string

  戳上面那个链接

options

  可选的。可以是以下的任意一种:i 不区分大小写、g 替换全局、m 匹配多行

通过替换功能,以下例子中,轻松的得到下划线:


      Original: ${1:Hey, Joe!}
Transformation: ${1/./=/g}

# Output:

Original: Hey, Joe!
Transformation: =========

Sublime Text 2 代码片断

时间: 2024-07-29 04:31:57

Sublime Text 2 代码片断的相关文章

神器-Sublime Text 3 代码编辑器安装与使用

一.软件获取 1.软件下载地址:http://www.sublimetext.com/3. 2.注册机和汉化下载:http://files.cnblogs.com/files/1312mn/sublime_text_3.zip. 二.Sublime Text 3 安装 1.下载适合自己机器的版本Sublime Text3软件进行安装,安装完成如下图所示: 2.安装插件管理器(Package Control) 点击菜单栏上的view(查看)——>show console(显示控制台) 菜单,然后在

Sublime Text Snippets(代码片段)

我们在编写代码的时候,总会遇到一些需要反复使用的代码片段.这时候就需要反复的复制和黏贴,大大影响效率.我们利用Sublime Text的snippet功能,就能很好的解决这一问题.通俗的讲,就是把我们常用的代码分别保存起来,然后通过插件的形式来反复调用. 创建方法:Tools > Developer > New Snippet. 这是你会看到如下示例代码: 1 <snippet> 2 <content><![CDATA[ 3 Hello, ${1:this} is

Sublime Text 格式化代码快捷键

首选项->按键绑定-用户 加入代码: {"keys": ["ctrl+alt+j"], "command": "reindent"} 保存后关闭当前页,回到html代码   代码全选,Ctrl+Alt+J

Sublime Text 3 代码格式化插件推荐 CodeFormatter

CodeFormatter CodeFormatter has support for the following languages: * PHP - By PHP_Beautifier* JavaScript/JSON - By JSBeautifier* HTML - By JSBeautifier* CSS - By JSBeautifier* Python - By PythonTidy (only ST2) 支持,php,js,html,css 默认快捷键 ctrl+shift+f;

sublime text下代码太长brackethighlighter不能正确显示闭合高亮的解决方法

用brackethighlighter显示高亮一直都有这个问题...也没在网上找到解决方案,就一直凑合着用,今天翻着配置文件玩,改了参数发现问题解决了...... 修改search_threshold的值既可以~,改大了就好了

用Sublime Text 3的HTML-CSS-JS Prettify(需安装node.js)插件格式化代码

用Sublime Text 3的HTML-CSS-JS Prettify(需安装node.js)插件格式化代码 用 Sublime Text 格式化代码(安装 HTML-CSS-JS Prettify 插件)时,格式化时却会提示(默认路径未找到Node.js) 下载安装到Node.js 官网下载 32位版本(据说win x64版有问题)安装. 确认Node.js安装路径鼠标右键HTML/CSS/JS Prettify > Set Plugin Options保证插件路径与Node.js安装路径一

Sublime Text 全程指南

安装(Installation) Sublime Text 官方网站 提供了Sublime Text各系统各版本的下载,目前Sublime Text的最新版本是 Sublime Text 3 .这里以Windows版本的Sublime Text安装为例. 注意在安装时勾选 Add to explorer context menu ,这样在右键单击文件时就可以直接使用Sublime Text打开. 添加Sublime Text到环境变量 使用 Win + R 运行 sysdm.cpl 打开"系统属

Sublime Text 教程

编辑器的选择(Editor Choices) 从初学编程到现在,我用过的编辑器有EditPlus.UltraEdit.Notepad++.Vim.TextMate和Sublime Text,如果让我从中推荐,我会毫不犹豫的推荐Vim和Sublime Text,原因有下面几点: 跨平台:Vim和Sublime Text均为跨平台编辑器(在Linux.OS X和Windows下均可使用).作为一个程序员,切换系统是常有的事情,为了减少重复学习,使用一个跨平台的编辑器是很有必要的. 可扩展:Vim和S

解决openSUSE中Sublime Text 3的中文显示和输入问题

测试环境 系统版本:openSUSE Leap 42.2 桌面环境:KDE Plasma 5输入法:fcitx-rime (中州韵) 见周围用Windows和macOS的小伙伴几乎都在用简单强大的Sublime Text敲代码,唯有长期泡在Linux环境的自己一直把Vim当主力(长时间在终端里折腾,GUI环境也用Atom和Emacs),略好奇Linux版本的Sublime Text体验会怎么样.各种原因没有打算试用中文版,于是安装了官网的Sublime Text 3,没想到很快就发现了两个问题.