EverEdit中文文档
  • README
  • 代码片段
  • 脚本
  • 模式
  • 命令行参数
  • 语法着色
  • Web形式插件
  • 命令窗口
  • 常见问题
由 GitBook 提供支持
在本页
  • 什么是代码片段
  • 格式
  • 代码片段的使用
  • 变量定义
  • 变量引用
  • 变量间跳转
  • 最后光标位置
  • 引用被选择的文本
  • 使用代码片段管理器
  • 定义说明
  • 关联到语法文件
  • 预定义变量

这有帮助吗?

代码片段

什么是代码片段

代码片段又叫文本片段,它是指一小段经常使用的文本的集合。比如可以把经常使用的注释信息、函数的头部说明信息、还有一些反复的编程语句等。通常的来说,代码片段都比较的小,你不应该把一个巨大的文本定义为片段。因性能考虑,EverEdit对每个代码片段的大小限定为2000个字符(因转义处理,实际输入的字符可能会略小于2000)。

格式

文本片段有一定格式,按照该格式存储的文本,在插入到文档的时候会做出一些特殊的动作。当然您也可以不使用任何格式,就把它当成一个普通的文本管理器。典型的文本片段如下:

for (${1:unsigned int} ${2:i} = ${3:0}; $2 ${4:<} ${5:count}; $2${6:++}) {
    $0
}

代码片段的使用

在文本片段中,有几个概念:

  • 变量定义

  • 变量引用

  • 变量间跳转

  • 最后光标位置

变量定义

变量的定义非常简单,比如:${1:myvar}。其中数字1表示该变量的序号,在EverEdit中最多支持9个变量1-9,而0则指示着最后一次光标定位的位置。

注意:变量最好按照大小顺序定义。变量不支持嵌套,也就是说变量里面不可以定义变量。比如不支持下面的格式:${1:data ${2:text}}

变量引用

变量定义完之后,如需引用的话,可以使用美元符号后接数字的方式使用,比如$1。在可以识别$的场合,比如变量定义和引用时,如需对$进行转义的话,可以连续输入两个$$;在不可识别的场合,可以随便使用$字符。错误的变量使用和格式将会导致该片段不可跳转。

变量间跳转

在EverEdit中,非常方便的一点是如果定义了多个变量的话,在展开文本片段之后,可以使用Tab跳转到下一个定义,Shift+Tab定义到上一个定义。这是代码片段一个重要特性,不支持该特性的编辑器不能称之为支持代码片段。

最后光标位置

上文提到EverEdit最多只支持9个变量定义,$0被用于最后一次的光标位置。对$0定义没有任何作用!当用户修改完1-9的变了之后,再一次按Tab,光标将会移动到该位置。

引用被选择的文本

有时候想直接在代码管理器点击,插入snippet或者通过脚本菜单生成的snippet来进行操作的时候,EverEdit支持${SELECTED},对普通选区文本进行操作,所有snippet中的${SELECTED}都会被替换为选区的文本。比如HTML中的:${SELECTED}

使用代码片段管理器

EverEdit为大家提供了方便使用的代码片段管理器。可以通过 主菜单→查看→文本片段可以激活片段管理器。它会自动的读取snippet目录下所有的后缀为snippet的文件,并以列表的方式呈现出来。在管理器中您可以新建、修改、删除任何片段。在EverEdit中修改代码片段的样例:

@名称:For loop
@触发文本:for
@文本片段:请在下一行开始输入内容!
for (${1:unsigned int} ${2:i} = ${3:0}; $2 ${4:<} ${5:count}; $2${6:++}) {
	$0
}

注意:如果语法文件已经加载代码片段的话,那么该代码片段会自动刷新到对应的语法文件中!

定义说明

@名称:表示该片段呈现在管理器以及自动完成下拉列表中的名称

@触发文本:当输入tab的时候,符合这几个字符的时候则触发。除此之外,自动完成下拉列表也会使用它进行匹配。

@文本片段:该行文本仅是提示用,无实际意义。从第四行开始定义您的代码片段。

关联到语法文件

如果新定义一个snippet文件的话,那么它仅仅会出现在文本片段管理器中,而不会自动的出现在某种语法文件的下拉列表中。因为语法文件并不会如此聪明的知道您要加载哪个snippet。如果想让它自动出现的话,需要手工修改语法文件(比如java.mac),添加如下代码到指定的Region:

java.AddSnippet "my.snippet"

预定义变量

代码片段支持几个预定义变量:

${SELECTED}: 当展开的时候,会用选区替换
${CLIPBOARD}: 展开的时候,会用剪贴板替换
上一页README下一页脚本

最后更新于2年前

这有帮助吗?